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 |
|---|---|---|---|
| ENTER_EXECUTOR | 743,835,475 | 1,598,262,611 | 114.9% |
| CALL_KW_BOUND_METHOD | 1,684,562 | 140,421 | -91.7% |
| JUMP_BACKWARD_JIT | 1,375,133,736 | 126,071,935 | -90.8% |
| STORE_GLOBAL | 6,156,329 | 794,769 | -87.1% |
| STORE_FAST_LOAD_FAST | 62,088,880 | 8,062,985 | -87.0% |
| FOR_ITER_GEN | 345,643,030 | 46,719,186 | -86.5% |
| UNARY_NOT | 56,950,334 | 8,528,689 | -85.0% |
| UNPACK_SEQUENCE_TUPLE | 166,050,468 | 24,901,852 | -85.0% |
| FOR_ITER_RANGE | 249,679,501 | 43,112,075 | -82.7% |
| CALL_BOUND_METHOD_GENERAL | 7,195,406 | 1,366,477 | -81.0% |
| UNARY_INVERT | 9,835,718 | 1,870,863 | -81.0% |
| DELETE_SUBSCR | 131,380,678 | 26,078,973 | -80.2% |
| BINARY_OP_ADD_FLOAT | 205,200,984 | 49,743,177 | -75.8% |
| STORE_SUBSCR_LIST_INT | 97,599,025 | 24,997,397 | -74.4% |
| FOR_ITER_LIST | 783,900,012 | 221,879,697 | -71.7% |
| BINARY_OP_EXTEND | 241,728,999 | 71,365,972 | -70.5% |
| LOAD_COMMON_CONSTANT | 28,457,520 | 8,753,939 | -69.2% |
| UNARY_NEGATIVE | 139,585,140 | 43,446,273 | -68.9% |
| FOR_ITER | 310,183,357 | 99,060,095 | -68.1% |
| UNPACK_SEQUENCE_LIST | 2,075,188 | 680,158 | -67.2% |
| LOAD_ATTR_METHOD_LAZY_DICT | 49,565,203 | 16,272,126 | -67.2% |
| CALL_BUILTIN_O | 320,353,821 | 105,689,496 | -67.0% |
| MAP_ADD | 26,549,503 | 8,933,074 | -66.4% |
| CONTAINS_OP_SET | 274,336,366 | 94,299,090 | -65.6% |
| UNPACK_SEQUENCE_TWO_TUPLE | 542,129,112 | 192,288,685 | -64.5% |
| UNPACK_SEQUENCE | 1,214,813 | 463,757 | -61.8% |
| BINARY_OP_SUBSCR_LIST_INT | 572,172,153 | 219,353,061 | -61.7% |
| BINARY_OP_SUBSCR_STR_INT | 279,400,372 | 107,381,744 | -61.6% |
| CONTAINS_OP | 158,452,444 | 61,901,768 | -60.9% |
| MAKE_CELL | 64,813,565 | 25,438,599 | -60.8% |
| CONTAINS_OP_DICT | 171,642,397 | 69,544,409 | -59.5% |
| BINARY_OP_SUBSCR_GETITEM | 165,455,820 | 68,412,087 | -58.7% |
| BINARY_OP | 1,351,083,127 | 582,071,873 | -56.9% |
| STORE_ATTR_INSTANCE_VALUE | 1,076,668,454 | 470,113,472 | -56.3% |
| LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 194,807,939 | 88,222,648 | -54.7% |
| COPY | 813,045,624 | 372,060,639 | -54.2% |
| BUILD_SLICE | 55,173,575 | 25,607,715 | -53.6% |
| EXTENDED_ARG | 314,729,422 | 149,620,124 | -52.5% |
| LOAD_ATTR_INSTANCE_VALUE | 4,879,198,216 | 2,326,856,380 | -52.3% |
| POP_JUMP_IF_NONE | 319,160,890 | 153,831,758 | -51.8% |
| STORE_FAST | 6,445,645,037 | 3,136,852,100 | -51.3% |
| STORE_FAST_STORE_FAST | 474,334,890 | 233,298,794 | -50.8% |
| JUMP_FORWARD | 343,606,451 | 169,080,408 | -50.8% |
| BINARY_OP_MULTIPLY_FLOAT | 566,651,057 | 280,331,323 | -50.5% |
| LOAD_NAME | 9,738,721 | 4,862,941 | -50.1% |
| LOAD_ATTR_METHOD_WITH_VALUES | 2,160,388,079 | 1,082,819,793 | -49.9% |
| SWAP | 467,639,341 | 236,112,843 | -49.5% |
| CALL_KW_PY | 102,915,241 | 52,321,365 | -49.2% |
| IS_OP | 331,727,692 | 172,162,072 | -48.1% |
| NOP | 1,062,193,345 | 564,885,671 | -46.8% |
| BINARY_OP_ADD_INT | 1,138,258,061 | 608,561,408 | -46.5% |
| TO_BOOL_LIST | 43,852,378 | 23,474,430 | -46.5% |
| BINARY_OP_SUBTRACT_FLOAT | 98,631,029 | 52,810,199 | -46.5% |
| BINARY_OP_SUBSCR_DICT | 495,978,463 | 266,914,807 | -46.2% |
| CALL_PY_GENERAL | 371,559,805 | 202,824,076 | -45.4% |
| LOAD_FAST_BORROW_LOAD_FAST_BORROW | 4,805,967,834 | 2,628,546,030 | -45.3% |
| CALL_TYPE_1 | 110,723,948 | 60,684,174 | -45.2% |
| BINARY_SLICE | 201,330,139 | 110,727,411 | -45.0% |
| LOAD_FAST | 601,350,856 | 333,696,892 | -44.5% |
| CALL_PY_EXACT_ARGS | 2,937,162,502 | 1,630,527,459 | -44.5% |
| LIST_APPEND | 106,680,513 | 60,399,315 | -43.4% |
| STORE_SLICE | 1,232,574 | 700,470 | -43.2% |
| BUILD_TUPLE | 659,304,925 | 375,990,288 | -43.0% |
| TO_BOOL_BOOL | 3,441,114,305 | 1,972,761,042 | -42.7% |
| CALL_BOUND_METHOD_EXACT_ARGS | 137,555,096 | 79,685,524 | -42.1% |
| LOAD_ATTR_CLASS | 326,076,973 | 189,315,120 | -41.9% |
| POP_JUMP_IF_FALSE | 5,878,233,483 | 3,421,606,207 | -41.8% |
| LOAD_FAST_BORROW | 24,754,061,638 | 14,526,411,192 | -41.3% |
| CALL_METHOD_DESCRIPTOR_O | 294,469,942 | 173,243,741 | -41.2% |
| STORE_SUBSCR_DICT | 145,103,532 | 86,172,997 | -40.6% |
| BINARY_OP_MULTIPLY_INT | 204,789,272 | 122,165,592 | -40.3% |
| TO_BOOL_INT | 166,356,574 | 99,906,203 | -39.9% |
| LOAD_DEREF | 875,188,307 | 526,719,635 | -39.8% |
| LOAD_SMALL_INT | 2,876,167,485 | 1,731,895,552 | -39.8% |
| PUSH_NULL | 994,029,135 | 607,235,981 | -38.9% |
| TO_BOOL_ALWAYS_TRUE | 131,623,204 | 80,821,986 | -38.6% |
| COMPARE_OP_INT | 1,634,533,262 | 1,011,543,007 | -38.1% |
| LOAD_GLOBAL_MODULE | 3,492,621,426 | 2,172,477,388 | -37.8% |
| COMPARE_OP | 150,014,195 | 94,875,954 | -36.8% |
| BINARY_OP_SUBTRACT_INT | 811,076,536 | 517,126,003 | -36.2% |
| CALL_METHOD_DESCRIPTOR_FAST | 294,213,956 | 188,208,435 | -36.0% |
| BUILD_MAP | 142,717,993 | 92,312,194 | -35.3% |
| DICT_MERGE | 71,757,010 | 46,992,365 | -34.5% |
| POP_JUMP_IF_TRUE | 1,440,129,677 | 950,065,263 | -34.0% |
| GET_ITER | 577,961,397 | 384,781,704 | -33.4% |
| NOT_TAKEN | 141,188,969 | 94,136,760 | -33.3% |
| RETURN_VALUE | 6,124,629,450 | 4,112,535,721 | -32.9% |
| LOAD_ATTR_METHOD_NO_DICT | 1,159,370,695 | 784,058,287 | -32.4% |
| STORE_DEREF | 70,690,423 | 47,947,777 | -32.2% |
| TO_BOOL_STR | 50,573,003 | 34,433,836 | -31.9% |
| END_FOR | 114,997,437 | 78,549,716 | -31.7% |
| POP_TOP | 3,109,550,598 | 2,127,573,469 | -31.6% |
| COMPARE_OP_STR | 485,760,040 | 334,047,666 | -31.2% |
| FOR_ITER_TUPLE | 172,411,400 | 119,592,701 | -30.6% |
| LOAD_CONST | 4,965,616,609 | 3,444,826,766 | -30.6% |
| RESUME_CHECK | 6,574,894,355 | 4,569,861,241 | -30.5% |
| CALL_BUILTIN_FAST | 373,628,804 | 260,244,123 | -30.3% |
| CALL_LEN | 442,902,429 | 309,132,998 | -30.2% |
| CALL_BUILTIN_CLASS | 315,189,478 | 220,652,894 | -30.0% |
| POP_JUMP_IF_NOT_NONE | 525,396,381 | 368,396,557 | -29.9% |
| LOAD_FAST_CHECK | 3,974,049 | 2,798,811 | -29.6% |
| CALL_BUILTIN_FAST_WITH_KEYWORDS | 96,006,319 | 124,373,731 | 29.5% |
| CALL_LIST_APPEND | 205,967,469 | 146,400,430 | -28.9% |
| LOAD_ATTR_NONDESCRIPTOR_NO_DICT | 70,070,213 | 50,241,927 | -28.3% |
| LOAD_GLOBAL_BUILTIN | 3,167,792,857 | 2,273,223,292 | -28.2% |
| LOAD_ATTR | 611,397,968 | 439,646,639 | -28.1% |
| BINARY_OP_SUBSCR_TUPLE_INT | 249,354,279 | 181,534,949 | -27.2% |
| CALL_ISINSTANCE | 1,001,864,365 | 754,069,285 | -24.7% |
| LOAD_SPECIAL | 17,502,878 | 13,208,742 | -24.5% |
| LOAD_ATTR_MODULE | 509,446,612 | 384,922,282 | -24.4% |
| SET_FUNCTION_ATTRIBUTE | 54,367,312 | 67,081,179 | 23.4% |
| TO_BOOL | 331,904,936 | 257,302,334 | -22.5% |
| CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 40,585,194 | 31,862,352 | -21.5% |
| CALL_METHOD_DESCRIPTOR_NOARGS | 180,863,719 | 142,357,278 | -21.3% |
| CALL_KW_NON_PY | 41,073,053 | 32,548,469 | -20.8% |
| CALL_NON_PY_GENERAL | 553,334,664 | 441,751,511 | -20.2% |
| BINARY_OP_SUBSCR_LIST_SLICE | 15,587,989 | 12,536,642 | -19.6% |
| RETURN_GENERATOR | 369,301,369 | 298,294,908 | -19.2% |
| LOAD_FAST_LOAD_FAST | 8,560,191 | 6,995,403 | -18.3% |
| BUILD_LIST | 196,697,499 | 162,725,700 | -17.3% |
| EXIT_INIT_CHECK | 323,949,428 | 268,979,493 | -17.0% |
| CALL_ALLOC_AND_ENTER_INIT | 326,002,332 | 270,856,784 | -16.9% |
| STORE_ATTR | 59,731,767 | 49,743,829 | -16.7% |
| COMPARE_OP_FLOAT | 158,660,697 | 132,787,743 | -16.3% |
| BINARY_OP_ADD_UNICODE | 114,562,392 | 96,316,197 | -15.9% |
| LIST_EXTEND | 42,461,499 | 35,752,991 | -15.8% |
| LOAD_SUPER_ATTR_METHOD | 61,108,541 | 51,565,358 | -15.6% |
| CALL_STR_1 | 93,053,504 | 79,753,054 | -14.3% |
| CALL_TUPLE_1 | 6,269,391 | 5,393,629 | -14.0% |
| LOAD_ATTR_SLOT | 3,023,920,687 | 2,654,135,749 | -12.2% |
| LOAD_ATTR_PROPERTY | 70,937,747 | 62,284,888 | -12.2% |
| YIELD_VALUE | 1,151,193,047 | 1,024,373,324 | -11.0% |
| LOAD_FAST_AND_CLEAR | 46,434,172 | 41,600,346 | -10.4% |
| STORE_ATTR_SLOT | 1,544,930,996 | 1,406,047,149 | -9.0% |
| TO_BOOL_NONE | 367,101,558 | 338,830,538 | -7.7% |
| IMPORT_NAME | 10,389,147 | 9,620,614 | -7.4% |
| STORE_SUBSCR | 122,065,495 | 113,094,554 | -7.3% |
| JUMP_BACKWARD_NO_INTERRUPT | 418,752,741 | 390,442,352 | -6.8% |
| BINARY_OP_INPLACE_ADD_UNICODE | 3,423,912 | 3,198,277 | -6.6% |
| POP_ITER | 630,088,168 | 669,231,904 | 6.2% |
| IMPORT_FROM | 12,123,980 | 11,397,728 | -6.0% |
| UNPACK_EX | 235,809 | 222,353 | -5.7% |
| LOAD_ATTR_WITH_HINT | 71,547,633 | 67,478,459 | -5.7% |
| SEND_GEN | 593,230,363 | 559,677,514 | -5.7% |
| MAKE_FUNCTION | 70,255,285 | 73,708,597 | 4.9% |
| GET_YIELD_FROM_ITER | 35,435,795 | 33,750,206 | -4.8% |
| CALL_INTRINSIC_1 | 143,959,103 | 137,925,167 | -4.2% |
| CONVERT_VALUE | 36,897,410 | 35,399,842 | -4.1% |
| FORMAT_SIMPLE | 43,316,829 | 41,891,967 | -3.3% |
| BUILD_STRING | 22,179,370 | 21,473,025 | -3.2% |
| GET_AWAITABLE | 172,683,388 | 167,281,630 | -3.1% |
| JUMP_BACKWARD_NO_JIT | 6,775,330 | 6,590,497 | -2.7% |
| END_SEND | 302,140,427 | 294,941,984 | -2.4% |
| COPY_FREE_VARS | 297,141,912 | 290,100,969 | -2.4% |
| INTERPRETER_EXIT | 1,890,272,073 | 1,877,258,578 | -0.7% |
| CALL_KW | 11,666 | 11,728 | 0.5% |
| CALL_FUNCTION_EX | 219,562,308 | 218,674,065 | -0.4% |
| LOAD_SUPER_ATTR_ATTR | 4,510,099 | 4,492,301 | -0.4% |
| CALL | 222,251 | 222,781 | 0.2% |
| POP_EXCEPT | 25,553,813 | 25,522,892 | -0.1% |
| JUMP_BACKWARD | 6,520 | 6,525 | 0.1% |
| RESUME | 31,203 | 31,180 | -0.1% |
| BUILD_SET | 437,239 | 437,368 | 0.0% |
| SEND | 128,440,667 | 128,462,069 | 0.0% |
| CLEANUP_THROW | 91,596 | 91,588 | -0.0% |
| STORE_ATTR_WITH_HINT | 8,975,993 | 8,975,373 | -0.0% |
| DELETE_ATTR | 331,596 | 331,577 | -0.0% |
| LOAD_GLOBAL | 14,736,780 | 14,737,430 | 0.0% |
| LOAD_ATTR_CLASS_WITH_METACLASS_CHECK | 9,211,860 | 9,211,958 | 0.0% |
| CHECK_EXC_MATCH | 25,211,120 | 25,210,920 | -0.0% |
| PUSH_EXC_INFO | 25,553,815 | 25,553,615 | -0.0% |
| RAISE_VARARGS | 8,594,614 | 8,594,656 | 0.0% |
| RERAISE | 6,248,578 | 6,248,570 | -0.0% |
| INSTRUMENTED_LINE | 58,270,440 | 58,270,440 | 0.0% |
| DELETE_FAST | 41,964,183 | 41,964,183 | 0.0% |
| INSTRUMENTED_RESUME | 29,134,740 | 29,134,740 | 0.0% |
| INSTRUMENTED_RETURN_VALUE | 29,134,440 | 29,134,440 | 0.0% |
| GET_AITER | 6,000,000 | 6,000,000 | 0.0% |
| GET_ANEXT | 6,000,000 | 6,000,000 | 0.0% |
| END_ASYNC_FOR | 6,000,000 | 6,000,000 | 0.0% |
| SET_ADD | 73,592 | 73,592 | 0.0% |
| SET_UPDATE | 68,063 | 68,063 | 0.0% |
| LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN | 49,580 | 49,580 | 0.0% |
| STORE_NAME | 47,906 | 47,906 | 0.0% |
| DICT_UPDATE | 14,747 | 14,747 | 0.0% |
| WITH_EXCEPT_START | 9,631 | 9,631 | 0.0% |
| LOAD_BUILD_CLASS | 3,375 | 3,375 | 0.0% |
| LOAD_LOCALS | 3,352 | 3,352 | 0.0% |
| FORMAT_WITH_SPEC | 2,740 | 2,740 | 0.0% |
| LOAD_SUPER_ATTR | 2,347 | 2,347 | 0.0% |
| LOAD_FROM_DICT_OR_DEREF | 1,460 | 1,460 | 0.0% |
| INSTRUMENTED_JUMP_BACKWARD | 120 | 120 | 0.0% |
| SETUP_ANNOTATIONS | 117 | 117 | 0.0% |
| DELETE_NAME | 15 | 15 | 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 |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,350,514,188 | 7.5% | 581,712,214 | 3.4% | -56.9% |
miss
ⓘSpecialized instructions that deopt. |
61,043,817 | 0.3% | 40,363,149 | 0.2% | -33.9% |
hit
ⓘSpecialized instructions that complete. |
16,712,947,143 | 92.2% | 16,580,749,816 | 96.4% | -0.8% |
deopt
ⓘSpecialized instructions that deopt. |
1,063 | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 552,378 | 32.1% | 343,058 | 30.6% | -37.9% |
| Success | 1,168,031 | 67.9% | 778,392 | 69.4% | -33.4% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| and other | 317 | 0.1% | 1,077 | 0.3% | 239.7% |
| subscr bytes | 1,808 | 0.3% | 4,448 | 1.3% | 146.0% |
| subscr mappingproxy | 60 | 0.0% | 140 | 0.0% | 133.3% |
| subscr | 7,090 | 1.3% | 13,798 | 4.0% | 94.6% |
| true divide float | 11,587 | 2.1% | 1,467 | 0.4% | -87.3% |
| subscr array | 36,682 | 6.6% | 6,512 | 1.9% | -82.2% |
| xor int | 16,760 | 3.0% | 3,680 | 1.1% | -78.0% |
| rshift | 11,290 | 2.0% | 2,659 | 0.8% | -76.4% |
| lshift | 15,422 | 2.8% | 4,364 | 1.3% | -71.7% |
| and int | 18,469 | 3.3% | 7,869 | 2.3% | -57.4% |
| remainder | 36,887 | 6.7% | 16,179 | 4.7% | -56.1% |
| add different types | 25,648 | 4.6% | 12,380 | 3.6% | -51.7% |
| subscr defaultdict | 63,494 | 11.5% | 33,789 | 9.8% | -46.8% |
| out of range | 41,347 | 7.5% | 24,648 | 7.2% | -40.4% |
| subtract other | 8,368 | 1.5% | 5,231 | 1.5% | -37.5% |
| floor divide | 30,096 | 5.4% | 19,143 | 5.6% | -36.4% |
| subscr tuple slice | 109,554 | 19.8% | 82,056 | 23.9% | -25.1% |
| add other | 38,233 | 6.9% | 29,273 | 8.5% | -23.4% |
| multiply other | 15,674 | 2.8% | 12,053 | 3.5% | -23.1% |
| xor | 140 | 0.0% | 120 | 0.0% | -14.3% |
| multiply different types | 13,958 | 2.5% | 12,760 | 3.7% | -8.6% |
| subscr string slice | 2,261 | 0.4% | 2,443 | 0.7% | 8.0% |
| true divide different types | 2,114 | 0.4% | 2,002 | 0.6% | -5.3% |
| or | 3,100 | 0.6% | 2,971 | 0.9% | -4.2% |
| true divide other | 1,387 | 0.3% | 1,343 | 0.4% | -3.2% |
| subtract different types | 630 | 0.1% | 648 | 0.2% | 2.9% |
| subscr range | 3,162 | 0.6% | 3,122 | 0.9% | -1.3% |
| subscr deque | 115 | 0.0% | 116 | 0.0% | 0.9% |
| subscr counter | 26,852 | 4.9% | 26,892 | 7.8% | 0.1% |
| power | 9,121 | 1.7% | 9,123 | 2.7% | 0.0% |
| subscr other slice | 311 | 0.1% | 311 | 0.1% | 0.0% |
| or different types | 156 | 0.0% | 156 | 0.0% | 0.0% |
| subscr structtime | 140 | 0.0% | 140 | 0.0% | 0.0% |
| code complex parameters | 60 | 0.0% | 60 | 0.0% | 0.0% |
| and different types | 41 | 0.0% | 41 | 0.0% | 0.0% |
| subscr ordereddict | 23 | 0.0% | 23 | 0.0% | 0.0% |
| or int | 20 | 0.0% | 20 | 0.0% | 0.0% |
| subscr enumdict | 1 | 0.0% | 1 | 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. |
201,330,139 | 100.0% | 110,727,411 | 100.0% | -45.0% |
specialization stats for CALL family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deopt
ⓘSpecialized instructions that deopt. |
8,000 | 0.0% | 31,501 | 0.0% | 293.8% |
miss
ⓘSpecialized instructions that deopt. |
184,570,027 | 1.4% | 139,086,357 | 1.1% | -24.6% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
181,150,357 | 1.4% | 136,511,523 | 1.1% | -24.6% |
hit
ⓘSpecialized instructions that complete. |
12,601,926,233 | 98.6% | 12,505,587,047 | 98.9% | -0.8% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 3,641,774 | 100.0% | 2,797,468 | 100.0% | -23.2% |
| Failure | 147 | 0.0% | 147 | 0.0% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| init not python | 266 | 181.0% | 286 | 194.6% | 7.5% |
| init not simple | 731 | 497.3% | 731 | 497.3% | 0.0% |
| out of versions | 147 | 100.0% | 147 | 100.0% | 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. |
537,918 | 96.6% | 537,918 | 96.6% | 0.0% |
miss
ⓘSpecialized instructions that deopt. |
545,009 | 97.9% | 545,009 | 97.9% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 18,757 | 100.0% | 18,819 | 100.0% | 0.3% |
| Failure | 0 | 0.0% | 0 | 0.0% |
specialization stats for COMPARE_OP family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
149,872,904 | 2.7% | 94,748,478 | 1.8% | -36.8% |
miss
ⓘSpecialized instructions that deopt. |
1,306,267 | 0.0% | 1,047,201 | 0.0% | -19.8% |
hit
ⓘSpecialized instructions that complete. |
5,316,388,628 | 97.2% | 5,273,361,516 | 98.2% | -0.8% |
deopt
ⓘSpecialized instructions that deopt. |
60 | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 119,669 | 72.1% | 105,883 | 71.9% | -11.5% |
| Success | 46,202 | 27.9% | 41,338 | 28.1% | -10.5% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| bytes | 1,398 | 1.2% | 4,018 | 3.8% | 187.4% |
| float long | 14,421 | 12.1% | 6,931 | 6.5% | -51.9% |
| bool | 1,865 | 1.6% | 1,123 | 1.1% | -39.8% |
| baseobject | 6,423 | 5.4% | 7,944 | 7.5% | 23.7% |
| different types | 38,928 | 32.5% | 34,008 | 32.1% | -12.6% |
| other | 10,653 | 8.9% | 9,388 | 8.9% | -11.9% |
| big int | 30,251 | 25.3% | 27,124 | 25.6% | -10.3% |
| string | 9,729 | 8.1% | 9,225 | 8.7% | -5.2% |
| tuple | 4,105 | 3.4% | 4,205 | 4.0% | 2.4% |
| list | 911 | 0.8% | 931 | 0.9% | 2.2% |
| set | 801 | 0.7% | 802 | 0.8% | 0.1% |
| long float | 184 | 0.2% | 184 | 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. |
158,391,776 | 6.7% | 61,773,398 | 2.7% | -61.0% |
hit
ⓘSpecialized instructions that complete. |
2,191,460,735 | 93.2% | 2,187,469,371 | 97.2% | -0.2% |
miss
ⓘSpecialized instructions that deopt. |
1,402,138 | 0.1% | 1,400,826 | 0.1% | -0.1% |
deopt
ⓘSpecialized instructions that deopt. |
42 | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 58,800 | 67.5% | 126,502 | 81.7% | 115.1% |
| Success | 28,320 | 32.5% | 28,320 | 18.3% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| str | 11,038 | 18.8% | 93,223 | 73.7% | 744.6% |
| list | 28,522 | 48.5% | 12,881 | 10.2% | -54.8% |
| tuple | 10,040 | 17.1% | 12,748 | 10.1% | 27.0% |
| other | 9,200 | 15.6% | 7,650 | 6.0% | -16.8% |
specialization stats for FOR_ITER family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
310,043,480 | 16.7% | 92,824,526 | 11.6% | -70.1% |
miss
ⓘSpecialized instructions that deopt. |
61,944,638 | 3.3% | 23,039,729 | 2.9% | -62.8% |
hit
ⓘSpecialized instructions that complete. |
1,489,689,305 | 80.0% | 674,739,520 | 84.7% | -54.7% |
deopt
ⓘSpecialized instructions that deopt. |
164,635 | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 134,076 | 10.2% | 6,229,820 | 91.3% | 4,546.5% |
| Success | 1,174,404 | 89.8% | 594,574 | 8.7% | -49.4% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| map | 251 | 0.2% | 476,371 | 7.6% | 189,689.2% |
| ascii string | 1,177 | 0.9% | 359,727 | 5.8% | 30,463.0% |
| dict items | 51,352 | 38.3% | 4,307,272 | 69.1% | 8,287.7% |
| list | 16,337 | 12.2% | 777,227 | 12.5% | 4,657.5% |
| seq iter | 5,271 | 3.9% | 137,893 | 2.2% | 2,516.1% |
| itertools | 3,473 | 2.6% | 77,993 | 1.3% | 2,145.7% |
| callable | 114 | 0.1% | 1,914 | 0.0% | 1,578.9% |
| enumerate | 16,190 | 12.1% | 59,615 | 1.0% | 268.2% |
| zip | 4,161 | 3.1% | 9,831 | 0.2% | 136.3% |
| tuple | 232 | 0.2% | 545 | 0.0% | 134.9% |
| dict keys | 10,920 | 8.1% | 3,973 | 0.1% | -63.6% |
| other | 4,459 | 3.3% | 2,331 | 0.0% | -47.7% |
| reversed list | 1,730 | 1.3% | 970 | 0.0% | -43.9% |
| set | 12,469 | 9.3% | 7,083 | 0.1% | -43.2% |
| dict values | 5,580 | 4.2% | 6,795 | 0.1% | 21.8% |
| bytes | 320 | 0.2% | 280 | 0.0% | -12.5% |
| string | 40 | 0.0% |
specialization stats for GET_ITER family
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| other | 126,471,391 | 126,471,391 / 0 !! | 123,354,153 | 123,354,153 / 0 !! | -2.5% |
| list | 311,635,459 | 311,635,459 / 0 !! | 307,485,933 | 307,485,933 / 0 !! | -1.3% |
| set | 12,082,113 | 12,082,113 / 0 !! | 12,130,252 | 12,130,252 / 0 !! | 0.4% |
| generator | 101,610,581 | 101,610,581 / 0 !! | 101,219,186 | 101,219,186 / 0 !! | -0.4% |
| self | 322,214,921 | 322,214,921 / 0 !! | 322,026,255 | 322,026,255 / 0 !! | -0.1% |
| enumerate | 5,390,703 | 5,390,703 / 0 !! | 5,388,867 | 5,388,867 / 0 !! | -0.0% |
| tuple | 172,650,014 | 172,650,014 / 0 !! | 172,617,263 | 172,617,263 / 0 !! | -0.0% |
| dict keys | 34,819,624 | 34,819,624 / 0 !! | 34,819,578 | 34,819,578 / 0 !! | -0.0% |
| string | 2,768,970 | 2,768,970 / 0 !! | 2,768,970 | 2,768,970 / 0 !! | 0.0% |
| bytes | 775,440 | 775,440 / 0 !! | 775,440 | 775,440 / 0 !! | 0.0% |
specialization stats for LOAD_ATTR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deopt
ⓘSpecialized instructions that deopt. |
1,422,762 | 0.0% | 2,148,746 | 0.0% | 51.0% |
miss
ⓘSpecialized instructions that deopt. |
785,153,136 | 5.0% | 434,399,258 | 3.1% | -44.7% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
609,708,003 | 3.9% | 437,699,943 | 3.1% | -28.2% |
hit
ⓘSpecialized instructions that complete. |
14,323,879,124 | 91.1% | 13,231,597,477 | 93.8% | -7.6% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 464,761 | 3.0% | 1,477,137 | 14.5% | 217.8% |
| Success | 14,886,557 | 97.0% | 8,738,628 | 85.5% | -41.3% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| not managed dict | 1,869 | 0.4% | 257,686 | 17.4% | 13,687.4% |
| module attr not found | 22,388 | 4.8% | 532,954 | 36.1% | 2,280.5% |
| method | 44,316 | 9.5% | 378,929 | 25.7% | 755.1% |
| class attr simple | 823 | 0.2% | 4,601 | 0.3% | 459.1% |
| not in dict | 603 | 0.1% | 1,232 | 0.1% | 104.3% |
| mutable class | 47,781 | 10.3% | 74,822 | 5.1% | 56.6% |
| metaclass attribute | 22,240 | 4.8% | 30,207 | 2.0% | 35.8% |
| overridden | 7,713 | 1.7% | 10,396 | 0.7% | 34.8% |
| class method obj | 17,058 | 3.7% | 13,119 | 0.9% | -23.1% |
| overriding descriptor | 45,077 | 9.7% | 37,034 | 2.5% | -17.8% |
| out of versions | 400 | 0.1% | 380 | 0.0% | -5.0% |
| builtin class method | 718 | 0.2% | 742 | 0.1% | 3.3% |
| non overriding descriptor | 4,864 | 1.0% | 4,944 | 0.3% | 1.6% |
| expected error | 2,373 | 0.5% | 2,397 | 0.2% | 1.0% |
| non object slot | 1,139 | 0.2% | 1,139 | 0.1% | 0.0% |
| wrong number arguments | 200 | 0.0% | 200 | 0.0% | 0.0% |
| property | 46 | 0.0% | 46 | 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. |
6,705,944,105 | 99.8% | 5,622,293,170 | 99.7% | -16.2% |
miss
ⓘSpecialized instructions that deopt. |
41,979 | 0.0% | 41,954 | 0.0% | -0.1% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
14,612,709 | 0.2% | 14,612,686 | 0.3% | -0.0% |
deopt
ⓘSpecialized instructions that deopt. |
11 | 0.0% | 11 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 124,775 | 100.0% | 125,450 | 100.0% | 0.5% |
| 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. |
65,622,625 | 100.0% | 65,707,027 | 100.0% | 0.1% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
122 | 0.0% | 122 | 0.0% | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Success | 2,225 | 100.0% | 2,225 | 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 |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
128,406,370 | 17.8% | 128,405,906 | 17.8% | -0.0% |
hit
ⓘSpecialized instructions that complete. |
593,215,652 | 82.2% | 593,215,681 | 82.2% | 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 |
|---|---|---|---|---|---|
| Failure | 33,953 | 98.2% | 55,819 | 98.9% | 64.4% |
| Success | 616 | 1.8% | 616 | 1.1% | 0.0% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| async generator send | 24,440 | 72.0% | 45,960 | 82.3% | 88.1% |
| other | 5,948 | 17.5% | 6,295 | 11.3% | 5.8% |
| tuple | 640 | 1.9% | 660 | 1.2% | 3.1% |
| list | 2,925 | 8.6% | 2,904 | 5.2% | -0.7% |
specialization stats for STORE_ATTR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
miss
ⓘSpecialized instructions that deopt. |
113,414,470 | 4.1% | 74,653,329 | 2.7% | -34.2% |
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
59,648,811 | 2.1% | 49,476,358 | 1.8% | -17.1% |
hit
ⓘSpecialized instructions that complete. |
2,604,404,729 | 93.8% | 2,600,162,167 | 95.4% | -0.2% |
deopt
ⓘSpecialized instructions that deopt. |
15,365 | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 43,984 | 2.0% | 228,157 | 13.5% | 418.7% |
| Success | 2,178,571 | 98.0% | 1,455,734 | 86.5% | -33.2% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| class attr simple | 20,345 | 46.3% | 205,593 | 90.1% | 910.5% |
| other | 236,191 | 537.0% | 117,928 | 51.7% | -50.1% |
| split dict | 3,719 | 8.5% | 2,259 | 1.0% | -39.3% |
| property | 1,729 | 3.9% | 2,326 | 1.0% | 34.5% |
| non object slot | 94 | 0.2% | 115 | 0.1% | 22.3% |
| not in keys | 749 | 1.7% | 829 | 0.4% | 10.7% |
| method | 421 | 1.0% | 377 | 0.2% | -10.5% |
| overriding descriptor | 4,889 | 11.1% | 4,712 | 2.1% | -3.6% |
| not in dict | 7,206 | 16.4% | 7,106 | 3.1% | -1.4% |
| not managed dict | 2,988 | 6.8% | 2,994 | 1.3% | 0.2% |
| overridden | 313 | 0.7% | 313 | 0.1% | 0.0% |
| no dict | 101 | 0.2% | 101 | 0.0% | 0.0% |
| mutable class | 89 | 0.2% | 89 | 0.0% | 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. |
1,232,574 | 100.0% | 700,470 | 100.0% | -43.2% |
specialization stats for STORE_SUBSCR family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
122,021,769 | 11.4% | 113,050,608 | 10.7% | -7.4% |
hit
ⓘSpecialized instructions that complete. |
949,073,122 | 88.6% | 946,980,192 | 89.3% | -0.2% |
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 |
|---|---|---|---|---|---|
| Failure | 40,810 | 93.2% | 41,028 | 93.3% | 0.5% |
| Success | 2,956 | 6.8% | 2,958 | 6.7% | 0.1% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| dict subclass no override | 3,923 | 9.6% | 14,269 | 34.8% | 263.7% |
| bytearray int | 136 | 0.3% | 240 | 0.6% | 76.5% |
| out of range | 1,673 | 4.1% | 493 | 1.2% | -70.5% |
| array int | 14,377 | 35.2% | 8,238 | 20.1% | -42.7% |
| list slice | 2,976 | 7.3% | 2,276 | 5.5% | -23.5% |
| py simple | 17,329 | 42.5% | 15,076 | 36.7% | -13.0% |
| other | 328 | 0.8% | 368 | 0.9% | 12.2% |
| array slice | 68 | 0.2% | 68 | 0.2% | 0.0% |
specialization stats for TO_BOOL family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
331,280,679 | 5.8% | 256,765,889 | 4.9% | -22.5% |
miss
ⓘSpecialized instructions that deopt. |
66,398,834 | 1.2% | 57,396,688 | 1.1% | -13.6% |
hit
ⓘSpecialized instructions that complete. |
5,299,259,668 | 93.0% | 4,892,273,638 | 94.0% | -7.7% |
deopt
ⓘSpecialized instructions that deopt. |
6,995 | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 574,934 | 30.7% | 486,988 | 30.0% | -15.3% |
| Success | 1,300,710 | 69.3% | 1,135,515 | 70.0% | -12.7% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| tuple | 76,245 | 13.3% | 152,965 | 31.4% | 100.6% |
| float | 382 | 0.1% | 22 | 0.0% | -94.2% |
| other | 84,213 | 14.6% | 4,875 | 1.0% | -94.2% |
| mapping | 71,861 | 12.5% | 7,089 | 1.5% | -90.1% |
| sequence | 9,524 | 1.7% | 5,480 | 1.1% | -42.5% |
| bytes | 2,621 | 0.5% | 1,521 | 0.3% | -42.0% |
| dict | 11,532 | 2.0% | 7,609 | 1.6% | -34.0% |
| number | 308,986 | 53.7% | 298,121 | 61.2% | -3.5% |
| set | 9,483 | 1.6% | 9,219 | 1.9% | -2.8% |
| memory view | 87 | 0.0% | 87 | 0.0% | 0.0% |
specialization stats for UNPACK_SEQUENCE family
| Kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,204,378 | 0.1% | 453,232 | 0.0% | -62.4% |
miss
ⓘSpecialized instructions that deopt. |
3,700 | 0.0% | 3,220 | 0.0% | -13.0% |
hit
ⓘSpecialized instructions that complete. |
1,270,926,067 | 99.9% | 1,256,517,986 | 100.0% | -1.1% |
deopt
ⓘSpecialized instructions that deopt. |
20 | 0.0% |
| Success | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| Failure | 736 | 7.0% | 766 | 7.2% | 4.1% |
| Success | 9,779 | 93.0% | 9,839 | 92.8% | 0.6% |
| Failure kind | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| other | 99 | 13.5% | 120 | 15.7% | 21.2% |
| sequence | 505 | 68.6% | 514 | 67.1% | 1.8% |
| iterator | 132 | 17.9% | 132 | 17.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 |
|---|---|---|---|---|---|
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
4,019,985,923 | 3.0% | 2,337,806,743 | 2.8% | -41.8% |
Specialized misses
ⓘSpecialized instructions, e.g. |
1,276,002,561 | 1.0% | 772,140,308 | 0.9% | -39.5% |
Specialized hits
ⓘSpecialized instructions, e.g. |
52,002,222,396 | 38.7% | 31,517,458,251 | 37.7% | -39.4% |
Basic
ⓘInstructions that are not and cannot be specialized, e.g. |
76,952,971,057 | 57.3% | 48,988,273,210 | 58.6% | -36.3% |
Breakdown of deferred (not specialized) instruction counts by family
| Name | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| FOR_ITER | 310,043,480 | 8.6% | 92,824,526 | 4.5% | -70.1% |
| CONTAINS_OP | 158,391,776 | 4.4% | 61,773,398 | 3.0% | -61.0% |
| BINARY_OP | 1,350,514,188 | 37.3% | 581,712,214 | 28.0% | -56.9% |
| BINARY_SLICE | 201,330,139 | 5.6% | 110,727,411 | 5.3% | -45.0% |
| COMPARE_OP | 149,872,904 | 4.1% | 94,748,478 | 4.6% | -36.8% |
| LOAD_ATTR | 609,708,003 | 16.8% | 437,699,943 | 21.0% | -28.2% |
| CALL | 181,150,357 | 5.0% | 136,511,523 | 6.6% | -24.6% |
| TO_BOOL | 331,280,679 | 9.2% | 256,765,889 | 12.3% | -22.5% |
| STORE_SUBSCR | 122,021,769 | 3.4% | 113,050,608 | 5.4% | -7.4% |
| SEND | 128,406,370 | 3.5% | 128,405,906 | 6.2% | -0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
| Name | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| LOAD_ATTR_METHOD_WITH_VALUES | 248,651,374 | 19.5% | 109,188,091 | 14.1% | -56.1% |
| LOAD_ATTR_INSTANCE_VALUE | 326,266,651 | 25.6% | 150,668,071 | 19.5% | -53.8% |
| STORE_ATTR_INSTANCE_VALUE | 93,618,063 | 7.3% | 54,868,965 | 7.1% | -41.4% |
| CALL_PY_EXACT_ARGS | 78,477,963 | 6.1% | 51,243,012 | 6.6% | -34.7% |
| LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 75,511,415 | 5.9% | 54,278,537 | 7.0% | -28.1% |
| TO_BOOL_NONE | 32,152,900 | 2.5% | 28,067,251 | 3.6% | -12.7% |
| TO_BOOL_ALWAYS_TRUE | 27,564,123 | 2.2% | 24,978,579 | 3.2% | -9.4% |
| LOAD_ATTR_SLOT | 80,511,235 | 6.3% | 73,535,405 | 9.5% | -8.7% |
| FOR_ITER_LIST | 30,933,616 | 2.4% | |||
| FOR_ITER_TUPLE | 30,884,246 | 2.4% | |||
| CALL_METHOD_DESCRIPTOR_O | 24,854,440 | 3.2% | |||
| CALL_METHOD_DESCRIPTOR_NOARGS | 20,872,266 | 2.7% |
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,296 | 0.1% | 2,128,101 | 0.0% | -50.2% |
| Calls to Python functions inlined | 6,026,118,478 | 76.1% | 5,857,009,009 | 75.7% | -2.8% |
| Frame objects created | 78,007,742 | 1.0% | 76,010,562 | 1.0% | -2.6% |
| Frames pushed | 6,692,028,625 | 84.5% | 6,551,009,852 | 84.7% | -2.1% |
| Calls via PyEval_EvalFrame (generator) | 613,945,254 | 7.8% | 605,363,982 | 7.8% | -1.4% |
| Calls to PyEval_EvalDefault | 1,894,748,115 | 23.9% | 1,881,734,603 | 24.3% | -0.7% |
| Calls via PyEval_EvalFrame (total) | 1,894,748,115 | 23.9% | 1,881,734,603 | 24.3% | -0.7% |
| Calls via PyEval_EvalFrame (vector) | 1,280,802,861 | 16.2% | 1,276,370,621 | 16.5% | -0.3% |
| Calls via PyEval_EvalFrame (method) | 141,112,765 | 1.8% | 140,848,809 | 1.8% | -0.2% |
| Calls via PyEval_EvalFrame (function vectorcall) | 1,276,526,190 | 16.1% | 1,274,239,145 | 16.5% | -0.2% |
| Calls via PyEval_EvalFrame (api) | 458,246,253 | 5.8% | 457,714,320 | 5.9% | -0.1% |
| Calls via PyEval_EvalFrame (slot) | 305,854,240 | 3.9% | 305,854,903 | 4.0% | 0.0% |
| Calls via PyEval_EvalFrame (function ex) | 24,439,833 | 0.3% | 24,439,836 | 0.3% | 0.0% |
| Calls via PyEval_EvalFrame (build class) | 3,375 | 0.0% | 3,375 | 0.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 | |
|---|---|---|---|---|---|
| Interpreter mortal increfs | 30,315,962,253 | 31.1% | 20,556,828,118 | 21.4% | -32.2% |
| Interpreter immortal decrefs | 1,475,369,771 | 1.3% | 1,105,155,383 | 1.0% | -25.1% |
| Mortal increfs | 38,021,167,062 | 39.0% | 46,714,294,527 | 48.7% | 22.9% |
| Interpreter mortal decrefs | 39,305,994,934 | 35.1% | 32,352,037,633 | 29.3% | -17.7% |
| Interpreter immortal increfs | 4,016,235,923 | 4.1% | 3,314,885,353 | 3.5% | -17.5% |
| Materialize dict (on request) | 4,056,483 | 2.1% | 3,390,883 | 1.8% | -16.4% |
| Method cache hits | 2,300,074,768 | 1,953,964,265 | -15.0% | ||
| Mortal decrefs | 47,355,402,945 | 42.2% | 53,040,103,941 | 48.0% | 12.0% |
| Method cache dunder misses | 6,230,532 | 6,512,580 | 4.5% | ||
| Frees to freelist | 13,845,791,930 | 13,662,123,949 | -1.3% | ||
| Allocations from freelist | 13,845,600,010 | 70.3% | 13,661,942,791 | 70.1% | -1.3% |
| Allocations to 512 bytes | 5,782,068,426 | 29.3% | 5,753,872,573 | 29.5% | -0.5% |
| Frees | 6,452,176,760 | 6,420,993,544 | -0.5% | ||
| Allocations | 5,860,221,974 | 29.7% | 5,832,103,099 | 29.9% | -0.5% |
| Method cache dunder hits | 2,889,855,749 | 2,876,138,324 | -0.5% | ||
| Method cache collisions | 61,630,374 | 61,909,328 | 0.5% | ||
| Immortal increfs | 25,222,819,420 | 25.8% | 25,332,446,786 | 26.4% | 0.4% |
| Allocations over 4 kbytes | 6,775,536 | 0.0% | 6,799,209 | 0.0% | 0.3% |
| Inline values | 190,517,854 | 189,911,190 | -0.3% | ||
| Immortal decrefs | 23,949,575,720 | 21.4% | 23,893,691,504 | 21.6% | -0.2% |
| Method cache misses | 56,202,928 | 56,140,672 | -0.1% | ||
| Allocations to 4 kbytes | 71,378,012 | 0.4% | 71,431,317 | 0.4% | 0.1% |
| Materialize dict (new key) | 264,809 | 0.1% | 264,809 | 0.1% | 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 | 358,124 | 98,775,759 | 9,544,198,110 | 776,465,701 | 747,993,672 | 357,669 | 98,916,343 | 9,562,006,244 | 775,398,725 | 748,357,383 |
| 2 | 15,998 | 8,734,250 | 11,440,437,150 | 0 | 0 | 15,998 | 8,734,250 | 11,441,288,766 | 0 | 0 |
statistics about the Tier 2 optimizer
| Base Count | Base Ratio | Head Count | Head Ratio | Change | |
|---|---|---|---|---|---|
Optimization attempts
ⓘThe number of times a potential trace is identified. Specifically, this occurs in the JUMP BACKWARD instruction when the counter reaches a threshold. |
502,367 | 24,299,847 | 4,737.1% | ||
Trace too long
ⓘA trace is truncated because it is longer than the instruction buffer. |
60 | 0.0% | 1,576 | 0.0% | 2,526.7% |
Inner loop found
ⓘA trace is truncated because it has an inner loop |
693 | 0.1% | 7,352 | 0.0% | 960.9% |
Traces created
ⓘThe number of traces that were successfully created. |
23,056 | 4.6% | 94,022 | 0.4% | 307.8% |
Executors invalidated
ⓘThe number of executors that were invalidated due to watched dictionary changes. |
240 | 1.0% | 525 | 0.6% | 118.8% |
Trace stack overflow
ⓘA trace is truncated because it would require more than 5 stack frames. |
62 | 0.0% | 0 | 0.0% | -100.0% |
Trace stack underflow
ⓘA potential trace is abandoned because it pops more frames than it pushes. |
217,689 | 43.3% | 0 | 0.0% | -100.0% |
Trace too short
ⓘA potential trace is abandoned because it is too short. |
47,608 | 9.5% | 0 | 0.0% | -100.0% |
Recursive call
ⓘA trace is truncated because it has a recursive call. |
747 | 0.1% | 0 | 0.0% | -100.0% |
Low confidence
ⓘA trace is abandoned because the likelihood of the jump to top being taken is too low. |
624 | 0.1% | 0 | 0.0% | -100.0% |
Unknown callee
ⓘA trace is abandoned because the target of a call is unknown. |
213,952 | 42.6% | 0 | 0.0% | -100.0% |
Uops executed
ⓘThe total number of uops (micro-operations) that were executed |
231,341,483,183 | 5,313.7% | 355,925,954,195 | 6,050.3% | 53.9% |
Traces executed
ⓘThe number of traces that were executed |
4,353,705,071 | 5,882,818,893 | 35.1% |
| Base Count | Base Ratio | Head Count | Head Ratio | Change | |
|---|---|---|---|---|---|
Optimizer successes
ⓘThe number of traces that were successfully optimized. |
19,756 | 85.7% | 92,755 | 98.7% | 369.5% |
Optimizer attempts
ⓘThe number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run. |
23,056 | 94,022 | 307.8% | ||
Optimizer no memory
ⓘThe number of optimizations that failed due to no memory. |
0 | 0.0% | 0 | 0.0% | |
Remove globals builtins changed
ⓘThe builtins changed during optimization |
0 | 0.0% | 0 | 0.0% | |
Remove globals incorrect keys
ⓘThe keys in the globals dictionary aren't what was expected |
0 | 0.0% | 0 | 0.0% |
JIT memory stats
| Base Size (bytes) | Base Ratio | Head Size (bytes) | Head Ratio | Change | |
|---|---|---|---|---|---|
Freed memory size
ⓘThe size of the memory freed from the JIT traces |
815,104 | 0.5% | 133,275,648 | 10.3% | 16,250.8% |
Code size
ⓘThe size of the memory allocated for the code of the JIT traces |
133,304,726 | 75.3% | 1,086,482,281 | 83.7% | 715.0% |
Total memory size
ⓘThe total size of the memory allocated for the JIT traces |
177,147,904 | 1,298,219,008 | 632.8% | ||
Data size
ⓘThe size of the memory allocated for the data of the JIT traces |
3,216,592 | 1.8% | 21,008,720 | 1.6% | 553.1% |
Padding size
ⓘThe size of the memory allocated for the padding of the JIT traces |
40,606,750 | 22.9% | 190,635,210 | 14.7% | 369.5% |
Trampoline size
ⓘThe size of the memory allocated for the trampolines of the JIT traces |
0 | 0.0% | 0 | 0.0% |
JIT trace total memory histogram
| Size (bytes) | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| <= 4,096 | 8,185 | 41.3% | 29,840 | 32.2% | 264.6% |
| <= 8,192 | 6,949 | 35.0% | 24,462 | 26.4% | 252.0% |
| <= 16,384 | 3,026 | 15.3% | 19,843 | 21.4% | 555.8% |
| <= 32,768 | 1,376 | 6.9% | 11,636 | 12.5% | 745.6% |
| <= 65,536 | 300 | 1.5% | 5,267 | 5.7% | 1,655.7% |
| <= 131,072 | 1,749 | 1.9% |
trace length histogram
| Range | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| <= 8 | 1,053 | 4.6% | |||
| <= 16 | 814 | 3.5% | |||
| <= 32 | 3,582 | 15.5% | |||
| <= 64 | 7,647 | 33.2% | |||
| <= 128 | 4,419 | 19.2% | |||
| <= 256 | 4,212 | 18.3% | |||
| <= 512 | 1,201 | 5.2% | |||
| <= 1,024 | 128 | 0.6% |
optimized trace length histogram
| Range | Base Count | Base Ratio | Head Count | Head Ratio | Change |
|---|---|---|---|---|---|
| <= 4 | 673 | 2.9% | 20 | 0.0% | -97.0% |
| <= 8 | 526 | 2.3% | 788 | 0.8% | 49.8% |
| <= 16 | 1,988 | 8.6% | 12,944 | 13.8% | 551.1% |
| <= 32 | 7,051 | 30.6% | 23,914 | 25.4% | 239.2% |
| <= 64 | 6,044 | 26.2% | 23,784 | 25.3% | 293.5% |
| <= 128 | 1,858 | 8.1% | 14,784 | 15.7% | 695.7% |
| <= 256 | 1,385 | 6.0% | 11,432 | 12.2% | 725.4% |
| <= 512 | 231 | 1.0% | 3,693 | 3.9% | 1,498.7% |
| <= 1,024 | 1,396 | 1.5% |
trace run length histogram
uop execution stats
| Name | Base Count | Head Count | Change |
|---|---|---|---|
| _LOAD_SUPER_ATTR_METHOD | 3,985 | 9,631,497 | 241,593.8% |
| _DELETE_SUBSCR | 54,160 | 105,354,936 | 194,425.4% |
| _LOAD_SMALL_INT_1 | 269,900 | 200,344,723 | 74,129.2% |
| _LOAD_SMALL_INT_0 | 352,940 | 161,216,213 | 45,578.1% |
| _GUARD_CALLABLE_ISINSTANCE | 449,298 | 192,669,954 | 42,782.4% |
| _GUARD_THIRD_NULL | 449,298 | 192,669,954 | 42,782.4% |
| _GUARD_NOS_NULL | 270,020 | 101,270,628 | 37,404.9% |
| _ERROR_POP_N | 263 | 95,149 | 36,078.3% |
| _MAKE_CELL | 160,148 | 39,534,581 | 24,586.3% |
| _UNARY_NOT | 212,260 | 48,642,286 | 22,816.4% |
| _LOAD_ATTR_MODULE | 471,948 | 65,182,589 | 13,711.4% |
| _UNARY_NEGATIVE | 954,726 | 97,093,675 | 10,069.8% |
| _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 363,240 | 35,182,347 | 9,585.7% |
| _GUARD_CALLABLE_LEN | 1,120,240 | 84,370,266 | 7,431.4% |
| _INIT_CALL_PY_EXACT_ARGS_2 | 5,364,242 | 305,719,012 | 5,599.2% |
| _UNARY_INVERT | 163,738 | 8,170,837 | 4,890.2% |
| _POP_TOP_LOAD_CONST_INLINE_BORROW | 2,477,668 | 98,801,997 | 3,887.7% |
| _PUSH_NULL_CONDITIONAL | 56,140,165 | 2,129,971,387 | 3,694.0% |
| _CALL_TUPLE_1 | 26,932 | 902,814 | 3,252.2% |
| _LOAD_CONST | 23,245,502 | 699,039,344 | 2,907.2% |
| _LOAD_GLOBAL_MODULE | 21,901,065 | 646,539,466 | 2,852.1% |
| _IMPORT_NAME | 27,762 | 811,765 | 2,824.0% |
| _LOAD_GLOBAL_BUILTINS | 23,670,736 | 530,094,978 | 2,139.5% |
| _GUARD_DORV_NO_DICT | 28,058,849 | 591,609,608 | 2,008.5% |
| _STORE_ATTR_INSTANCE_VALUE | 28,058,849 | 591,609,608 | 2,008.5% |
| _GUARD_TYPE_VERSION_AND_LOCK | 29,686,209 | 592,866,952 | 1,897.1% |
| _CHECK_PEP_523 | 46,427,104 | 598,366,462 | 1,188.8% |
| _LOAD_ATTR_METHOD_WITH_VALUES | 23,189,260 | 276,418,912 | 1,092.0% |
| _STORE_DEREF | 2,834,024 | 25,576,556 | 802.5% |
| _LOAD_FAST_4 | 2,522,739 | 16,750,690 | 564.0% |
| _BUILD_MAP | 8,093,835 | 53,176,495 | 557.0% |
| _COPY_1 | 56,148,891 | 359,351,062 | 540.0% |
| _LOAD_ATTR_CLASS | 3,106,080 | 17,101,650 | 450.6% |
| _HANDLE_PENDING_AND_DEOPT | 9,548 | 49,850 | 422.1% |
| _PY_FRAME_KW | 12,237,291 | 63,541,912 | 419.2% |
| _CHECK_FUNCTION_VERSION_KW | 12,237,291 | 62,777,901 | 413.0% |
| _DICT_MERGE | 5,884,815 | 29,787,782 | 406.2% |
| _RETURN_VALUE | 508,019,574 | 2,379,055,890 | 368.3% |
| _INIT_CALL_PY_EXACT_ARGS | 6,137,792 | 27,598,058 | 349.6% |
| _GUARD_IS_NOT_NONE_POP | 51,809,561 | 232,139,205 | 348.1% |
| _LOAD_FAST_2 | 21,198,257 | 90,125,843 | 325.2% |
| _GUARD_TOS_UNICODE | 42,172,928 | 176,776,532 | 319.2% |
| _BINARY_OP_EXTEND | 52,687,141 | 220,219,198 | 318.0% |
| _CHECK_FUNCTION_EXACT_ARGS | 161,035,011 | 654,582,932 | 306.5% |
| _GUARD_BINARY_OP_EXTEND | 62,227,141 | 246,184,018 | 295.6% |
| _CHECK_FUNCTION_VERSION | 214,345,287 | 836,977,169 | 290.5% |
| _STORE_FAST_2 | 237,253,742 | 924,614,617 | 289.7% |
| _CHECK_STACK_SPACE | 111,036,577 | 427,195,351 | 284.7% |
| _INIT_CALL_PY_EXACT_ARGS_0 | 136,472,141 | 522,750,931 | 283.0% |
| _PY_FRAME_GENERAL | 45,540,800 | 174,045,233 | 282.2% |
| _LOAD_ATTR_WITH_HINT | 1,323,217 | 4,944,047 | 273.6% |
| _BINARY_OP_MULTIPLY_FLOAT | 82,564,084 | 296,696,358 | 259.4% |
| _CHECK_MANAGED_OBJECT_HAS_VALUES | 920,227,297 | 3,287,458,673 | 257.2% |
| _LOAD_ATTR_INSTANCE_VALUE | 920,184,857 | 3,286,760,280 | 257.2% |
| _STORE_ATTR_SLOT | 59,184,907 | 198,069,274 | 234.7% |
| _STORE_ATTR | 5,031,398 | 16,680,483 | 231.5% |
| _INIT_CALL_PY_EXACT_ARGS_1 | 217,964,985 | 688,077,785 | 215.7% |
| _DEOPT | 9,888,557 | 30,633,770 | 209.8% |
| _UNPACK_SEQUENCE | 364,500 | 1,115,742 | 206.1% |
| _INIT_CALL_PY_EXACT_ARGS_3 | 45,499,670 | 138,912,114 | 205.3% |
| _POP_TOP_NOP | 118,787,328 | 359,083,896 | 202.3% |
| _CALL_BUILTIN_CLASS | 40,807,623 | 122,131,787 | 199.3% |
| _PUSH_FRAME | 967,662,494 | 2,881,160,699 | 197.7% |
| _GUARD_IS_NONE_POP | 64,250,594 | 184,529,527 | 187.2% |
| _LOAD_FAST_0 | 26,137,232 | 73,693,385 | 181.9% |
| _BINARY_OP_ADD_UNICODE | 10,088,679 | 27,484,042 | 172.4% |
| _STORE_FAST_3 | 337,632,045 | 887,736,480 | 162.9% |
| _SAVE_RETURN_OFFSET | 967,662,494 | 2,428,945,488 | 151.0% |
| _CALL_METHOD_DESCRIPTOR_O | 77,261,102 | 193,451,849 | 150.4% |
| _CHECK_RECURSION_REMAINING | 967,662,494 | 2,420,610,150 | 150.2% |
| _RETURN_GENERATOR | 47,734,139 | 118,582,412 | 148.4% |
| _TIER2_RESUME_CHECK | 2,397,440,899 | 5,857,555,478 | 144.3% |
| _GUARD_TOS_TUPLE | 345,586,121 | 840,446,524 | 143.2% |
| _CONTAINS_OP | 69,094,889 | 164,736,462 | 138.4% |
| _CALL_ISINSTANCE | 174,383,886 | 413,728,007 | 137.3% |
| _GUARD_KEYS_VERSION | 750,237,687 | 1,748,856,354 | 133.1% |
| _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT | 750,380,347 | 1,749,162,753 | 133.1% |
| _UNPACK_SEQUENCE_TWO_TUPLE | 263,469,479 | 612,762,614 | 132.6% |
| _CHECK_CALL_BOUND_METHOD_EXACT_ARGS | 52,932,020 | 120,877,432 | 128.4% |
| _INIT_CALL_BOUND_METHOD_EXACT_ARGS | 52,932,020 | 120,876,832 | 128.4% |
| _LOAD_FAST_1 | 90,677,910 | 201,807,865 | 122.6% |
| _LOAD_FAST_BORROW_0 | 3,265,354,636 | 7,251,242,185 | 122.1% |
| _POP_TOP | 611,996,504 | 1,354,243,369 | 121.3% |
| _TO_BOOL_BOOL | 900,380,128 | 1,967,653,751 | 118.5% |
| _GUARD_NOS_TUPLE | 35,941,400 | 77,317,959 | 115.1% |
| _GUARD_TOS_FLOAT | 298,345,881 | 637,794,888 | 113.8% |
| _BINARY_OP_SUBSCR_TUPLE_INT | 42,078,620 | 88,300,578 | 109.8% |
| _CHECK_FUNCTION_VERSION_INLINE | 775,374,192 | 1,619,158,143 | 108.8% |
| _CHECK_STACK_SPACE_OPERAND | 450,781,074 | 928,691,232 | 106.0% |
| _GUARD_TYPE_VERSION | 2,665,095,883 | 5,458,609,384 | 104.8% |
| _EXPAND_METHOD | 5,976,000 | 11,812,160 | 97.7% |
| _LOAD_FAST_BORROW_2 | 1,748,431,000 | 3,325,714,778 | 90.2% |
| _BINARY_OP_MULTIPLY_INT | 94,628,877 | 179,322,366 | 89.5% |
| _LOAD_ATTR_SLOT | 429,239,042 | 789,249,405 | 83.9% |
| _CHECK_METHOD_VERSION | 5,976,000 | 10,929,500 | 82.9% |
| _LOAD_FAST_BORROW_1 | 3,745,873,640 | 6,841,187,047 | 82.6% |
| _LOAD_CONST_UNDER_INLINE | 1,079,652,386 | 1,892,717,818 | 75.3% |
| _CHECK_ATTR_METHOD_LAZY_DICT | 44,368,140 | 76,332,516 | 72.0% |
| _LOAD_ATTR | 304,711,809 | 523,891,126 | 71.9% |
| _GUARD_TOS_OVERFLOWED | 144,983,587 | 248,861,149 | 71.6% |
| _LOAD_DEREF | 488,643,802 | 837,252,573 | 71.3% |
| _BINARY_OP | 1,074,713,527 | 1,807,095,638 | 68.1% |
| _CALL_METHOD_DESCRIPTOR_FAST | 146,225,820 | 245,422,402 | 67.8% |
| _CALL_BUILTIN_FAST_WITH_KEYWORDS | 50,628,850 | 16,790,385 | -66.8% |
| _STORE_FAST_1 | 1,046,039,705 | 1,697,823,550 | 62.3% |
| _CHECK_ATTR_CLASS | 213,637,320 | 344,795,136 | 61.4% |
| _GUARD_TOS_INT | 1,781,318,394 | 2,870,330,054 | 61.1% |
| _UNPACK_SEQUENCE_TUPLE | 237,193,280 | 364,481,094 | 53.7% |
| _CHECK_VALIDITY | 33,528,158,745 | 51,026,563,994 | 52.2% |
| _STORE_FAST_6 | 404,658,256 | 615,550,643 | 52.1% |
| _SET_IP | 38,093,474,674 | 57,748,460,399 | 51.6% |
| _GUARD_NOS_FLOAT | 667,851,901 | 1,011,687,211 | 51.5% |
| _COMPARE_OP_FLOAT | 37,039,760 | 55,746,907 | 50.5% |
| _LOAD_FAST_5 | 3,445,911 | 5,131,094 | 48.9% |
| _BINARY_OP_ADD_FLOAT | 305,788,274 | 454,465,101 | 48.6% |
| _GUARD_NOS_INT | 1,972,489,249 | 2,926,409,065 | 48.4% |
| _LOAD_FAST_BORROW_6 | 802,108,679 | 1,188,105,169 | 48.1% |
| _GUARD_GLOBALS_VERSION | 2,191,253,508 | 3,224,968,699 | 47.2% |
| _BUILD_TUPLE | 569,140,269 | 836,729,330 | 47.0% |
| _COLD_EXIT | 733,956,790 | 1,074,189,749 | 46.4% |
| _GUARD_NOT_EXHAUSTED_RANGE | 427,723,907 | 623,453,724 | 45.8% |
| _ITER_CHECK_RANGE | 427,723,907 | 623,453,724 | 45.8% |
| _ITER_NEXT_RANGE | 406,690,156 | 587,686,013 | 44.5% |
| _GUARD_NOS_DICT | 403,392,661 | 579,333,123 | 43.6% |
| _MAP_ADD | 40,824,726 | 58,441,513 | 43.2% |
| _CALL_KW_NON_PY | 19,731,666 | 28,234,161 | 43.1% |
| _CHECK_IS_NOT_PY_CALLABLE_KW | 19,731,666 | 28,234,161 | 43.1% |
| _IS_OP | 252,648,121 | 360,088,943 | 42.5% |
| _GUARD_IS_TRUE_POP | 2,652,727,191 | 3,757,999,484 | 41.7% |
| _TO_BOOL_INT | 154,370,328 | 218,587,021 | 41.6% |
| _LOAD_FAST_BORROW_3 | 2,602,101,201 | 3,678,429,381 | 41.4% |
| _GUARD_NOT_EXHAUSTED_LIST | 1,367,799,599 | 1,918,526,788 | 40.3% |
| _GUARD_TOS_DICT | 248,909,661 | 347,704,013 | 39.7% |
| _TO_BOOL_STR | 37,123,103 | 51,574,057 | 38.9% |
| _CONTAINS_OP_DICT | 267,807,753 | 367,344,376 | 37.2% |
| _ITER_NEXT_LIST_TIER_TWO | 1,239,566,240 | 1,699,845,743 | 37.1% |
| _GET_ITER | 512,457,819 | 697,804,193 | 36.2% |
| _CALL_BUILTIN_O | 573,328,659 | 779,574,530 | 36.0% |
| _COMPARE_OP_INT | 1,656,392,397 | 2,246,158,419 | 35.6% |
| _ITER_CHECK_TUPLE | 346,469,879 | 468,266,049 | 35.2% |
| _GUARD_IS_FALSE_POP | 4,239,335,403 | 5,666,072,666 | 33.7% |
| _TO_BOOL | 140,122,676 | 186,853,813 | 33.4% |
| _START_EXECUTOR | 3,619,748,281 | 4,808,629,144 | 32.8% |
| _CHECK_PERIODIC | 4,484,333,852 | 5,880,228,584 | 31.1% |
| _TO_BOOL_LIST | 45,444,857 | 59,315,578 | 30.5% |
| _STORE_FAST_4 | 1,016,575,069 | 1,316,904,351 | 29.5% |
| _LIST_APPEND | 156,757,059 | 202,991,417 | 29.5% |
| _BUILD_SLICE | 103,178,700 | 132,744,560 | 28.7% |
| _ITER_CHECK_LIST | 1,495,951,197 | 1,921,924,676 | 28.5% |
| _ITER_NEXT_TUPLE | 233,408,249 | 299,571,595 | 28.3% |
| _STORE_FAST_0 | 142,238,307 | 182,531,754 | 28.3% |
| _BINARY_OP_SUBSCR_DICT | 657,588,816 | 840,496,166 | 27.8% |
| _SET_FUNCTION_ATTRIBUTE | 46,444,694 | 33,768,434 | -27.3% |
| _BINARY_SLICE | 340,710,360 | 428,650,420 | 25.8% |
| _STORE_FAST_5 | 799,901,312 | 1,001,407,174 | 25.2% |
| _LOAD_FAST_BORROW | 7,718,377,029 | 9,658,990,401 | 25.1% |
| _CALL_NON_PY_GENERAL | 409,400,187 | 512,310,817 | 25.1% |
| _PUSH_NULL | 3,705,303,886 | 4,632,196,862 | 25.0% |
| _CHECK_IS_NOT_PY_CALLABLE | 410,260,767 | 512,634,925 | 25.0% |
| _GUARD_NOS_UNICODE | 982,829,517 | 1,227,575,828 | 24.9% |
| _LOAD_FAST | 182,151,312 | 226,941,237 | 24.6% |
| _MAKE_WARM | 5,988,562,462 | 7,456,788,729 | 24.5% |
| _STORE_SUBSCR_DICT | 234,655,433 | 291,493,219 | 24.2% |
| _LOAD_FAST_AND_CLEAR | 19,954,728 | 24,785,248 | 24.2% |
| _BINARY_OP_SUBTRACT_INT | 1,123,240,005 | 1,391,654,493 | 23.9% |
| _POP_TOP_LOAD_CONST_INLINE | 265,835,176 | 328,943,068 | 23.7% |
| _CALL_METHOD_DESCRIPTOR_NOARGS | 155,495,534 | 191,903,541 | 23.4% |
| _LOAD_CONST_INLINE | 2,832,406,093 | 3,475,336,631 | 22.7% |
| _BINARY_OP_ADD_INT | 2,303,434,901 | 2,822,595,570 | 22.5% |
| _SWAP_2 | 899,831,056 | 1,098,573,250 | 22.1% |
| _STORE_FAST | 3,866,115,190 | 4,717,533,595 | 22.0% |
| _GUARD_NOT_EXHAUSTED_TUPLE | 345,775,945 | 416,958,209 | 20.6% |
| _LOAD_FAST_6 | 26,715,013 | 31,921,257 | 19.5% |
| _LOAD_ATTR_METHOD_NO_DICT | 1,206,680,466 | 1,438,625,951 | 19.2% |
| _EXIT_TRACE | 3,609,849,907 | 4,284,552,958 | 18.7% |
| _GUARD_NOS_LIST | 2,345,782,880 | 2,771,322,125 | 18.1% |
| _BINARY_OP_SUBTRACT_FLOAT | 182,690,748 | 215,524,794 | 18.0% |
| _BINARY_OP_SUBSCR_STR_INT | 976,111,797 | 1,148,206,295 | 17.6% |
| _CALL_TYPE_1 | 263,274,974 | 309,608,190 | 17.6% |
| _BINARY_OP_SUBSCR_LIST_INT | 2,141,356,686 | 2,494,109,681 | 16.5% |
| _FOR_ITER_TIER_TWO | 1,212,714,853 | 1,402,777,363 | 15.7% |
| _LOAD_FAST_BORROW_4 | 3,879,492,723 | 4,486,113,651 | 15.6% |
| _STORE_SUBSCR_LIST_INT | 471,717,352 | 544,318,799 | 15.4% |
| _LOAD_FAST_BORROW_5 | 3,755,811,616 | 4,333,204,109 | 15.4% |
| _CALL_STR_1 | 47,062,820 | 54,237,197 | 15.2% |
| _LOAD_CONST_INLINE_BORROW | 10,637,123,816 | 12,224,923,314 | 14.9% |
| _CALL_BUILTIN_FAST | 754,556,366 | 861,396,500 | 14.2% |
| _GUARD_TOS_LIST | 105,457,097 | 120,219,924 | 14.0% |
| _LOAD_FAST_BORROW_7 | 2,723,841,411 | 3,059,798,568 | 12.3% |
| _CONTAINS_OP_SET | 1,479,076,357 | 1,657,682,322 | 12.1% |
| _CALL_LEN | 1,101,811,634 | 1,234,355,036 | 12.0% |
| _JUMP_TO_TOP | 2,368,815,264 | 2,648,161,073 | 11.8% |
| _TO_BOOL_NONE | 191,609,882 | 169,926,883 | -11.3% |
| _COMPARE_OP_STR | 1,345,308,739 | 1,494,124,709 | 11.1% |
| _COMPARE_OP | 380,133,630 | 421,983,726 | 11.0% |
| _COPY_FREE_VARS | 46,687,414 | 51,705,859 | 10.7% |
| _BINARY_OP_MULTIPLY_FLOAT__NO_DECREF_INPUTS | 430,309,104 | 476,245,279 | 10.7% |
| _POP_ITER | 421,109,310 | 376,472,619 | -10.6% |
| _STORE_FAST_7 | 1,014,622,136 | 1,119,715,715 | 10.4% |
| _LIST_EXTEND | 70,350,182 | 77,074,066 | 9.6% |
| _GUARD_NOS_OVERFLOWED | 1,228,429,102 | 1,345,229,058 | 9.5% |
| _COPY_2 | 1,533,580,158 | 1,666,754,068 | 8.7% |
| _CALL_INTRINSIC_1 | 70,350,182 | 76,384,306 | 8.6% |
| _LOAD_FAST_3 | 78,215,044 | 84,276,278 | 7.7% |
| _GUARD_TOS_ANY_SET | 1,198,887,372 | 1,286,607,554 | 7.3% |
| _MAKE_FUNCTION | 47,882,593 | 44,466,952 | -7.1% |
| _BUILD_LIST | 485,047,588 | 519,066,510 | 7.0% |
| _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 120,157,171 | 128,488,375 | 6.9% |
| _GUARD_CALLABLE_LIST_APPEND | 876,883,752 | 934,349,672 | 6.6% |
| _BINARY_OP_INPLACE_ADD_UNICODE | 3,530,385 | 3,756,018 | 6.4% |
| _GUARD_NOS_NOT_NULL | 876,883,752 | 930,598,343 | 6.1% |
| _CALL_LIST_APPEND | 1,011,704,326 | 1,071,253,515 | 5.9% |
| _SWAP_3 | 758,452,303 | 786,516,344 | 3.7% |
| _POP_TOP_INT | 16,730,708 | 17,333,842 | 3.6% |
| _UNPACK_SEQUENCE_LIST | 60,012,240 | 61,406,803 | 2.3% |
| _CONVERT_VALUE | 79,515,446 | 80,972,582 | 1.8% |
| _FORMAT_SIMPLE | 80,015,830 | 81,400,260 | 1.7% |
| _BUILD_STRING | 40,187,757 | 40,873,882 | 1.7% |
| _STORE_SUBSCR | 569,327,453 | 565,297,697 | -0.7% |
| _BINARY_OP_SUBSCR_LIST_SLICE | 425,721,392 | 427,782,978 | 0.5% |
| _GUARD_TOS_SLICE | 425,721,392 | 427,782,978 | 0.5% |
| _STORE_SLICE | 111,492,300 | 112,024,400 | 0.5% |
| _INIT_CALL_PY_EXACT_ARGS_4 | 498,445,573 | 500,729,116 | 0.5% |
| _RESUME_CHECK | 886,618,654 | ||
| _GET_ANEXT | 94,136,760 | 94,136,760 | 0.0% |
| _BINARY_OP_SUBTRACT_FLOAT__NO_DECREF_INPUTS | 71,999,640 | 71,999,640 | 0.0% |
| _GUARD_IP | 5,464,787,622 | ||
| _DYNAMIC_EXIT | 493,297,413 | ||
| _FOR_ITER_GEN_FRAME | 266,478,426 | ||
| _BINARY_OP_SUBSCR_CHECK_FUNC | 97,045,202 | ||
| _BINARY_OP_SUBSCR_INIT_CALL | 97,043,742 | ||
| _YIELD_VALUE | 85,988,621 | ||
| _CHECK_AND_ALLOCATE_OBJECT | 56,026,081 | ||
| _CREATE_INIT_FRAME | 55,143,001 | ||
| _EXIT_INIT_CHECK | 55,046,281 | ||
| _END_FOR | 36,251,360 | ||
| _SEND_GEN_FRAME | 33,552,878 | ||
| _REPLACE_WITH_TRUE | 21,669,505 | ||
| _LOAD_COMMON_CONSTANT | 19,742,125 | ||
| _GUARD_CALLABLE_TYPE_1 | 18,871,484 | ||
| _LOAD_FAST_7 | 17,778,639 | ||
| _LOAD_SMALL_INT | 17,046,994 | ||
| _LOAD_ATTR_METHOD_LAZY_DICT | 17,040,796 | ||
| _LOAD_SMALL_INT_3 | 13,141,207 | ||
| _LOAD_SMALL_INT_2 | 12,620,500 | ||
| _LOAD_ATTR_NONDESCRIPTOR_NO_DICT | 12,128,677 | ||
| _LOAD_ATTR_PROPERTY_FRAME | 7,571,327 | ||
| _END_SEND | 7,198,215 | ||
| _GUARD_CALLABLE_STR_1 | 6,073,517 | ||
| _GET_AWAITABLE | 5,401,758 | ||
| _STORE_GLOBAL | 5,361,560 | ||
| _INSERT_NULL | 1,694,518 | ||
| _LOAD_SPECIAL | 1,694,518 | ||
| _GET_YIELD_FROM_ITER | 1,685,382 | ||
| _LOAD_FAST_CHECK | 1,198,439 | ||
| _CHECK_METHOD_VERSION_KW | 764,011 | ||
| _EXPAND_METHOD_KW | 764,011 | ||
| _IMPORT_FROM | 742,028 | ||
| _POP_EXCEPT | 30,721 | ||
| _GUARD_CALLABLE_TUPLE_1 | 28,780 | ||
| _LOAD_SUPER_ATTR_ATTR | 17,871 | ||
| _LOAD_GLOBAL | 14,720 | ||
| _UNPACK_EX | 13,456 | ||
| _STORE_ATTR_WITH_HINT | 620 |
Pair counts for top 100 Non-JIT uop 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.
unsupported opcodes
| Opcode | Base Count | Head Count | Change |
|---|---|---|---|
| CALL_FUNCTION_EX | 23,767 | ||
| SEND | 23,001 | ||
| CALL | 1,830 |
Optimization stopped after encountering this opcode
Counts of rare/unlikely events
| Event | Base Count | Head Count | Change |
|---|---|---|---|
watched dict modification
ⓘA watched dict has been modified |
120 | 286 | 138.3% |
watched globals modification
ⓘA watched |
120 | 286 | 138.3% |
set class
ⓘSetting an object's class, |
22,592 | 22,592 | 0.0% |
set bases
ⓘSetting the bases of a class, |
22 | 22 | 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. |
313 | 313 | 0.0% |
Meta statistics
| Base Count | Head Count | Change | |
|---|---|---|---|
| Number of data files | 2,436 | 2,436 | 0.0% |
Stats gathered on: 2025-10-23