Execution counts for Tier 1 instructions.
The "miss ratio" column shows the percentage of times the instruction executed that it deoptimized. When this happens, the base unspecialized instruction is not counted.
| Name | Base Count | Head Count | Change |
|---|---|---|---|
| BINARY_OP_EXTEND | 158,167,777 | 265,830,900 | 68.1% |
| BINARY_OP | 942,904,456 | 840,530,136 | -10.9% |
| UNARY_INVERT | 11,046,235 | 11,759,630 | 6.5% |
| LOAD_FAST_CHECK | 4,555,710 | 4,793,491 | 5.2% |
| LOAD_SPECIAL | 13,622,662 | 14,256,820 | 4.7% |
| IMPORT_FROM | 8,981,990 | 9,139,149 | 1.7% |
| IMPORT_NAME | 9,600,941 | 9,758,324 | 1.6% |
| LOAD_SUPER_ATTR_METHOD | 60,666,132 | 61,538,029 | 1.4% |
| CALL_BOUND_METHOD_GENERAL | 7,714,479 | 7,793,800 | 1.0% |
| TO_BOOL_INT | 258,863,833 | 261,208,174 | 0.9% |
| CALL_KW_BOUND_METHOD | 1,781,078 | 1,769,076 | -0.7% |
| TO_BOOL_LIST | 93,639,145 | 94,045,432 | 0.4% |
| LOAD_ATTR_PROPERTY | 72,999,638 | 73,315,644 | 0.4% |
| LOAD_ATTR | 853,491,249 | 856,840,353 | 0.4% |
| CALL_PY_GENERAL | 320,307,779 | 321,388,547 | 0.3% |
| LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 226,631,412 | 227,343,301 | 0.3% |
| CALL_METHOD_DESCRIPTOR_FAST | 363,688,470 | 364,797,474 | 0.3% |
| LOAD_FAST_AND_CLEAR | 69,624,576 | 69,834,316 | 0.3% |
| CALL_NON_PY_GENERAL | 817,837,687 | 820,206,625 | 0.3% |
| CALL_BUILTIN_CLASS | 168,357,004 | 168,830,691 | 0.3% |
| BUILD_MAP | 111,416,343 | 111,702,575 | 0.3% |
| LOAD_NAME | 9,742,713 | 9,717,709 | -0.3% |
| POP_JUMP_IF_NOT_NONE | 530,162,803 | 531,512,575 | 0.3% |
| COPY_FREE_VARS | 348,358,559 | 349,230,670 | 0.3% |
| LOAD_ATTR_MODULE | 516,557,140 | 517,736,165 | 0.2% |
| JUMP_FORWARD | 413,658,161 | 414,422,663 | 0.2% |
| LIST_EXTEND | 89,882,091 | 90,040,302 | 0.2% |
| LOAD_GLOBAL_MODULE | 3,292,218,337 | 3,297,558,868 | 0.2% |
| STORE_ATTR_INSTANCE_VALUE | 984,268,559 | 985,853,770 | 0.2% |
| STORE_SUBSCR_DICT | 357,084,185 | 357,628,235 | 0.2% |
| CALL_PY_EXACT_ARGS | 3,212,815,768 | 3,217,565,427 | 0.1% |
| POP_JUMP_IF_NONE | 274,916,177 | 275,319,162 | 0.1% |
| LOAD_ATTR_METHOD_WITH_VALUES | 2,499,227,291 | 2,502,759,447 | 0.1% |
| RETURN_VALUE | 5,427,181,212 | 5,434,765,196 | 0.1% |
| POP_TOP | 3,120,902,782 | 3,125,204,101 | 0.1% |
| UNARY_NOT | 57,740,199 | 57,819,374 | 0.1% |
| CONTAINS_OP_DICT | 441,601,237 | 442,142,297 | 0.1% |
| RESUME_CHECK | 6,310,223,111 | 6,317,726,056 | 0.1% |
| BUILD_LIST | 668,736,780 | 669,500,527 | 0.1% |
| FOR_ITER_GEN | 242,349,639 | 242,109,548 | -0.1% |
| CALL_METHOD_DESCRIPTOR_NOARGS | 333,859,959 | 334,177,315 | 0.1% |
| INTERPRETER_EXIT | 1,629,709,308 | 1,631,198,067 | 0.1% |
| LOAD_DEREF | 1,379,517,825 | 1,380,761,273 | 0.1% |
| NOP | 2,537,644,864 | 2,539,926,714 | 0.1% |
| LOAD_ATTR_INSTANCE_VALUE | 4,823,778,495 | 4,827,949,188 | 0.1% |
| CALL_KW_PY | 94,924,404 | 95,003,156 | 0.1% |
| POP_ITER | 1,037,665,618 | 1,038,490,235 | 0.1% |
| CONTAINS_OP | 155,650,554 | 155,773,888 | 0.1% |
| SWAP | 2,145,626,610 | 2,147,274,455 | 0.1% |
| GET_ITER | 1,263,799,959 | 1,264,768,608 | 0.1% |
| LOAD_SUPER_ATTR | 2,650 | 2,648 | -0.1% |
| LIST_APPEND | 225,761,986 | 225,931,064 | 0.1% |
| FOR_ITER_LIST | 2,197,355,626 | 2,198,953,900 | 0.1% |
| COMPARE_OP | 518,889,807 | 519,266,992 | 0.1% |
| COPY | 2,247,288,472 | 2,248,873,743 | 0.1% |
| LOAD_FAST | 37,380,233,705 | 37,406,371,419 | 0.1% |
| BINARY_OP_SUBTRACT_FLOAT | 340,658,139 | 340,895,941 | 0.1% |
| UNPACK_SEQUENCE_TWO_TUPLE | 781,361,127 | 781,891,378 | 0.1% |
| LOAD_CONST_IMMORTAL | 6,483,685,647 | 6,487,997,554 | 0.1% |
| CALL_ISINSTANCE | 841,965,561 | 842,473,206 | 0.1% |
| STORE_FAST_STORE_FAST | 792,642,110 | 793,046,547 | 0.1% |
| LOAD_ATTR_METHOD_NO_DICT | 2,559,610,015 | 2,560,869,691 | 0.0% |
| EXTENDED_ARG | 497,365,398 | 497,134,425 | -0.0% |
| POP_JUMP_IF_FALSE | 10,746,314,333 | 10,751,278,293 | 0.0% |
| BUILD_TUPLE | 1,181,143,324 | 1,181,669,503 | 0.0% |
| LOAD_GLOBAL_BUILTIN | 5,782,578,942 | 5,785,123,941 | 0.0% |
| LOAD_FAST_LOAD_FAST | 11,045,133,907 | 11,049,946,554 | 0.0% |
| STORE_FAST | 13,495,093,497 | 13,500,947,421 | 0.0% |
| BINARY_SUBSCR_TUPLE_INT | 292,956,009 | 292,829,455 | -0.0% |
| IS_OP | 520,428,959 | 520,204,770 | -0.0% |
| PUSH_NULL | 1,376,103,778 | 1,376,675,774 | 0.0% |
| FOR_ITER_RANGE | 630,474,156 | 630,711,110 | 0.0% |
| TO_BOOL_BOOL | 3,885,782,815 | 3,887,225,810 | 0.0% |
| POP_JUMP_IF_TRUE | 2,097,494,756 | 2,098,246,313 | 0.0% |
| COMPARE_OP_INT | 2,755,751,246 | 2,756,691,448 | 0.0% |
| UNPACK_SEQUENCE_TUPLE | 403,677,526 | 403,540,605 | -0.0% |
| RESUME | 33,691 | 33,680 | -0.0% |
| FOR_ITER_TUPLE | 537,428,049 | 537,296,929 | -0.0% |
| BUILD_SET | 773,686 | 773,506 | -0.0% |
| FOR_ITER | 1,476,568,652 | 1,476,909,337 | 0.0% |
| LOAD_SMALL_INT | 7,317,494,588 | 7,318,938,760 | 0.0% |
| CALL_FUNCTION_EX | 153,607,244 | 153,577,167 | -0.0% |
| JUMP_BACKWARD | 5,759,163,445 | 5,760,222,125 | 0.0% |
| CALL | 403,061 | 402,993 | -0.0% |
| CALL_BUILTIN_FAST | 1,062,581,386 | 1,062,754,866 | 0.0% |
| BINARY_OP_ADD_FLOAT | 504,585,266 | 504,665,366 | 0.0% |
| CALL_BOUND_METHOD_EXACT_ARGS | 175,328,481 | 175,303,306 | -0.0% |
| CALL_TYPE_1 | 370,789,786 | 370,738,162 | -0.0% |
| BINARY_SUBSCR | 2,357,003,962 | 2,357,323,671 | 0.0% |
| LOAD_CONST_MORTAL | 1,726,943,931 | 1,727,173,673 | 0.0% |
| SET_FUNCTION_ATTRIBUTE | 96,748,510 | 96,761,334 | 0.0% |
| CALL_BUILTIN_FAST_WITH_KEYWORDS | 97,151,389 | 97,140,522 | -0.0% |
| UNPACK_SEQUENCE | 1,828,799 | 1,828,599 | -0.0% |
| MAKE_FUNCTION | 115,827,245 | 115,839,521 | 0.0% |
| LOAD_ATTR_WITH_HINT | 83,626,663 | 83,634,113 | 0.0% |
| TO_BOOL_STR | 79,693,982 | 79,687,579 | -0.0% |
| YIELD_VALUE | 1,113,246,677 | 1,113,165,659 | -0.0% |
| TO_BOOL | 264,367,356 | 264,385,289 | 0.0% |
| BINARY_SUBSCR_LIST_INT | 2,720,903,629 | 2,721,072,553 | 0.0% |
| CALL_LIST_APPEND | 1,276,162,693 | 1,276,241,836 | 0.0% |
| COMPARE_OP_STR | 1,586,971,328 | 1,587,049,982 | 0.0% |
| LOAD_ATTR_NONDESCRIPTOR_NO_DICT | 76,993,104 | 76,989,400 | -0.0% |
| CALL_LEN | 1,404,581,429 | 1,404,647,926 | 0.0% |
| DICT_MERGE | 36,784,275 | 36,782,616 | -0.0% |
| CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 154,850,354 | 154,844,348 | -0.0% |
| LOAD_ATTR_CLASS | 379,254,412 | 379,241,895 | -0.0% |
| LOAD_SUPER_ATTR_ATTR | 3,115,261 | 3,115,159 | -0.0% |
| RETURN_GENERATOR | 416,793,091 | 416,804,554 | 0.0% |
| LOAD_ATTR_CLASS_WITH_METACLASS_CHECK | 23,493,878 | 23,493,299 | -0.0% |
| LOAD_CONST | 130,973 | 130,970 | -0.0% |
| CALL_KW | 120,790 | 120,788 | -0.0% |
| LOAD_ATTR_SLOT | 1,637,938,482 | 1,637,913,935 | -0.0% |
| MAKE_CELL | 68,026,254 | 68,025,321 | -0.0% |
| CONTAINS_OP_SET | 1,756,318,410 | 1,756,295,887 | -0.0% |
| CALL_BUILTIN_O | 918,380,763 | 918,370,133 | -0.0% |
| MAP_ADD | 67,300,209 | 67,299,431 | -0.0% |
| CHECK_EXC_MATCH | 20,546,292 | 20,546,069 | -0.0% |
| RAISE_VARARGS | 6,169,904 | 6,169,838 | -0.0% |
| POP_EXCEPT | 20,876,832 | 20,876,609 | -0.0% |
| PUSH_EXC_INFO | 20,876,853 | 20,876,630 | -0.0% |
| TO_BOOL_NONE | 498,487,889 | 498,493,106 | 0.0% |
| BINARY_SUBSCR_DICT | 1,079,522,535 | 1,079,511,349 | -0.0% |
| END_FOR | 101,009,469 | 101,008,450 | -0.0% |
| CALL_TUPLE_1 | 15,695,816 | 15,695,702 | -0.0% |
| LOAD_GLOBAL | 14,758,415 | 14,758,311 | -0.0% |
| STORE_DEREF | 73,338,942 | 73,338,517 | -0.0% |
| STORE_FAST_LOAD_FAST | 195,032,236 | 195,031,153 | -0.0% |
| STORE_SUBSCR_LIST_INT | 566,125,512 | 566,123,819 | -0.0% |
| CALL_INTRINSIC_1 | 183,157,283 | 183,156,914 | -0.0% |
| UNARY_NEGATIVE | 127,568,872 | 127,568,646 | -0.0% |
| STORE_ATTR | 77,226,483 | 77,226,363 | -0.0% |
| CALL_METHOD_DESCRIPTOR_O | 332,409,979 | 332,410,429 | 0.0% |
| GET_YIELD_FROM_ITER | 35,910,475 | 35,910,511 | 0.0% |
| STORE_ATTR_SLOT | 972,651,357 | 972,650,661 | -0.0% |
| UNPACK_SEQUENCE_LIST | 62,370,353 | 62,370,310 | -0.0% |
| JUMP_BACKWARD_NO_INTERRUPT | 419,936,972 | 419,937,232 | 0.0% |
| EXIT_INIT_CHECK | 242,416,495 | 242,416,391 | -0.0% |
| LOAD_ATTR_METHOD_LAZY_DICT | 74,955,643 | 74,955,611 | -0.0% |
| CALL_ALLOC_AND_ENTER_INIT | 244,473,124 | 244,473,020 | -0.0% |
| STORE_SUBSCR | 701,064,531 | 701,064,337 | -0.0% |
| CALL_KW_NON_PY | 84,423,340 | 84,423,317 | -0.0% |
| BINARY_SUBSCR_GETITEM | 156,403,106 | 156,403,069 | -0.0% |
| BINARY_OP_ADD_INT | 3,494,527,140 | 3,494,526,320 | -0.0% |
| BINARY_OP_SUBTRACT_INT | 1,662,973,885 | 1,662,974,215 | 0.0% |
| COMPARE_OP_FLOAT | 188,535,207 | 188,535,179 | -0.0% |
| BINARY_OP_MULTIPLY_INT | 271,022,149 | 271,022,118 | -0.0% |
| TO_BOOL_ALWAYS_TRUE | 211,101,472 | 211,101,453 | -0.0% |
| SEND_GEN | 593,303,502 | 593,303,538 | 0.0% |
| DELETE_SUBSCR | 131,417,729 | 131,417,726 | -0.0% |
| BINARY_SUBSCR_STR_INT | 1,260,966,304 | 1,260,966,304 | 0.0% |
| BINARY_OP_MULTIPLY_FLOAT | 1,053,436,108 | 1,053,436,108 | 0.0% |
| END_SEND | 302,607,369 | 302,607,369 | 0.0% |
| BINARY_SLICE | 181,849,896 | 181,849,896 | 0.0% |
| GET_AWAITABLE | 172,683,388 | 172,683,388 | 0.0% |
| BUILD_SLICE | 156,807,836 | 156,807,836 | 0.0% |
| SEND | 128,850,581 | 128,850,581 | 0.0% |
| FORMAT_SIMPLE | 122,481,442 | 122,481,442 | 0.0% |
| CONVERT_VALUE | 115,162,421 | 115,162,421 | 0.0% |
| STORE_SLICE | 112,686,498 | 112,686,498 | 0.0% |
| GET_ANEXT | 100,136,760 | 100,136,760 | 0.0% |
| CALL_STR_1 | 76,086,860 | 76,086,860 | 0.0% |
| BINARY_OP_ADD_UNICODE | 71,561,596 | 71,561,596 | 0.0% |
| BUILD_STRING | 62,253,733 | 62,253,733 | 0.0% |
| INSTRUMENTED_LINE | 58,270,440 | 58,270,440 | 0.0% |
| DELETE_FAST | 41,964,789 | 41,964,789 | 0.0% |
| INSTRUMENTED_RESUME | 29,134,740 | 29,134,740 | 0.0% |
| INSTRUMENTED_RETURN_VALUE | 29,134,440 | 29,134,440 | 0.0% |
| STORE_ATTR_WITH_HINT | 8,976,841 | 8,976,841 | 0.0% |
| BINARY_OP_INPLACE_ADD_UNICODE | 6,998,249 | 6,998,249 | 0.0% |
| STORE_GLOBAL | 6,152,500 | 6,152,500 | 0.0% |
| END_ASYNC_FOR | 6,000,000 | 6,000,000 | 0.0% |
| GET_AITER | 6,000,000 | 6,000,000 | 0.0% |
| RERAISE | 3,799,995 | 3,799,995 | 0.0% |
| DELETE_ATTR | 1,645,921 | 1,645,921 | 0.0% |
| UNPACK_EX | 781,020 | 781,020 | 0.0% |
| CLEANUP_THROW | 98,718 | 98,718 | 0.0% |
| SET_UPDATE | 84,553 | 84,553 | 0.0% |
| SET_ADD | 59,548 | 59,548 | 0.0% |
| STORE_NAME | 57,166 | 57,166 | 0.0% |
| LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN | 56,670 | 56,670 | 0.0% |
| DICT_UPDATE | 17,546 | 17,546 | 0.0% |
| WITH_EXCEPT_START | 5,321 | 5,321 | 0.0% |
| LOAD_BUILD_CLASS | 3,896 | 3,896 | 0.0% |
| LOAD_LOCALS | 3,624 | 3,624 | 0.0% |
| FORMAT_WITH_SPEC | 2,752 | 2,752 | 0.0% |
| LOAD_FROM_DICT_OR_DEREF | 1,476 | 1,476 | 0.0% |
| SETUP_ANNOTATIONS | 152 | 152 | 0.0% |
| INSTRUMENTED_JUMP_BACKWARD | 120 | 120 | 0.0% |
| DELETE_NAME | 42 | 42 | 0.0% |
Pair counts for top 100 opcode pairs
Pairs of specialized operations that deoptimize and are then followed by the corresponding unspecialized instruction are not counted as pairs.
Not included in comparative output.
Top 5 predecessors and successors of each Tier 1 opcode.
This does not include the unspecialized instructions that occur after a specialized instruction deoptimizes.
Not included in comparative output.
Specialization stats by family
specialization stats for BINARY_OP family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
miss
ⓘSpecialized instructions that deopt. |
51,120,223 | 0.6% | 79,714,935 | 0.9% | 55.9% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
942,592,154 | 11.1% | 838,717,684 | 9.9% | -11.0% |
hit
ⓘSpecialized instructions that complete. |
7,512,810,086 | 88.3% | 7,592,195,878 | 89.2% | 1.1% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 304,986 | 23.9% | 1,804,355 | 54.4% | 491.6% |
| Success | 971,871 | 76.1% | 1,512,177 | 45.6% | 55.6% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| and int | 34,552 | 11.3% | 1,301,389 | 72.1% | 3,666.5% |
| xor | 18,902 | 6.2% | 254,322 | 14.1% | 1,245.5% |
| or | 7,179 | 2.4% | 4,307 | 0.2% | -40.0% |
| subtract different types | 636 | 0.2% | 628 | 0.0% | -1.3% |
| and other | 1,255 | 0.4% | 1,250 | 0.1% | -0.4% |
| power | 8,210 | 2.7% | 8,203 | 0.5% | -0.1% |
| true divide different types | 2,035 | 0.7% | 2,036 | 0.1% | 0.0% |
| floor divide | 33,977 | 11.1% | 33,990 | 1.9% | 0.0% |
| add different types | 43,810 | 14.4% | 43,799 | 2.4% | -0.0% |
| lshift | 19,451 | 6.4% | 19,448 | 1.1% | -0.0% |
| add other | 36,655 | 12.0% | 36,660 | 2.0% | 0.0% |
| rshift | 23,509 | 7.7% | 23,512 | 1.3% | 0.0% |
| true divide float | 11,588 | 3.8% | 11,587 | 0.6% | -0.0% |
| remainder | 43,344 | 14.2% | 43,341 | 2.4% | -0.0% |
| subtract other | 8,513 | 2.8% | 8,513 | 0.5% | 0.0% |
| multiply different types | 7,225 | 2.4% | 7,225 | 0.4% | 0.0% |
| multiply other | 2,678 | 0.9% | 2,678 | 0.1% | 0.0% |
| true divide other | 1,384 | 0.5% | 1,384 | 0.1% | 0.0% |
| and different types | 83 | 0.0% | 83 | 0.0% | 0.0% |
specialization stats for BINARY_SLICE family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
181,849,896 | 100.0% | 181,849,896 | 100.0% | 0.0% |
specialization stats for BINARY_SUBSCR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
2,356,387,824 | 29.9% | 2,356,707,461 | 30.0% | 0.0% |
miss
ⓘSpecialized instructions that deopt. |
5,928,458 | 0.1% | 5,928,416 | 0.1% | -0.0% |
hit
ⓘSpecialized instructions that complete. |
5,504,823,125 | 70.0% | 5,504,854,314 | 70.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 607,872 | 83.5% | 607,950 | 83.5% | 0.0% |
| Success | 119,916 | 16.5% | 119,910 | 16.5% | -0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| other | 196,994 | 32.4% | 197,083 | 32.4% | 0.0% |
| tuple slice | 12,451 | 2.0% | 12,446 | 2.0% | -0.0% |
| buffer int | 28,494 | 4.7% | 28,487 | 4.7% | -0.0% |
| list slice | 193,731 | 31.9% | 193,732 | 31.9% | 0.0% |
| array int | 121,418 | 20.0% | 121,418 | 20.0% | 0.0% |
| out of range | 47,128 | 7.8% | 47,128 | 7.8% | 0.0% |
| string slice | 3,609 | 0.6% | 3,609 | 0.6% | 0.0% |
| sequence int | 2,941 | 0.5% | 2,941 | 0.5% | 0.0% |
| buffer slice | 1,013 | 0.2% | 1,013 | 0.2% | 0.0% |
| code complex parameters | 72 | 0.0% | 72 | 0.0% | 0.0% |
| array slice | 21 | 0.0% | 21 | 0.0% | 0.0% |
specialization stats for CALL family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
miss
ⓘSpecialized instructions that deopt. |
155,031,804 | 1.4% | 155,263,117 | 1.4% | 0.1% |
hit
ⓘSpecialized instructions that complete. |
11,073,126,119 | 98.6% | 11,080,242,097 | 98.6% | 0.1% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
230,114 | 0.0% | 230,094 | 0.0% | -0.0% |
deopt
ⓘSpecialized instructions that deopt. |
22,186 | 0.0% | 22,186 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 3,096,635 | 100.0% | 3,100,951 | 100.0% | 0.1% |
| Failure | 446 | 0.0% | 446 | 0.0% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| init not simple | 752 | 168.6% | 752 | 168.6% | 0.0% |
| out of versions | 566 | 126.9% | 566 | 126.9% | 0.0% |
| init not python | 267 | 59.9% | 267 | 59.9% | 0.0% |
specialization stats for CALL_KW family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
111,577 | 15.8% | 111,575 | 15.8% | -0.0% |
miss
ⓘSpecialized instructions that deopt. |
584,005 | 82.9% | 584,005 | 82.9% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 20,093 | 99.4% | 20,093 | 99.4% | 0.0% |
| Failure | 120 | 0.6% | 120 | 0.6% | 0.0% |
specialization stats for COMPARE_OP family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
miss
ⓘSpecialized instructions that deopt. |
1,398,079 | 0.0% | 1,477,277 | 0.0% | 5.7% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
518,659,110 | 10.3% | 519,034,693 | 10.3% | 0.1% |
hit
ⓘSpecialized instructions that complete. |
4,529,859,702 | 89.7% | 4,530,799,332 | 89.7% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 44,017 | 17.1% | 45,511 | 17.5% | 3.4% |
| Failure | 212,734 | 82.9% | 214,336 | 82.5% | 0.8% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| float long | 13,829 | 6.5% | 15,391 | 7.2% | 11.3% |
| bool | 1,968 | 0.9% | 2,005 | 0.9% | 1.9% |
| other | 7,822 | 3.7% | 7,805 | 3.6% | -0.2% |
| big int | 23,381 | 11.0% | 23,391 | 10.9% | 0.0% |
| different types | 45,736 | 21.5% | 45,723 | 21.3% | -0.0% |
| tuple | 90,862 | 42.7% | 90,884 | 42.4% | 0.0% |
| baseobject | 11,926 | 5.6% | 11,928 | 5.6% | 0.0% |
| set | 6,820 | 3.2% | 6,819 | 3.2% | -0.0% |
| string | 7,639 | 3.6% | 7,639 | 3.6% | 0.0% |
| bytes | 1,367 | 0.6% | 1,367 | 0.6% | 0.0% |
| list | 1,028 | 0.5% | 1,028 | 0.5% | 0.0% |
| long float | 356 | 0.2% | 356 | 0.2% | 0.0% |
specialization stats for CONTAINS_OP family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
155,589,281 | 6.6% | 155,712,586 | 6.6% | 0.1% |
hit
ⓘSpecialized instructions that complete. |
2,196,002,660 | 93.3% | 2,196,521,197 | 93.3% | 0.0% |
miss
ⓘSpecialized instructions that deopt. |
1,916,987 | 0.1% | 1,916,987 | 0.1% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 59,212 | 60.8% | 59,241 | 60.8% | 0.0% |
| Success | 38,235 | 39.2% | 38,235 | 39.2% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| other | 11,668 | 19.7% | 11,697 | 19.7% | 0.2% |
| tuple | 11,599 | 19.6% | 11,598 | 19.6% | -0.0% |
| list | 14,565 | 24.6% | 14,566 | 24.6% | 0.0% |
| str | 21,380 | 36.1% | 21,380 | 36.1% | 0.0% |
specialization stats for FOR_ITER family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
3,443,653,488 | 67.7% | 3,445,121,604 | 67.7% | 0.0% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,476,136,358 | 29.0% | 1,476,477,002 | 29.0% | 0.0% |
miss
ⓘSpecialized instructions that deopt. |
163,953,982 | 3.2% | 163,949,883 | 3.2% | -0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 427,211 | 12.1% | 427,265 | 12.1% | 0.0% |
| Success | 3,098,369 | 87.9% | 3,098,283 | 87.9% | -0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| set | 19,466 | 4.6% | 19,555 | 4.6% | 0.5% |
| itertools | 4,601 | 1.1% | 4,593 | 1.1% | -0.2% |
| dict values | 6,911 | 1.6% | 6,908 | 1.6% | -0.0% |
| other | 11,325 | 2.7% | 11,322 | 2.6% | -0.0% |
| dict items | 70,148 | 16.4% | 70,131 | 16.4% | -0.0% |
| enumerate | 35,015 | 8.2% | 35,011 | 8.2% | -0.0% |
| zip | 172,146 | 40.3% | 172,146 | 40.3% | 0.0% |
| dict keys | 83,979 | 19.7% | 83,979 | 19.7% | 0.0% |
| seq iter | 14,960 | 3.5% | 14,960 | 3.5% | 0.0% |
| ascii string | 3,390 | 0.8% | 3,390 | 0.8% | 0.0% |
| reversed list | 3,139 | 0.7% | 3,139 | 0.7% | 0.0% |
| bytes | 1,223 | 0.3% | 1,223 | 0.3% | 0.0% |
| map | 734 | 0.2% | 734 | 0.2% | 0.0% |
| callable | 174 | 0.0% | 174 | 0.0% | 0.0% |
specialization stats for LOAD_ATTR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
851,644,649 | 6.2% | 854,992,988 | 6.2% | 0.4% |
hit
ⓘSpecialized instructions that complete. |
12,103,778,029 | 87.5% | 12,114,912,498 | 87.5% | 0.1% |
miss
ⓘSpecialized instructions that deopt. |
871,344,814 | 6.3% | 871,345,861 | 6.3% | 0.0% |
deopt
ⓘSpecialized instructions that deopt. |
1,404,473 | 0.0% | 1,404,473 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 565,604 | 3.3% | 566,398 | 3.3% | 0.1% |
| Success | 16,521,638 | 96.7% | 16,521,661 | 96.7% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| non overriding descriptor | 6,090 | 1.1% | 6,198 | 1.1% | 1.8% |
| overriding descriptor | 57,822 | 10.2% | 58,275 | 10.3% | 0.8% |
| class method obj | 16,644 | 2.9% | 16,602 | 2.9% | -0.3% |
| method | 81,845 | 14.5% | 81,917 | 14.5% | 0.1% |
| overridden | 9,123 | 1.6% | 9,119 | 1.6% | -0.0% |
| metaclass attribute | 25,289 | 4.5% | 25,283 | 4.5% | -0.0% |
| mutable class | 66,198 | 11.7% | 66,188 | 11.7% | -0.0% |
| not in dict | 6,405 | 1.1% | 6,405 | 1.1% | 0.0% |
| module attr not found | 5,109 | 0.9% | 5,109 | 0.9% | 0.0% |
| expected error | 2,729 | 0.5% | 2,729 | 0.5% | 0.0% |
| not managed dict | 1,800 | 0.3% | 1,800 | 0.3% | 0.0% |
| class attr simple | 1,580 | 0.3% | 1,580 | 0.3% | 0.0% |
| builtin class method | 1,180 | 0.2% | 1,180 | 0.2% | 0.0% |
| non object slot | 1,092 | 0.2% | 1,092 | 0.2% | 0.0% |
| out of versions | 400 | 0.1% | 400 | 0.1% | 0.0% |
| wrong number arguments | 235 | 0.0% | 235 | 0.0% | 0.0% |
| split dict | 163 | 0.0% | 163 | 0.0% | 0.0% |
| property | 46 | 0.0% | 46 | 0.0% | 0.0% |
| property not py function | 40 | 0.0% | 40 | 0.0% | 0.0% |
specialization stats for LOAD_GLOBAL family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
9,074,743,957 | 99.8% | 9,082,629,487 | 99.8% | 0.1% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
14,622,746 | 0.2% | 14,622,688 | 0.2% | -0.0% |
deopt
ⓘSpecialized instructions that deopt. |
1,594 | 0.0% | 1,594 | 0.0% | 0.0% |
miss
ⓘSpecialized instructions that deopt. |
53,322 | 0.0% | 53,322 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 136,455 | 100.0% | 136,409 | 100.0% | -0.0% |
| Failure | 0 | 0.0% | 0 | 0.0% |
specialization stats for LOAD_SUPER_ATTR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
63,781,393 | 100.0% | 64,653,188 | 100.0% | 1.4% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
255 | 0.0% | 253 | 0.0% | -0.8% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 2,395 | 100.0% | 2,395 | 100.0% | 0.0% |
| Failure | 0 | 0.0% | 0 | 0.0% |
specialization stats for SEND family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
593,288,791 | 82.2% | 593,288,827 | 82.2% | 0.0% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
128,815,789 | 17.8% | 128,815,789 | 17.8% | 0.0% |
miss
ⓘSpecialized instructions that deopt. |
14,711 | 0.0% | 14,711 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 652 | 1.9% | 652 | 1.9% | 0.0% |
| Failure | 34,412 | 98.1% | 34,412 | 98.1% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| async generator send | 24,440 | 71.0% | 24,440 | 71.0% | 0.0% |
| other | 5,959 | 17.3% | 5,959 | 17.3% | 0.0% |
| list | 3,261 | 9.5% | 3,261 | 9.5% | 0.0% |
| tuple | 752 | 2.2% | 752 | 2.2% | 0.0% |
specialization stats for STORE_ATTR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
1,849,296,028 | 90.5% | 1,850,876,983 | 90.5% | 0.1% |
miss
ⓘSpecialized instructions that deopt. |
116,600,729 | 5.7% | 116,604,289 | 5.7% | 0.0% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
77,133,151 | 3.8% | 77,133,020 | 3.8% | -0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 52,760 | 2.3% | 52,770 | 2.3% | 0.0% |
| Success | 2,239,825 | 97.7% | 2,239,880 | 97.7% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| not managed dict | 3,344 | 6.3% | 3,352 | 6.4% | 0.2% |
| other | 271,800 | 515.2% | 271,949 | 515.3% | 0.1% |
| class attr simple | 24,477 | 46.4% | 24,477 | 46.4% | 0.0% |
| not in dict | 7,666 | 14.5% | 7,666 | 14.5% | 0.0% |
| overriding descriptor | 6,033 | 11.4% | 6,033 | 11.4% | 0.0% |
| split dict | 5,322 | 10.1% | 5,322 | 10.1% | 0.0% |
| property | 1,665 | 3.2% | 1,665 | 3.2% | 0.0% |
| not in keys | 810 | 1.5% | 810 | 1.5% | 0.0% |
| method | 743 | 1.4% | 743 | 1.4% | 0.0% |
| mutable class | 730 | 1.4% | 730 | 1.4% | 0.0% |
| overridden | 361 | 0.7% | 361 | 0.7% | 0.0% |
| no dict | 111 | 0.2% | 111 | 0.2% | 0.0% |
| non object slot | 100 | 0.2% | 100 | 0.2% | 0.0% |
specialization stats for STORE_SLICE family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
112,686,498 | 100.0% | 112,686,498 | 100.0% | 0.0% |
specialization stats for STORE_SUBSCR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
923,207,477 | 56.8% | 923,749,834 | 56.9% | 0.1% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
700,880,196 | 43.2% | 700,880,003 | 43.1% | -0.0% |
miss
ⓘSpecialized instructions that deopt. |
2,220 | 0.0% | 2,220 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 2,077 | 1.1% | 2,076 | 1.1% | -0.0% |
| Failure | 182,298 | 98.9% | 182,298 | 98.9% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| other | 86,613 | 47.5% | 86,613 | 47.5% | 0.0% |
| array int | 48,931 | 26.8% | 48,931 | 26.8% | 0.0% |
| dict subclass no override | 19,343 | 10.6% | 19,343 | 10.6% | 0.0% |
| py simple | 17,323 | 9.5% | 17,323 | 9.5% | 0.0% |
| bytearray int | 5,309 | 2.9% | 5,309 | 2.9% | 0.0% |
| list slice | 3,032 | 1.7% | 3,032 | 1.7% | 0.0% |
| out of range | 1,679 | 0.9% | 1,679 | 0.9% | 0.0% |
| array slice | 68 | 0.0% | 68 | 0.0% | 0.0% |
specialization stats for TO_BOOL family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
4,753,793,273 | 92.7% | 4,757,991,099 | 92.7% | 0.1% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
263,686,413 | 5.1% | 263,704,874 | 5.1% | 0.0% |
miss
ⓘSpecialized instructions that deopt. |
112,453,126 | 2.2% | 112,447,724 | 2.2% | -0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 631,387 | 22.5% | 630,874 | 22.5% | -0.1% |
| Success | 2,169,763 | 77.5% | 2,169,647 | 77.5% | -0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| mapping | 77,651 | 12.3% | 77,166 | 12.2% | -0.6% |
| sequence | 10,062 | 1.6% | 10,051 | 1.6% | -0.1% |
| dict | 20,555 | 3.3% | 20,549 | 3.3% | -0.0% |
| tuple | 97,417 | 15.4% | 97,394 | 15.4% | -0.0% |
| other | 132,986 | 21.1% | 133,002 | 21.1% | 0.0% |
| number | 258,646 | 41.0% | 258,642 | 41.0% | -0.0% |
| bytes | 18,921 | 3.0% | 18,921 | 3.0% | 0.0% |
| set | 13,307 | 2.1% | 13,307 | 2.1% | 0.0% |
| bytearray | 1,420 | 0.2% | 1,420 | 0.2% | 0.0% |
| float | 382 | 0.1% | 382 | 0.1% | 0.0% |
| memory view | 40 | 0.0% | 40 | 0.0% | 0.0% |
specialization stats for UNPACK_SEQUENCE family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
hit
ⓘSpecialized instructions that complete. |
1,247,405,306 | 99.9% | 1,247,798,593 | 99.9% | 0.0% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,816,361 | 0.1% | 1,816,166 | 0.1% | -0.0% |
miss
ⓘSpecialized instructions that deopt. |
3,700 | 0.0% | 3,700 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 985 | 7.9% | 992 | 7.9% | 0.7% |
| Success | 11,533 | 92.1% | 11,521 | 92.1% | -0.1% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| sequence | 758 | 77.0% | 765 | 77.1% | 0.9% |
| iterator | 136 | 13.8% | 136 | 13.7% | 0.0% |
| other | 91 | 9.2% | 91 | 9.2% | 0.0% |
specialization effectiveness
All entries are execution counts. Should add up to the total number of Tier 1 instructions executed.
| Instructions | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
Specialized misses
ⓘSpecialized instructions, e.g. |
1,480,533,087 | 0.7% | 1,509,433,380 | 0.7% | 2.0% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
7,787,667,740 | 3.7% | 7,689,820,680 | 3.6% | -1.3% |
Specialized hits
ⓘSpecialized instructions, e.g. |
80,699,043,594 | 38.3% | 80,830,774,537 | 38.3% | 0.2% |
Basic
ⓘInstructions that are not and cannot be specialized, e.g. |
120,708,638,293 | 57.3% | 120,783,482,800 | 57.3% | 0.1% |
Breakdown of deferred (not specialized) instruction counts by family
| Name | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| BINARY_OP | 942,592,154 | 12.1% | 838,717,684 | 10.9% | -11.0% |
| LOAD_ATTR | 851,644,649 | 10.9% | 854,992,988 | 11.1% | 0.4% |
| CONTAINS_OP | 155,589,281 | 2.0% | 155,712,586 | 2.0% | 0.1% |
| COMPARE_OP | 518,659,110 | 6.7% | 519,034,693 | 6.8% | 0.1% |
| FOR_ITER | 1,476,136,358 | 19.0% | 1,476,477,002 | 19.2% | 0.0% |
| BINARY_SUBSCR | 2,356,387,824 | 30.3% | 2,356,707,461 | 30.7% | 0.0% |
| TO_BOOL | 263,686,413 | 3.4% | 263,704,874 | 3.4% | 0.0% |
| STORE_SUBSCR | 700,880,196 | 9.0% | 700,880,003 | 9.1% | -0.0% |
| BINARY_SLICE | 181,849,896 | 2.3% | 181,849,896 | 2.4% | 0.0% |
| SEND | 128,815,789 | 1.7% | 128,815,789 | 1.7% | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
| Name | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| FOR_ITER_LIST | 81,967,193 | 5.5% | 81,958,206 | 5.4% | -0.0% |
| FOR_ITER_TUPLE | 81,908,100 | 5.5% | 81,912,994 | 5.4% | 0.0% |
| LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 86,869,777 | 5.9% | 86,868,353 | 5.8% | -0.0% |
| TO_BOOL_NONE | 55,287,049 | 3.7% | 55,286,861 | 3.7% | -0.0% |
| LOAD_ATTR_INSTANCE_VALUE | 368,080,034 | 24.9% | 368,080,877 | 24.4% | 0.0% |
| LOAD_ATTR_SLOT | 90,676,051 | 6.1% | 90,676,228 | 6.0% | 0.0% |
| LOAD_ATTR_METHOD_WITH_VALUES | 266,997,243 | 18.0% | 266,996,943 | 17.7% | -0.0% |
| CALL_PY_EXACT_ARGS | 82,383,323 | 5.6% | 82,383,347 | 5.5% | 0.0% |
| STORE_ATTR_INSTANCE_VALUE | 94,280,275 | 6.4% | 94,280,275 | 6.2% | 0.0% |
| TO_BOOL_ALWAYS_TRUE | 49,778,735 | 3.4% | |||
| BINARY_OP_EXTEND | 52,777,626 | 3.5% |
Inlined calls and frame stats
This shows what fraction of calls to Python functions are inlined (i.e. not having a call at the C level) and for those that are not, where the call comes from. The various categories overlap.
Also includes the count of frame objects created.
| Base Count | Base Ratio | Head Count | Head Ratio | Change | |
|---|---|---|---|---|---|
| Calls via PyEval_EvalFrame (legacy) | 4,273,444 | 0.1% | 4,262,443 | 0.1% | -0.3% |
| Calls via PyEval_EvalFrame (function vectorcall) | 951,063,817 | 14.1% | 952,406,108 | 14.1% | 0.1% |
| Calls via PyEval_EvalFrame (vector) | 955,341,157 | 14.1% | 956,672,447 | 14.1% | 0.1% |
| Frames pushed | 5,484,289,615 | 81.2% | 5,491,886,492 | 81.2% | 0.1% |
| Calls to Python functions inlined | 5,122,151,086 | 75.8% | 5,128,176,728 | 75.8% | 0.1% |
| Calls to PyEval_EvalDefault | 1,634,202,626 | 24.2% | 1,635,691,381 | 24.2% | 0.1% |
| Calls via PyEval_EvalFrame (total) | 1,634,202,626 | 24.2% | 1,635,691,381 | 24.2% | 0.1% |
| Calls via PyEval_EvalFrame (api) | 279,384,038 | 4.1% | 279,540,158 | 4.1% | 0.1% |
| Calls via PyEval_EvalFrame (generator) | 678,861,469 | 10.0% | 679,018,934 | 10.0% | 0.0% |
| Calls via PyEval_EvalFrame (function ex) | 24,922,749 | 0.4% | 24,922,347 | 0.4% | -0.0% |
| Calls via PyEval_EvalFrame (slot) | 261,415,254 | 3.9% | 261,414,429 | 3.9% | -0.0% |
| Frame objects created | 71,326,679 | 1.1% | 71,326,613 | 1.1% | -0.0% |
| Calls via PyEval_EvalFrame (build class) | 3,896 | 0.0% | 3,896 | 0.0% | 0.0% |
| Calls via PyEval_EvalFrame (method) | 132,513,139 | 2.0% | 132,513,139 | 2.0% | 0.0% |
Allocations, frees and dict materializatons
Below, "allocations" means "allocations that are not from a freelist". Total allocations = "Allocations from freelist" + "Allocations".
"Inline values" is the number of values arrays inlined into objects.
The cache hit/miss numbers are for the MRO cache, split into dunder and other names.
| Base Count | Base Ratio | Head Count | Head Ratio | Change | |
|---|---|---|---|---|---|
| Method cache dunder misses | 35,197,810 | 18,454,478 | -47.6% | ||
| Method cache misses | 63,030,648 | 70,703,973 | 12.2% | ||
| Method cache collisions | 97,421,632 | 88,353,055 | -9.3% | ||
| Method cache dunder hits | 2,876,949,876 | 2,897,078,314 | 0.7% | ||
| Inline values | 179,220,467 | 179,854,360 | 0.4% | ||
| Method cache hits | 2,290,604,057 | 2,287,061,591 | -0.2% | ||
| Interpreter immortal increfs | 27,546,287,515 | 17.7% | 27,571,712,655 | 17.7% | 0.1% |
| Interpreter immortal decrefs | 45,515,170,910 | 23.8% | 45,547,045,744 | 23.8% | 0.1% |
| Interpreter mortal decrefs | 88,714,912,608 | 46.4% | 88,771,557,984 | 46.4% | 0.1% |
| Interpreter mortal increfs | 79,357,727,189 | 51.0% | 79,406,522,753 | 51.0% | 0.1% |
| Frees | 7,873,438,585 | 7,877,555,216 | 0.1% | ||
| Mortal increfs | 25,348,109,279 | 16.3% | 25,360,924,706 | 16.3% | 0.1% |
| Allocations to 512 bytes | 7,202,062,791 | 39.2% | 7,205,685,909 | 39.2% | 0.1% |
| Allocations | 7,280,055,960 | 39.6% | 7,283,690,443 | 39.6% | 0.0% |
| Frees to freelist | 11,094,043,671 | 11,099,164,458 | 0.0% | ||
| Allocations from freelist | 11,093,935,885 | 60.4% | 11,099,056,083 | 60.4% | 0.0% |
| Mortal decrefs | 33,045,796,213 | 17.3% | 33,058,553,283 | 17.3% | 0.0% |
| Allocations to 4 kbytes | 71,572,030 | 0.4% | 71,583,393 | 0.4% | 0.0% |
| Immortal decrefs | 23,915,758,085 | 12.5% | 23,918,877,008 | 12.5% | 0.0% |
| Immortal increfs | 23,298,426,209 | 15.0% | 23,298,389,274 | 15.0% | -0.0% |
| Allocations over 4 kbytes | 6,421,139 | 0.0% | 6,421,141 | 0.0% | 0.0% |
| Materialize dict (on request) | 4,444,166 | 2.5% | 4,444,166 | 2.5% | 0.0% |
| Materialize dict (new key) | 476,016 | 0.3% | 476,016 | 0.3% | 0.0% |
| Materialize dict (too big) | 4,404 | 0.0% | 4,404 | 0.0% | 0.0% |
| Materialize dict (str subclass) | 0 | 0.0% | 0 | 0.0% |
GC collections and effectiveness
Collected/visits gives some measure of efficiency.
| Generation | Base Collections | Base Objects collected | Base Object visits | Base Reachable from roots | Base Not reachable from roots | Head Collections | Head Objects collected | Head Object visits | Head Reachable from roots | Head Not reachable from roots |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 364,333 | 103,378,174 | 9,336,963,845 | 731,402,193 | 766,732,017 | 364,333 | 103,378,174 | 9,337,080,830 | 731,449,345 | 766,725,573 |
| 2 | 7,998 | 4,366,437 | 5,605,458,094 | 0 | 0 | 7,998 | 4,366,437 | 5,605,451,326 | 0 | 0 |
statistics about the Tier 2 optimizer
Counts of rare/unlikely events
| Event | Base Count | Head Count | Change |
|---|---|---|---|
set class
ⓘSetting an object's class, |
22,629 | 22,629 | 0.0% |
set bases
ⓘSetting the bases of a class, |
31 | 31 | 0.0% |
set eval frame func
ⓘSetting the PEP 523 frame eval function |
0 | 0 | |
builtin dict
ⓘModifying the builtins, |
0 | 0 | |
func modification
ⓘModifying a function, e.g. |
38 | 38 | 0.0% |
watched dict modification
ⓘA watched dict has been modified |
0 | 0 | |
watched globals modification
ⓘA watched |
0 | 0 |
Meta statistics
| Base Count | Head Count | Change | |
|---|---|---|---|
| Number of data files | 2,476 | 2,476 | 0.0% |
Stats gathered on: 2025-01-17