- benchmark: pickle_pure_python
- fork: brandtbucher
- ref: justin-no-externs
- commit hash: 64b198a
- commit date: 2024-10-25T10:03:36-07:00
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 | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
LOAD_FAST | 134,606,520 | 24.2% | 24.2% | |
LOAD_ATTR_INSTANCE_VALUE | 46,549,020 | 8.4% | 32.6% | |
POP_JUMP_IF_FALSE | 31,445,800 | 5.7% | 38.2% | |
STORE_FAST | 27,953,340 | 5.0% | 43.2% | |
LOAD_GLOBAL_BUILTIN | 24,784,440 | 4.5% | 47.7% | |
POP_TOP | 23,041,340 | 4.1% | 51.8% | |
RESUME_CHECK | 22,436,800 | 4.0% | 55.9% | 0.0% |
LOAD_CONST | 20,245,360 | 3.6% | 59.5% | |
RETURN_CONST | 20,140,980 | 3.6% | 63.1% | |
LOAD_GLOBAL_MODULE | 14,734,840 | 2.6% | 65.8% | |
COMPARE_OP_INT | 11,746,880 | 2.1% | 67.9% | 1.4% |
LOAD_ATTR_METHOD_WITH_VALUES | 11,056,500 | 2.0% | 69.9% | |
CALL_PY_EXACT_ARGS | 11,011,500 | 2.0% | 71.9% | 6.0% |
LOAD_ATTR_METHOD_LAZY_DICT | 8,544,020 | 1.5% | 73.4% | |
POP_JUMP_IF_NONE | 8,505,600 | 1.5% | 74.9% | |
TO_BOOL_ALWAYS_TRUE | 8,429,780 | 1.5% | 76.4% | 0.6% |
RETURN_VALUE | 8,275,480 | 1.5% | 77.9% | |
LOAD_ATTR_METHOD_NO_DICT | 8,006,520 | 1.4% | 79.4% | |
CALL_BUILTIN_O | 7,987,200 | 1.4% | 80.8% | |
TO_BOOL_BOOL | 6,045,260 | 1.1% | 81.9% | |
PUSH_NULL | 5,985,180 | 1.1% | 83.0% | |
CALL_BUILTIN_FAST | 5,927,180 | 1.1% | 84.0% | |
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 5,779,200 | 1.0% | 85.1% | |
POP_JUMP_IF_TRUE | 5,738,040 | 1.0% | 86.1% | |
LOAD_FAST_LOAD_FAST | 5,735,460 | 1.0% | 87.1% | |
IS_OP | 5,664,060 | 1.0% | 88.1% | |
CALL_METHOD_DESCRIPTOR_FAST | 5,587,200 | 1.0% | 89.1% | |
CALL_BOUND_METHOD_EXACT_ARGS | 5,565,200 | 1.0% | 90.1% | |
CALL_METHOD_DESCRIPTOR_O | 5,510,480 | 1.0% | 91.1% | |
BINARY_OP | 5,240,360 | 0.9% | 92.1% | |
CALL_LEN | 5,107,200 | 0.9% | 93.0% | |
ENTER_EXECUTOR | 3,171,840 | 0.6% | 93.6% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 3,033,660 | 0.5% | 94.1% | |
CALL_PY_GENERAL | 2,973,240 | 0.5% | 94.6% | |
NOP | 2,880,060 | 0.5% | 95.2% | |
CALL_TYPE_1 | 2,822,400 | 0.5% | 95.7% | |
CALL_BOUND_METHOD_GENERAL | 2,707,200 | 0.5% | 96.2% | |
JUMP_FORWARD | 2,553,660 | 0.5% | 96.6% | |
BUILD_TUPLE | 2,496,180 | 0.4% | 97.1% | |
CONTAINS_OP_DICT | 2,496,000 | 0.4% | 97.5% | |
STORE_SUBSCR_DICT | 2,476,800 | 0.4% | 98.0% | |
TO_BOOL_INT | 2,476,800 | 0.4% | 98.4% | |
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 2,342,400 | 0.4% | 98.8% | |
EXTENDED_ARG | 2,323,200 | 0.4% | 99.2% | |
STORE_ATTR_INSTANCE_VALUE | 864,000 | 0.2% | 99.4% | |
LOAD_ATTR | 365,560 | 0.1% | 99.5% | |
CALL_NON_PY_GENERAL | 323,880 | 0.1% | 99.5% | |
COMPARE_OP | 299,200 | 0.1% | 99.6% | |
CALL_BUILTIN_CLASS | 249,660 | 0.0% | 99.6% | |
COPY | 249,600 | 0.0% | 99.7% | |
SWAP | 192,000 | 0.0% | 99.7% | |
LOAD_ATTR_MODULE | 189,480 | 0.0% | 99.7% | |
GET_ITER | 153,720 | 0.0% | 99.8% | |
STORE_FAST_STORE_FAST | 134,460 | 0.0% | 99.8% | |
UNPACK_SEQUENCE_TWO_TUPLE | 134,460 | 0.0% | 99.8% | |
POP_JUMP_IF_NOT_NONE | 115,260 | 0.0% | 99.8% | |
CALL_ISINSTANCE | 115,200 | 0.0% | 99.9% | |
FOR_ITER | 96,140 | 0.0% | 99.9% | |
CALL_KW_NON_PY | 93,180 | 0.0% | 99.9% | |
INTERPRETER_EXIT | 76,800 | 0.0% | 99.9% | |
BUILD_MAP | 76,800 | 0.0% | 99.9% | |
EXIT_INIT_CHECK | 57,600 | 0.0% | 99.9% | |
CALL_ALLOC_AND_ENTER_INIT | 57,600 | 0.0% | 99.9% | |
CALL_KW_PY | 57,600 | 0.0% | 99.9% | |
FOR_ITER_LIST | 57,600 | 0.0% | 100.0% | |
TO_BOOL_NONE | 57,460 | 0.0% | 100.0% | 88.5% |
TO_BOOL | 38,540 | 0.0% | 100.0% | |
BINARY_SUBSCR_TUPLE_INT | 38,460 | 0.0% | 100.0% | |
COMPARE_OP_STR | 38,400 | 0.0% | 100.0% | |
CALL_FUNCTION_EX | 19,320 | 0.0% | 100.0% | |
CONTAINS_OP | 19,240 | 0.0% | 100.0% | |
BINARY_OP_ADD_INT | 19,200 | 0.0% | 100.0% | |
BINARY_SUBSCR_DICT | 19,200 | 0.0% | 100.0% | |
CALL | 260 | 0.0% | 100.0% | |
LOAD_GLOBAL | 180 | 0.0% | 100.0% | |
LOAD_DEREF | 120 | 0.0% | 100.0% | |
MAKE_FUNCTION | 60 | 0.0% | 100.0% | |
BUILD_LIST | 60 | 0.0% | 100.0% | |
CALL_INTRINSIC_1 | 60 | 0.0% | 100.0% | |
COPY_FREE_VARS | 60 | 0.0% | 100.0% | |
JUMP_BACKWARD | 60 | 0.0% | 100.0% | |
LIST_EXTEND | 60 | 0.0% | 100.0% | |
MAKE_CELL | 60 | 0.0% | 100.0% | |
SET_FUNCTION_ATTRIBUTE | 60 | 0.0% | 100.0% | |
STORE_DEREF | 60 | 0.0% | 100.0% | |
BINARY_OP_SUBTRACT_FLOAT | 60 | 0.0% | 100.0% | |
FOR_ITER_RANGE | 60 | 0.0% | 100.0% | |
FOR_ITER_TUPLE | 60 | 0.0% | 100.0% | |
BINARY_SUBSCR | 20 | 0.0% | 100.0% | |
UNPACK_SEQUENCE | 20 | 0.0% | 100.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.
Pair | Count | Self | Cumulative |
---|---|---|---|
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 46,548,920 | 8.4% | 8.4% |
STORE_FAST LOAD_FAST | 22,272,540 | 4.0% | 12.4% |
POP_JUMP_IF_FALSE LOAD_FAST | 20,213,780 | 3.6% | 16.0% |
RESUME_CHECK LOAD_FAST | 19,389,400 | 3.5% | 19.5% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 18,928,440 | 3.4% | 22.9% |
RETURN_CONST POP_TOP | 17,184,120 | 3.1% | 26.0% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 10,998,960 | 2.0% | 28.0% |
POP_TOP RETURN_CONST | 8,717,000 | 1.6% | 29.5% |
LOAD_CONST COMPARE_OP_INT | 8,690,960 | 1.6% | 31.1% |
COMPARE_OP_INT POP_JUMP_IF_FALSE | 8,671,760 | 1.6% | 32.6% |
LOAD_FAST POP_JUMP_IF_NONE | 8,505,600 | 1.5% | 34.2% |
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_FALSE | 8,428,820 | 1.5% | 35.7% |
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_ALWAYS_TRUE | 8,427,500 | 1.5% | 37.2% |
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES | 8,083,280 | 1.5% | 38.7% |
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST | 8,022,840 | 1.4% | 40.1% |
LOAD_FAST CALL_BUILTIN_O | 7,910,400 | 1.4% | 41.5% |
LOAD_FAST CALL_PY_EXACT_ARGS | 7,888,380 | 1.4% | 42.9% |
LOAD_FAST LOAD_CONST | 6,695,360 | 1.2% | 44.1% |
TO_BOOL_BOOL POP_JUMP_IF_FALSE | 5,779,220 | 1.0% | 45.2% |
LOAD_FAST PUSH_NULL | 5,776,500 | 1.0% | 46.2% |
LOAD_FAST LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 5,683,200 | 1.0% | 47.2% |
IS_OP POP_JUMP_IF_FALSE | 5,664,000 | 1.0% | 48.3% |
RETURN_VALUE POP_TOP | 5,644,880 | 1.0% | 49.3% |
POP_JUMP_IF_NONE LOAD_FAST | 5,625,600 | 1.0% | 50.3% |
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST | 5,587,200 | 1.0% | 51.3% |
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_LAZY_DICT | 5,568,020 | 1.0% | 52.3% |
CALL_BOUND_METHOD_EXACT_ARGS RESUME_CHECK | 5,565,200 | 1.0% | 53.3% |
LOAD_FAST CALL_METHOD_DESCRIPTOR_O | 5,510,420 | 1.0% | 54.3% |
CALL_METHOD_DESCRIPTOR_O RETURN_VALUE | 5,510,420 | 1.0% | 55.3% |
LOAD_ATTR_METHOD_LAZY_DICT LOAD_FAST | 5,510,420 | 1.0% | 56.3% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 5,376,000 | 1.0% | 57.2% |
POP_JUMP_IF_FALSE LOAD_GLOBAL_BUILTIN | 5,318,400 | 1.0% | 58.2% |
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST | 5,085,180 | 0.9% | 59.1% |
CALL_LEN STORE_FAST | 4,992,000 | 0.9% | 60.0% |
POP_TOP LOAD_FAST | 3,510,780 | 0.6% | 60.6% |
LOAD_CONST LOAD_FAST | 3,203,600 | 0.6% | 61.2% |
POP_TOP ENTER_EXECUTOR | 3,152,640 | 0.6% | 61.8% |
LOAD_ATTR_INSTANCE_VALUE STORE_FAST | 3,110,400 | 0.6% | 62.3% |
POP_JUMP_IF_TRUE LOAD_FAST | 3,069,180 | 0.6% | 62.9% |
ENTER_EXECUTOR RETURN_CONST | 3,033,580 | 0.5% | 63.4% |
LOAD_FAST LOAD_ATTR_METHOD_LAZY_DICT | 2,976,000 | 0.5% | 64.0% |
CALL_BUILTIN_FAST STORE_FAST | 2,976,000 | 0.5% | 64.5% |
LOAD_ATTR_METHOD_LAZY_DICT CALL_METHOD_DESCRIPTOR_NOARGS | 2,976,000 | 0.5% | 65.0% |
CALL_PY_GENERAL RESUME_CHECK | 2,973,180 | 0.5% | 65.6% |
COMPARE_OP_INT POP_JUMP_IF_TRUE | 2,956,800 | 0.5% | 66.1% |
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_BOOL | 2,918,420 | 0.5% | 66.6% |
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_WITH_VALUES | 2,918,400 | 0.5% | 67.1% |
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES COMPARE_OP_INT | 2,918,400 | 0.5% | 67.7% |
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_MODULE | 2,915,580 | 0.5% | 68.2% |
LOAD_FAST LOAD_GLOBAL_BUILTIN | 2,899,200 | 0.5% | 68.7% |
LOAD_FAST LOAD_GLOBAL_MODULE | 2,899,200 | 0.5% | 69.2% |
CALL_METHOD_DESCRIPTOR_NOARGS LOAD_FAST | 2,899,200 | 0.5% | 69.8% |
LOAD_FAST TO_BOOL_BOOL | 2,860,840 | 0.5% | 70.3% |
LOAD_GLOBAL_MODULE LOAD_GLOBAL_MODULE | 2,858,080 | 0.5% | 70.8% |
CALL_BUILTIN_FAST BINARY_OP | 2,858,000 | 0.5% | 71.3% |
LOAD_GLOBAL_MODULE LOAD_CONST | 2,858,000 | 0.5% | 71.8% |
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS | 2,841,680 | 0.5% | 72.3% |
LOAD_FAST CALL_BUILTIN_FAST | 2,841,620 | 0.5% | 72.8% |
LOAD_GLOBAL_MODULE IS_OP | 2,822,400 | 0.5% | 73.3% |
LOAD_GLOBAL_MODULE CALL_BUILTIN_FAST | 2,822,400 | 0.5% | 73.8% |
PUSH_NULL LOAD_FAST_LOAD_FAST | 2,819,640 | 0.5% | 74.4% |
PUSH_NULL LOAD_FAST | 2,803,320 | 0.5% | 74.9% |
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT | 2,803,280 | 0.5% | 75.4% |
RETURN_CONST STORE_FAST | 2,803,260 | 0.5% | 75.9% |
LOAD_CONST LOAD_GLOBAL_MODULE | 2,803,200 | 0.5% | 76.4% |
POP_JUMP_IF_FALSE RETURN_CONST | 2,803,200 | 0.5% | 76.9% |
POP_JUMP_IF_NONE LOAD_GLOBAL_BUILTIN | 2,803,200 | 0.5% | 77.4% |
CALL_BUILTIN_O CALL_METHOD_DESCRIPTOR_FAST | 2,803,200 | 0.5% | 77.9% |
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST | 2,803,200 | 0.5% | 78.4% |
LOAD_ATTR_METHOD_NO_DICT LOAD_GLOBAL_BUILTIN | 2,803,200 | 0.5% | 78.9% |
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_GENERAL | 2,803,200 | 0.5% | 79.4% |
RESUME_CHECK RETURN_CONST | 2,803,200 | 0.5% | 79.9% |
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST | 2,764,800 | 0.5% | 80.4% |
LOAD_FAST CALL_TYPE_1 | 2,764,800 | 0.5% | 80.9% |
CALL_TYPE_1 STORE_FAST | 2,764,800 | 0.5% | 81.4% |
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES LOAD_ATTR_METHOD_NO_DICT | 2,764,800 | 0.5% | 81.9% |
LOAD_GLOBAL_BUILTIN IS_OP | 2,764,800 | 0.5% | 82.4% |
LOAD_GLOBAL_BUILTIN STORE_FAST | 2,764,800 | 0.5% | 82.9% |
BINARY_OP CALL_BOUND_METHOD_EXACT_ARGS | 2,761,980 | 0.5% | 83.4% |
NOP LOAD_FAST | 2,726,460 | 0.5% | 83.9% |
LOAD_FAST CALL_BOUND_METHOD_GENERAL | 2,707,200 | 0.5% | 84.4% |
CALL_BOUND_METHOD_GENERAL RESUME_CHECK | 2,707,200 | 0.5% | 84.8% |
POP_JUMP_IF_TRUE LOAD_GLOBAL_BUILTIN | 2,668,800 | 0.5% | 85.3% |
LOAD_FAST CALL_LEN | 2,630,400 | 0.5% | 85.8% |
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE | 2,611,220 | 0.5% | 86.3% |
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST | 2,572,800 | 0.5% | 86.7% |
POP_TOP NOP | 2,553,600 | 0.5% | 87.2% |
JUMP_FORWARD LOAD_FAST | 2,534,460 | 0.5% | 87.6% |
RETURN_VALUE CALL_BOUND_METHOD_EXACT_ARGS | 2,515,220 | 0.5% | 88.1% |
LOAD_CONST LOAD_CONST | 2,496,120 | 0.4% | 88.5% |
LOAD_FAST_LOAD_FAST BUILD_TUPLE | 2,496,060 | 0.4% | 89.0% |
CALL_BUILTIN_O LOAD_FAST | 2,496,000 | 0.4% | 89.4% |
LOAD_ATTR_INSTANCE_VALUE CONTAINS_OP_DICT | 2,496,000 | 0.4% | 89.9% |
POP_TOP LOAD_FAST_LOAD_FAST | 2,476,800 | 0.4% | 90.3% |
BUILD_TUPLE LOAD_FAST | 2,476,800 | 0.4% | 90.8% |
CALL_BUILTIN_O STORE_SUBSCR_DICT | 2,476,800 | 0.4% | 91.2% |
CONTAINS_OP_DICT POP_JUMP_IF_TRUE | 2,476,800 | 0.4% | 91.7% |
LOAD_ATTR_INSTANCE_VALUE CALL_LEN | 2,476,800 | 0.4% | 92.1% |
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_BUILTIN | 2,476,800 | 0.4% | 92.6% |
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_INT | 2,476,800 | 0.4% | 93.0% |
Top 5 predecessors and successors of each Tier 1 opcode.
This does not include the unspecialized instructions that occur after a specialized instruction deoptimizes.
Successors and predecessors for CACHE
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 76,860 | 100.0% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 20 | 100.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_TUPLE_INT | 20 | 100.0% |
Successors and predecessors for EXIT_INIT_CHECK
Predecessors | Count | Percentage |
---|---|---|
RETURN_CONST | 57,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 57,600 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 96,000 | 62.5% |
LOAD_FAST | 57,720 | 37.5% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER | 96,000 | 62.5% |
FOR_ITER_LIST | 57,600 | 37.5% |
FOR_ITER_RANGE | 60 | 0.0% |
FOR_ITER_TUPLE | 60 | 0.0% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_CONST | 76,800 | 100.0% |
Successors and predecessors for MAKE_FUNCTION
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SET_FUNCTION_ATTRIBUTE | 60 | 100.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 2,553,600 | 88.7% |
STORE_FAST | 115,200 | 4.0% |
STORE_FAST_STORE_FAST | 96,000 | 3.3% |
STORE_ATTR_INSTANCE_VALUE | 57,600 | 2.0% |
POP_JUMP_IF_FALSE | 38,400 | 1.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,726,460 | 94.7% |
LOAD_GLOBAL_BUILTIN | 134,400 | 4.7% |
LOAD_GLOBAL_MODULE | 19,200 | 0.7% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
RETURN_CONST | 17,184,120 | 74.6% |
RETURN_VALUE | 5,644,880 | 24.5% |
CALL_BUILTIN_O | 115,200 | 0.5% |
POP_JUMP_IF_FALSE | 57,600 | 0.2% |
CALL_FUNCTION_EX | 19,200 | 0.1% |
Successors | Count | Percentage |
---|---|---|
RETURN_CONST | 8,717,000 | 37.8% |
LOAD_FAST | 3,510,780 | 15.2% |
ENTER_EXECUTOR | 3,152,640 | 13.7% |
NOP | 2,553,600 | 11.1% |
LOAD_FAST_LOAD_FAST | 2,476,800 | 10.7% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,776,500 | 96.5% |
LOAD_ATTR_MODULE | 170,220 | 2.8% |
LOAD_ATTR | 38,400 | 0.6% |
LOAD_DEREF | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 2,819,640 | 47.1% |
LOAD_FAST | 2,803,320 | 46.8% |
LOAD_GLOBAL_MODULE | 192,000 | 3.2% |
CALL_NON_PY_GENERAL | 170,140 | 2.8% |
CALL | 80 | 0.0% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_O | 5,510,420 | 66.6% |
LOAD_GLOBAL_MODULE | 2,476,800 | 29.9% |
LOAD_FAST | 96,060 | 1.2% |
EXIT_INIT_CHECK | 57,600 | 0.7% |
CALL_BUILTIN_O | 57,600 | 0.7% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 5,644,880 | 68.2% |
CALL_BOUND_METHOD_EXACT_ARGS | 2,515,220 | 30.4% |
LOAD_FAST | 76,800 | 0.9% |
STORE_FAST | 38,520 | 0.5% |
RETURN_VALUE | 60 | 0.0% |
Successors and predecessors for TO_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 38,420 | 99.7% |
TO_BOOL | 60 | 0.2% |
LOAD_ATTR_INSTANCE_VALUE | 60 | 0.2% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 38,400 | 99.6% |
TO_BOOL | 60 | 0.2% |
POP_JUMP_IF_FALSE | 60 | 0.2% |
TO_BOOL_BOOL | 20 | 0.1% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_FAST | 2,858,000 | 54.5% |
LOAD_FAST | 2,361,620 | 45.1% |
LOAD_CONST | 19,200 | 0.4% |
BINARY_OP | 1,540 | 0.0% |
Successors | Count | Percentage |
---|---|---|
CALL_BOUND_METHOD_EXACT_ARGS | 2,761,980 | 52.7% |
LOAD_FAST | 2,361,600 | 45.1% |
CALL_BUILTIN_O | 57,600 | 1.1% |
RETURN_VALUE | 38,420 | 0.7% |
LOAD_CONST | 19,200 | 0.4% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_DEREF | 60 | 100.0% |
Successors and predecessors for BUILD_MAP
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 57,600 | 75.0% |
LOAD_FAST | 19,200 | 25.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 57,600 | 75.0% |
CALL_FUNCTION_EX | 19,200 | 25.0% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 2,496,060 | 100.0% |
LOAD_FAST | 60 | 0.0% |
LOAD_GLOBAL_MODULE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,476,800 | 99.2% |
LOAD_GLOBAL_MODULE | 19,200 | 0.8% |
LOAD_CONST | 60 | 0.0% |
STORE_FAST | 60 | 0.0% |
CALL_METHOD_DESCRIPTOR_O | 40 | 0.0% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 80 | 30.8% |
LOAD_FAST_LOAD_FAST | 60 | 23.1% |
LOAD_CONST | 40 | 15.4% |
BUILD_TUPLE | 20 | 7.7% |
LOAD_FAST | 20 | 7.7% |
Successors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 100 | 38.5% |
CALL_PY_EXACT_ARGS | 80 | 30.8% |
CALL_BUILTIN_CLASS | 20 | 7.7% |
CALL_METHOD_DESCRIPTOR_NOARGS | 20 | 7.7% |
CALL_METHOD_DESCRIPTOR_O | 20 | 7.7% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
BUILD_MAP | 19,200 | 99.4% |
CALL_INTRINSIC_1 | 60 | 0.3% |
LOAD_FAST | 60 | 0.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 19,200 | 99.7% |
RESUME_CHECK | 60 | 0.3% |
Successors and predecessors for CALL_INTRINSIC_1
Predecessors | Count | Percentage |
---|---|---|
LIST_EXTEND | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_FUNCTION_EX | 60 | 100.0% |
Successors and predecessors for COMPARE_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 176,640 | 59.0% |
COPY | 115,200 | 38.5% |
COMPARE_OP | 4,240 | 1.4% |
COMPARE_OP_INT | 3,120 | 1.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 291,840 | 97.5% |
COMPARE_OP | 4,240 | 1.4% |
COMPARE_OP_INT | 3,120 | 1.0% |
Successors and predecessors for CONTAINS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 19,200 | 99.8% |
CONTAINS_OP | 40 | 0.2% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 19,200 | 99.8% |
CONTAINS_OP | 40 | 0.2% |
Successors and predecessors for COPY
Predecessors | Count | Percentage |
---|---|---|
SWAP | 192,000 | 76.9% |
LOAD_FAST | 57,600 | 23.1% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP | 115,200 | 46.2% |
COMPARE_OP_INT | 76,800 | 30.8% |
TO_BOOL_BOOL | 57,600 | 23.1% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors and predecessors for EXTENDED_ARG
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 2,323,200 | 100.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_FORWARD | 2,323,200 | 100.0% |
Successors and predecessors for FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 96,000 | 99.9% |
FOR_ITER | 80 | 0.1% |
JUMP_BACKWARD | 60 | 0.1% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 96,000 | 99.9% |
FOR_ITER | 80 | 0.1% |
LOAD_FAST | 60 | 0.1% |
Successors and predecessors for IS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 2,822,400 | 49.8% |
LOAD_GLOBAL_BUILTIN | 2,764,800 | 48.8% |
CALL_TYPE_1 | 57,600 | 1.0% |
LOAD_FAST | 19,200 | 0.3% |
LOAD_CONST | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 5,664,000 | 100.0% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for JUMP_BACKWARD
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER | 60 | 100.0% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
EXTENDED_ARG | 2,323,200 | 91.0% |
POP_TOP | 115,200 | 4.5% |
POP_JUMP_IF_FALSE | 96,000 | 3.8% |
STORE_FAST | 19,260 | 0.8% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,534,460 | 99.2% |
LOAD_GLOBAL_BUILTIN | 19,200 | 0.8% |
Successors and predecessors for LIST_EXTEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_DEREF | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_INTRINSIC_1 | 60 | 100.0% |
Successors and predecessors for LOAD_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 230,620 | 63.1% |
LOAD_ATTR_INSTANCE_VALUE | 115,240 | 31.5% |
LOAD_GLOBAL_MODULE | 19,280 | 5.3% |
LOAD_ATTR | 400 | 0.1% |
LOAD_FAST_LOAD_FAST | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 172,800 | 47.3% |
STORE_FAST | 153,660 | 42.0% |
PUSH_NULL | 38,400 | 10.5% |
LOAD_ATTR | 400 | 0.1% |
LOAD_ATTR_MODULE | 100 | 0.0% |
Successors and predecessors for LOAD_CONST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 6,695,360 | 33.1% |
LOAD_ATTR_INSTANCE_VALUE | 5,085,180 | 25.1% |
LOAD_GLOBAL_MODULE | 2,858,000 | 14.1% |
LOAD_CONST | 2,496,120 | 12.3% |
LOAD_ATTR_METHOD_NO_DICT | 2,342,400 | 11.6% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 8,690,960 | 42.9% |
LOAD_FAST | 3,203,600 | 15.8% |
LOAD_GLOBAL_MODULE | 2,803,200 | 13.8% |
LOAD_CONST | 2,496,120 | 12.3% |
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 2,342,400 | 11.6% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 60 | 50.0% |
RESUME_CHECK | 60 | 50.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 60 | 50.0% |
LIST_EXTEND | 60 | 50.0% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 22,272,540 | 16.5% |
POP_JUMP_IF_FALSE | 20,213,780 | 15.0% |
RESUME_CHECK | 19,389,400 | 14.4% |
LOAD_GLOBAL_BUILTIN | 18,928,440 | 14.1% |
LOAD_ATTR_METHOD_WITH_VALUES | 8,022,840 | 6.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 46,548,920 | 34.6% |
POP_JUMP_IF_NONE | 8,505,600 | 6.3% |
LOAD_ATTR_METHOD_WITH_VALUES | 8,083,280 | 6.0% |
CALL_BUILTIN_O | 7,910,400 | 5.9% |
CALL_PY_EXACT_ARGS | 7,888,380 | 5.9% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 2,819,640 | 49.2% |
POP_TOP | 2,476,800 | 43.2% |
LOAD_GLOBAL_MODULE | 189,240 | 3.3% |
LOAD_GLOBAL_BUILTIN | 76,800 | 1.3% |
LOAD_ATTR_METHOD_WITH_VALUES | 57,660 | 1.0% |
Successors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 2,841,680 | 49.5% |
BUILD_TUPLE | 2,496,060 | 43.5% |
STORE_ATTR_INSTANCE_VALUE | 115,200 | 2.0% |
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 96,000 | 1.7% |
CALL_BUILTIN_CLASS | 57,600 | 1.0% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 33.3% |
RESUME_CHECK | 60 | 33.3% |
LOAD_GLOBAL_MODULE | 40 | 22.2% |
POP_TOP | 20 | 11.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 160 | 88.9% |
LOAD_GLOBAL_BUILTIN | 20 | 11.1% |
Successors and predecessors for MAKE_CELL
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_GENERAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 8,671,760 | 27.6% |
TO_BOOL_ALWAYS_TRUE | 8,428,820 | 26.8% |
TO_BOOL_BOOL | 5,779,220 | 18.4% |
IS_OP | 5,664,000 | 18.0% |
TO_BOOL_INT | 2,476,800 | 7.9% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 20,213,780 | 64.3% |
LOAD_GLOBAL_BUILTIN | 5,318,400 | 16.9% |
RETURN_CONST | 2,803,200 | 8.9% |
LOAD_GLOBAL_MODULE | 2,611,220 | 8.3% |
LOAD_CONST | 307,200 | 1.0% |
Successors and predecessors for POP_JUMP_IF_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,505,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,625,600 | 66.1% |
LOAD_GLOBAL_BUILTIN | 2,803,200 | 33.0% |
LOAD_FAST_LOAD_FAST | 57,600 | 0.7% |
RETURN_CONST | 19,200 | 0.2% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 115,260 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 57,600 | 50.0% |
NOP | 19,200 | 16.7% |
LOAD_GLOBAL_BUILTIN | 19,200 | 16.7% |
LOAD_GLOBAL_MODULE | 19,200 | 16.7% |
LOAD_CONST | 60 | 0.1% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 2,956,800 | 51.5% |
CONTAINS_OP_DICT | 2,476,800 | 43.2% |
TO_BOOL_BOOL | 266,040 | 4.6% |
TO_BOOL | 38,400 | 0.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,069,180 | 53.5% |
LOAD_GLOBAL_BUILTIN | 2,668,800 | 46.5% |
NOP | 60 | 0.0% |
Successors and predecessors for RETURN_CONST
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 8,717,000 | 43.3% |
ENTER_EXECUTOR | 3,033,580 | 15.1% |
POP_JUMP_IF_FALSE | 2,803,200 | 13.9% |
RESUME_CHECK | 2,803,200 | 13.9% |
STORE_SUBSCR_DICT | 2,476,800 | 12.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 17,184,120 | 85.3% |
STORE_FAST | 2,803,260 | 13.9% |
INTERPRETER_EXIT | 76,800 | 0.4% |
EXIT_INIT_CHECK | 57,600 | 0.3% |
RETURN_VALUE | 19,200 | 0.1% |
Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for STORE_DEREF
Predecessors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors and predecessors for STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_FAST | 5,587,200 | 20.0% |
CALL_LEN | 4,992,000 | 17.9% |
LOAD_ATTR_INSTANCE_VALUE | 3,110,400 | 11.1% |
CALL_BUILTIN_FAST | 2,976,000 | 10.6% |
RETURN_CONST | 2,803,260 | 10.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 22,272,540 | 79.7% |
LOAD_GLOBAL_BUILTIN | 5,376,000 | 19.2% |
NOP | 115,200 | 0.4% |
LOAD_CONST | 96,180 | 0.3% |
LOAD_GLOBAL_MODULE | 54,900 | 0.2% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 134,460 | 100.0% |
Successors | Count | Percentage |
---|---|---|
NOP | 96,000 | 71.4% |
LOAD_FAST | 38,460 | 28.6% |
Successors and predecessors for SWAP
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 192,000 | 100.0% |
Successors | Count | Percentage |
---|---|---|
COPY | 192,000 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 20 | 100.0% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 20 | 100.0% |
Successors and predecessors for BINARY_OP_ADD_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 19,200 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 19,200 | 100.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 40 | 66.7% |
BINARY_OP | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 60 | 100.0% |
Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 19,200 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 19,200 | 100.0% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 38,440 | 99.9% |
BINARY_SUBSCR | 20 | 0.1% |
Successors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 38,400 | 99.8% |
STORE_FAST | 60 | 0.2% |
Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 57,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 57,600 | 100.0% |
Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP | 2,761,980 | 49.6% |
RETURN_VALUE | 2,515,220 | 45.2% |
LOAD_GLOBAL_MODULE | 288,000 | 5.2% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 5,565,200 | 100.0% |
Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,707,200 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 2,707,200 | 100.0% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 96,040 | 38.5% |
CALL_NON_PY_GENERAL | 96,000 | 38.5% |
LOAD_FAST_LOAD_FAST | 57,600 | 23.1% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 96,060 | 38.5% |
GET_ITER | 96,000 | 38.5% |
LOAD_FAST | 57,600 | 23.1% |
Successors and predecessors for CALL_BUILTIN_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,841,620 | 47.9% |
LOAD_GLOBAL_MODULE | 2,822,400 | 47.6% |
LOAD_CONST | 112,380 | 1.9% |
CALL_LEN | 57,600 | 1.0% |
LOAD_ATTR_INSTANCE_VALUE | 54,780 | 0.9% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 2,976,000 | 50.2% |
BINARY_OP | 2,858,000 | 48.2% |
TO_BOOL_BOOL | 73,980 | 1.2% |
LOAD_ATTR_METHOD_NO_DICT | 19,200 | 0.3% |
Successors and predecessors for CALL_BUILTIN_O
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 7,910,400 | 99.0% |
BINARY_OP | 57,600 | 0.7% |
LOAD_ATTR_INSTANCE_VALUE | 19,200 | 0.2% |
Successors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_FAST | 2,803,200 | 35.1% |
LOAD_FAST | 2,496,000 | 31.2% |
STORE_SUBSCR_DICT | 2,476,800 | 31.0% |
POP_TOP | 115,200 | 1.4% |
RETURN_VALUE | 57,600 | 0.7% |
Successors and predecessors for CALL_ISINSTANCE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 57,600 | 50.0% |
LOAD_GLOBAL_MODULE | 57,600 | 50.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 115,200 | 100.0% |
Successors and predecessors for CALL_KW_NON_PY
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 93,180 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_WITH_VALUES | 54,780 | 58.8% |
POP_TOP | 19,200 | 20.6% |
STORE_FAST | 19,200 | 20.6% |
Successors and predecessors for CALL_KW_PY
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 57,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 57,600 | 100.0% |
Successors and predecessors for CALL_LEN
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,630,400 | 51.5% |
LOAD_ATTR_INSTANCE_VALUE | 2,476,800 | 48.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 4,992,000 | 97.7% |
LOAD_FAST | 57,600 | 1.1% |
CALL_BUILTIN_FAST | 57,600 | 1.1% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_O | 2,803,200 | 50.2% |
LOAD_FAST | 2,764,800 | 49.5% |
LOAD_GLOBAL_MODULE | 19,200 | 0.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 5,587,200 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 2,342,400 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 2,342,400 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_LAZY_DICT | 2,976,000 | 98.1% |
LOAD_ATTR_METHOD_NO_DICT | 57,640 | 1.9% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,899,200 | 95.6% |
LOAD_CONST | 76,800 | 2.5% |
STORE_FAST | 57,600 | 1.9% |
UNPACK_SEQUENCE_TWO_TUPLE | 40 | 0.0% |
UNPACK_SEQUENCE | 20 | 0.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,510,420 | 100.0% |
BUILD_TUPLE | 40 | 0.0% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 5,510,420 | 100.0% |
POP_TOP | 60 | 0.0% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 170,140 | 52.5% |
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 96,000 | 29.6% |
LOAD_ATTR_METHOD_LAZY_DICT | 57,600 | 17.8% |
CALL | 100 | 0.0% |
LOAD_FAST_LOAD_FAST | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 115,260 | 35.6% |
STORE_FAST | 112,440 | 34.7% |
CALL_BUILTIN_CLASS | 96,000 | 29.6% |
POP_TOP | 60 | 0.0% |
RETURN_VALUE | 60 | 0.0% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 7,888,380 | 71.6% |
LOAD_FAST_LOAD_FAST | 2,841,680 | 25.8% |
LOAD_ATTR_METHOD_WITH_VALUES | 115,200 | 1.0% |
ENTER_EXECUTOR | 115,200 | 1.0% |
BINARY_SUBSCR_TUPLE_INT | 38,400 | 0.3% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 10,998,960 | 99.9% |
CALL_PY_EXACT_ARGS | 12,480 | 0.1% |
COPY_FREE_VARS | 60 | 0.0% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_WITH_VALUES | 2,803,200 | 94.3% |
LOAD_FAST | 115,200 | 3.9% |
LOAD_FAST_LOAD_FAST | 54,780 | 1.8% |
LOAD_CONST | 40 | 0.0% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 2,973,180 | 100.0% |
MAKE_CELL | 60 | 0.0% |
Successors and predecessors for CALL_TYPE_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,764,800 | 98.0% |
LOAD_CONST | 38,400 | 1.4% |
LOAD_GLOBAL_BUILTIN | 19,200 | 0.7% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 2,764,800 | 98.0% |
IS_OP | 57,600 | 2.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 8,690,960 | 74.0% |
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 2,918,400 | 24.8% |
COPY | 76,800 | 0.7% |
LOAD_GLOBAL_MODULE | 57,600 | 0.5% |
COMPARE_OP | 3,120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 8,671,760 | 73.8% |
POP_JUMP_IF_TRUE | 2,956,800 | 25.2% |
LOAD_FAST | 115,200 | 1.0% |
COMPARE_OP | 3,120 | 0.0% |
Successors and predecessors for COMPARE_OP_STR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 38,400 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 38,400 | 100.0% |
Successors and predecessors for CONTAINS_OP_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 2,496,000 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 2,476,800 | 99.2% |
POP_JUMP_IF_FALSE | 19,200 | 0.8% |
Successors and predecessors for FOR_ITER_LIST
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 57,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 38,400 | 66.7% |
STORE_FAST | 19,200 | 33.3% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for FOR_ITER_TUPLE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 46,548,920 | 100.0% |
LOAD_ATTR | 60 | 0.0% |
LOAD_FAST_LOAD_FAST | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_ALWAYS_TRUE | 8,427,500 | 18.1% |
LOAD_ATTR_METHOD_LAZY_DICT | 5,568,020 | 12.0% |
LOAD_CONST | 5,085,180 | 10.9% |
STORE_FAST | 3,110,400 | 6.7% |
TO_BOOL_BOOL | 2,918,420 | 6.3% |
Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 5,568,020 | 65.2% |
LOAD_FAST | 2,976,000 | 34.8% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,510,420 | 64.5% |
CALL_METHOD_DESCRIPTOR_NOARGS | 2,976,000 | 34.8% |
CALL_NON_PY_GENERAL | 57,600 | 0.7% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 2,803,280 | 35.0% |
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 2,764,800 | 34.5% |
LOAD_FAST | 2,419,200 | 30.2% |
CALL_BUILTIN_FAST | 19,200 | 0.2% |
LOAD_ATTR | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,803,200 | 35.0% |
LOAD_GLOBAL_BUILTIN | 2,803,200 | 35.0% |
LOAD_CONST | 2,342,400 | 29.3% |
CALL_METHOD_DESCRIPTOR_NOARGS | 57,640 | 0.7% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,083,280 | 73.1% |
LOAD_ATTR_INSTANCE_VALUE | 2,918,400 | 26.4% |
CALL_KW_NON_PY | 54,780 | 0.5% |
LOAD_ATTR | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,022,840 | 72.6% |
CALL_PY_GENERAL | 2,803,200 | 25.4% |
CALL_PY_EXACT_ARGS | 115,200 | 1.0% |
LOAD_FAST_LOAD_FAST | 57,660 | 0.5% |
LOAD_CONST | 57,600 | 0.5% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 189,340 | 99.9% |
LOAD_ATTR | 100 | 0.1% |
LOAD_FAST | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 170,220 | 89.8% |
LOAD_FAST | 19,200 | 10.1% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,683,200 | 98.3% |
LOAD_FAST_LOAD_FAST | 96,000 | 1.7% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 2,918,400 | 50.5% |
LOAD_ATTR_METHOD_NO_DICT | 2,764,800 | 47.8% |
CALL_NON_PY_GENERAL | 96,000 | 1.7% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 5,376,000 | 21.7% |
POP_JUMP_IF_FALSE | 5,318,400 | 21.5% |
LOAD_FAST | 2,899,200 | 11.7% |
POP_JUMP_IF_NONE | 2,803,200 | 11.3% |
LOAD_ATTR_METHOD_NO_DICT | 2,803,200 | 11.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 18,928,440 | 76.4% |
IS_OP | 2,764,800 | 11.2% |
STORE_FAST | 2,764,800 | 11.2% |
LOAD_GLOBAL_MODULE | 96,000 | 0.4% |
LOAD_FAST_LOAD_FAST | 76,800 | 0.3% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 2,915,580 | 19.8% |
LOAD_FAST | 2,899,200 | 19.7% |
LOAD_GLOBAL_MODULE | 2,858,080 | 19.4% |
LOAD_CONST | 2,803,200 | 19.0% |
POP_JUMP_IF_FALSE | 2,611,220 | 17.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 2,858,080 | 19.4% |
LOAD_CONST | 2,858,000 | 19.4% |
IS_OP | 2,822,400 | 19.2% |
CALL_BUILTIN_FAST | 2,822,400 | 19.2% |
RETURN_VALUE | 2,476,800 | 16.8% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 10,998,960 | 49.0% |
CALL_BOUND_METHOD_EXACT_ARGS | 5,565,200 | 24.8% |
CALL_PY_GENERAL | 2,973,180 | 13.3% |
CALL_BOUND_METHOD_GENERAL | 2,707,200 | 12.1% |
CACHE | 76,860 | 0.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 19,389,400 | 86.4% |
RETURN_CONST | 2,803,200 | 12.5% |
LOAD_GLOBAL_MODULE | 112,460 | 0.5% |
LOAD_GLOBAL_BUILTIN | 74,020 | 0.3% |
LOAD_FAST_LOAD_FAST | 57,600 | 0.3% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 748,800 | 86.7% |
LOAD_FAST_LOAD_FAST | 115,200 | 13.3% |
Successors | Count | Percentage |
---|---|---|
RETURN_CONST | 288,000 | 33.3% |
LOAD_FAST | 230,400 | 26.7% |
LOAD_CONST | 115,200 | 13.3% |
NOP | 57,600 | 6.7% |
BUILD_MAP | 57,600 | 6.7% |
Successors and predecessors for STORE_SUBSCR_DICT
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_O | 2,476,800 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_CONST | 2,476,800 | 100.0% |
Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 8,427,500 | 100.0% |
ENTER_EXECUTOR | 1,320 | 0.0% |
TO_BOOL_NONE | 960 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 8,428,820 | 100.0% |
TO_BOOL_NONE | 960 | 0.0% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 2,918,420 | 48.3% |
LOAD_FAST | 2,860,840 | 47.3% |
CALL_ISINSTANCE | 115,200 | 1.9% |
CALL_BUILTIN_FAST | 73,980 | 1.2% |
COPY | 57,600 | 1.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 5,779,220 | 95.6% |
POP_JUMP_IF_TRUE | 266,040 | 4.4% |
Successors and predecessors for TO_BOOL_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 2,476,800 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 2,476,800 | 100.0% |
Successors and predecessors for TO_BOOL_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 56,100 | 97.6% |
TO_BOOL_ALWAYS_TRUE | 960 | 1.7% |
ENTER_EXECUTOR | 400 | 0.7% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 56,500 | 98.3% |
TO_BOOL_ALWAYS_TRUE | 960 | 1.7% |
Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER | 96,000 | 71.4% |
FOR_ITER_LIST | 38,400 | 28.6% |
CALL_METHOD_DESCRIPTOR_NOARGS | 40 | 0.0% |
UNPACK_SEQUENCE | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 134,460 | 100.0% |
Successors and predecessors for ENTER_EXECUTOR
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 3,152,640 | 99.4% |
STORE_FAST | 19,200 | 0.6% |
Successors | Count | Percentage |
---|---|---|
RETURN_CONST | 3,033,580 | 95.6% |
CALL_PY_EXACT_ARGS | 115,200 | 3.6% |
RETURN_VALUE | 19,200 | 0.6% |
TO_BOOL_ALWAYS_TRUE | 1,320 | 0.0% |
LOAD_FAST | 1,100 | 0.0% |
Specialization stats by family
specialization stats for BINARY_OP family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
5,238,800 | 99.6% |
hit
ⓘSpecialized instructions that complete. |
19,260 | 0.4% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 1.3% |
Failure | 1,540 | 98.7% |
Failure kind | Count | Ratio |
---|---|---|
add other | 1,500 | 97.4% |
rshift | 40 | 2.6% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
1,363,260 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
105,988,260 | 99.4% |
miss
ⓘSpecialized instructions that deopt. |
661,440 | 0.6% |
Success | Count | Ratio |
---|---|---|
Success | 12,740 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for COMPARE_OP family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
291,840 | 1.4% |
hit
ⓘSpecialized instructions that complete. |
20,993,760 | 97.8% |
miss
ⓘSpecialized instructions that deopt. |
163,920 | 0.8% |
Success | Count | Ratio |
---|---|---|
Success | 3,120 | 29.8% |
Failure | 7,360 | 70.2% |
Failure kind | Count | Ratio |
---|---|---|
big int | 7,360 | 100.0% |
specialization stats for CONTAINS_OP family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
19,200 | 0.5% |
hit
ⓘSpecialized instructions that complete. |
3,840,000 | 99.5% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 40 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
list | 40 | 100.0% |
specialization stats for FOR_ITER family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
96,060 | 62.4% |
hit
ⓘSpecialized instructions that complete. |
57,720 | 37.5% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 80 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
enumerate | 80 | 100.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
364,920 | 0.3% |
hit
ⓘSpecialized instructions that complete. |
144,650,760 | 99.7% |
Success | Count | Ratio |
---|---|---|
Success | 260 | 40.6% |
Failure | 380 | 59.4% |
Failure kind | Count | Ratio |
---|---|---|
method | 360 | 94.7% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
39,519,280 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 180 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for STORE_ATTR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
864,000 | 100.0% |
specialization stats for STORE_SUBSCR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
3,782,400 | 100.0% |
specialization stats for TO_BOOL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
38,460 | 0.2% |
hit
ⓘSpecialized instructions that complete. |
15,828,540 | 99.1% |
miss
ⓘSpecialized instructions that deopt. |
101,760 | 0.6% |
Success | Count | Ratio |
---|---|---|
Success | 1,940 | 97.0% |
Failure | 60 | 3.0% |
Failure kind | Count | Ratio |
---|---|---|
tuple | 40 | 66.7% |
sequence | 20 | 33.3% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
3,168,060 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 100.0% |
Failure | 0 | 0.0% |
specialization effectiveness
All entries are execution counts. Should add up to the total number of Tier 1 instructions executed.
Instructions | Count | Ratio |
---|---|---|
Basic
ⓘInstructions that are not and cannot be specialized, e.g. |
311,838,320 | 56.1% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
6,059,520 | 1.1% |
Specialized hits
ⓘSpecialized instructions, e.g. |
237,526,120 | 42.7% |
Specialized misses
ⓘSpecialized instructions, e.g. |
927,160 | 0.2% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
BINARY_OP | 5,238,800 | 86.6% |
LOAD_ATTR | 364,920 | 6.0% |
COMPARE_OP | 291,840 | 4.8% |
FOR_ITER | 96,060 | 1.6% |
TO_BOOL | 38,460 | 0.6% |
CONTAINS_OP | 19,200 | 0.3% |
BINARY_SLICE | 0 | 0.0% |
STORE_SLICE | 0 | 0.0% |
CACHE | 0 | 0.0% |
BINARY_SUBSCR | 0 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
Name | Count | Ratio |
---|---|---|
CALL_PY_EXACT_ARGS | 661,440 | 71.3% |
COMPARE_OP_INT | 163,920 | 17.7% |
TO_BOOL_ALWAYS_TRUE | 50,880 | 5.5% |
TO_BOOL_NONE | 50,880 | 5.5% |
RESUME | 40 | 0.0% |
RESUME_CHECK | 40 | 0.0% |
CACHE | 0 | 0.0% |
EXIT_INIT_CHECK | 0 | 0.0% |
GET_ITER | 0 | 0.0% |
INTERPRETER_EXIT | 0 | 0.0% |
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.
Count | Ratio | |
---|---|---|
Calls to PyEval_EvalDefault | 76,860 | 0.2% |
Calls to Python functions inlined | 41,472,360 | 99.8% |
Calls via PyEval_EvalFrame (total) | 76,860 | 0.2% |
Calls via PyEval_EvalFrame (vector) | 76,860 | 0.2% |
Calls via PyEval_EvalFrame (generator) | 0 | 0.0% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 76,860 | 0.2% |
Calls via PyEval_EvalFrame (build class) | 0 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function ex) | 60 | 0.0% |
Calls via PyEval_EvalFrame (api) | 0 | 0.0% |
Calls via PyEval_EvalFrame (method) | 0 | 0.0% |
Frame objects created | 0 | 0.0% |
Frames pushed | 41,606,820 | 100.1% |
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.
Count | Ratio | |
---|---|---|
Allocations from freelist | 6,970,180 | 17.2% |
Frees to freelist | 6,970,120 | |
Allocations | 33,639,760 | 82.8% |
Allocations to 512 bytes | 33,505,360 | 82.5% |
Allocations to 4 kbytes | 115,200 | 0.3% |
Allocations over 4 kbytes | 19,200 | 0.0% |
Frees | 33,641,398 | |
Inline values | 115,200 | |
Interpreter mortal increfs | 271,162,280 | 37.5% |
Interpreter mortal decrefs | 363,211,880 | 47.4% |
Mortal increfs | 266,364,531 | 36.8% |
Mortal decrefs | 214,388,889 | 28.0% |
Interpreter immortal increfs | 98,990,720 | 13.7% |
Interpreter immortal decrefs | 112,455,520 | 14.7% |
Immortal increfs | 87,480,715 | 12.1% |
Immortal decrefs | 75,950,039 | 9.9% |
Materialize dict (on request) | 0 | 0.0% |
Materialize dict (new key) | 0 | 0.0% |
Materialize dict (too big) | 0 | 0.0% |
Materialize dict (str subclass) | 0 | 0.0% |
Method cache hits | 5,029,912 | |
Method cache misses | 20,348 | |
Method cache collisions | 21,355 | |
Method cache dunder hits | 363,726 | |
Method cache dunder misses | 1,074 |
GC collections and effectiveness
Collected/visits gives some measure of efficiency.
Generation | Collections | Objects collected | Object visits |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 |
2 | 0 | 0 | 0 |
statistics about the Tier 2 optimizer
Count | Ratio | |
---|---|---|
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. |
940 | |
Traces created
ⓘThe number of traces that were successfully created. |
20 | 2.1% |
Trace stack overflow
ⓘA trace is truncated because it would require more than 5 stack frames. |
0 | 0.0% |
Trace stack underflow
ⓘA potential trace is abandoned because it pops more frames than it pushes. |
900 | 95.7% |
Trace too long
ⓘA trace is truncated because it is longer than the instruction buffer. |
0 | 0.0% |
Trace too short
ⓘA potential trace is abandoced because it it too short. |
920 | 97.9% |
Inner loop found
ⓘA trace is truncated because it has an inner loop |
0 | 0.0% |
Recursive call
ⓘA trace is truncated because it has a recursive call. |
0 | 0.0% |
Low confidence
ⓘA trace is abandoned because the likelihood of the jump to top being taken is too low. |
0 | 0.0% |
Executors invalidated
ⓘThe number of executors that were invalidated due to watched dictionary changes. |
0 | 0.0% |
Traces executed
ⓘThe number of traces that were executed |
6,648,140 | |
Uops executed
ⓘThe total number of uops (micro-operations) that were executed |
783,831,800 | 11,790.2% |
Count | Ratio | |
---|---|---|
Optimizer attempts
ⓘThe number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run. |
20 | |
Optimizer successes
ⓘThe number of traces that were successfully optimized. |
20 | 100.0% |
Optimizer no memory
ⓘThe number of optimizations that failed due to no memory. |
0 | 0.0% |
Remove globals builtins changed
ⓘThe builtins changed during optimization |
0 | 0.0% |
Remove globals incorrect keys
ⓘThe keys in the globals dictionary aren't what was expected |
0 | 0.0% |
trace length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 0 | 0.0% |
<= 8 | 0 | 0.0% |
<= 16 | 0 | 0.0% |
<= 32 | 20 | 100.0% |
optimized trace length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 0 | 0.0% |
<= 8 | 20 | 100.0% |
trace run length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
uop execution stats
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
_LOAD_FAST_0 | 51,549,660 | 6.6% | 6.6% | |
_SET_IP | 48,060,000 | 6.1% | 12.7% | |
_GUARD_TYPE_VERSION | 40,347,580 | 5.1% | 17.9% | 0.0% |
_CHECK_MANAGED_OBJECT_HAS_VALUES | 36,030,420 | 4.6% | 22.5% | |
_CHECK_VALIDITY | 34,422,380 | 4.4% | 26.8% | |
_LOAD_ATTR_INSTANCE_VALUE_0 | 31,765,200 | 4.1% | 30.9% | |
_LOAD_FAST_1 | 28,092,360 | 3.6% | 34.5% | |
_CHECK_PERIODIC | 27,183,080 | 3.5% | 37.9% | |
_GUARD_IS_TRUE_POP | 20,203,980 | 2.6% | 40.5% | 1.8% |
_LOAD_CONST_INLINE_BORROW | 19,820,020 | 2.5% | 43.1% | |
_RESUME_CHECK | 19,112,440 | 2.4% | 45.5% | 0.0% |
_PUSH_FRAME | 19,112,440 | 2.4% | 47.9% | |
_SAVE_RETURN_OFFSET | 19,112,440 | 2.4% | 50.4% | |
_CHECK_FUNCTION_VERSION | 16,578,040 | 2.1% | 52.5% | 3.0% |
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT | 14,959,620 | 1.9% | 54.4% | |
_GUARD_KEYS_VERSION | 14,959,620 | 1.9% | 56.3% | |
_RETURN_VALUE | 13,190,360 | 1.7% | 58.0% | |
_LOAD_CONST_INLINE | 13,182,440 | 1.7% | 59.7% | |
_CHECK_FUNCTION_EXACT_ARGS | 13,042,420 | 1.7% | 61.3% | |
_LOAD_CONST_INLINE_WITH_NULL | 12,987,640 | 1.7% | 63.0% | |
_INIT_CALL_PY_EXACT_ARGS_1 | 11,352,820 | 1.4% | 64.4% | |
_LOAD_ATTR_METHOD_WITH_VALUES | 9,986,820 | 1.3% | 65.7% | |
_GUARD_IS_FALSE_POP | 9,542,400 | 1.2% | 66.9% | |
_CHECK_VALIDITY_AND_SET_IP | 9,509,620 | 1.2% | 68.1% | |
_COMPARE_OP_INT | 9,372,400 | 1.2% | 69.3% | |
_CHECK_FUNCTION | 8,780,020 | 1.1% | 70.5% | |
_LOAD_FAST_2 | 8,143,620 | 1.0% | 71.5% | |
_POP_TOP | 7,777,080 | 1.0% | 72.5% | |
_CHECK_ATTR_METHOD_LAZY_DICT | 7,468,780 | 1.0% | 73.4% | |
_LOAD_ATTR_METHOD_LAZY_DICT | 7,468,780 | 1.0% | 74.4% | |
_REPLACE_WITH_TRUE | 7,468,780 | 1.0% | 75.3% | |
_MAKE_WARM | 6,667,340 | 0.9% | 76.2% | |
_START_EXECUTOR | 6,648,140 | 0.8% | 77.0% | |
_EXIT_TRACE | 6,648,120 | 0.8% | 77.9% | |
_PY_FRAME_GENERAL | 6,070,020 | 0.8% | 78.7% | |
_LOAD_ATTR_METHOD_NO_DICT | 6,067,200 | 0.8% | 79.4% | |
_TO_BOOL_BOOL | 5,993,200 | 0.8% | 80.2% | |
_GUARD_NOS_INT | 5,820,400 | 0.7% | 80.9% | |
_CALL_BUILTIN_O | 5,683,200 | 0.7% | 81.7% | |
_STORE_FAST_2 | 5,568,000 | 0.7% | 82.4% | |
_LOAD_FAST_3 | 5,494,020 | 0.7% | 83.1% | |
_PUSH_NULL | 4,978,440 | 0.6% | 83.7% | |
_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES | 4,972,800 | 0.6% | 84.4% | |
_CHECK_STACK_SPACE_OPERAND | 4,841,220 | 0.6% | 85.0% | |
_CALL_METHOD_DESCRIPTOR_FAST | 4,800,000 | 0.6% | 85.6% | |
_STORE_FAST_5 | 4,800,000 | 0.6% | 86.2% | |
_STORE_FAST_6 | 4,800,000 | 0.6% | 86.8% | |
_CALL_BUILTIN_FAST | 4,690,420 | 0.6% | 87.4% | |
_LOAD_FAST_4 | 4,517,640 | 0.6% | 88.0% | |
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS | 4,438,000 | 0.6% | 88.5% | |
_INIT_CALL_BOUND_METHOD_EXACT_ARGS | 4,438,000 | 0.6% | 89.1% | |
_CALL_METHOD_DESCRIPTOR_O | 4,435,180 | 0.6% | 89.7% | |
_STORE_FAST_3 | 4,300,800 | 0.5% | 90.2% | |
_LOAD_ATTR_INSTANCE_VALUE_1 | 4,265,220 | 0.5% | 90.8% | |
_LOAD_FAST_5 | 4,263,300 | 0.5% | 91.3% | |
_BINARY_OP | 4,111,600 | 0.5% | 91.8% | |
_LOAD_FAST | 3,823,620 | 0.5% | 92.3% | |
_IS_OP | 3,532,800 | 0.5% | 92.8% | |
_GUARD_BOTH_INT | 3,168,000 | 0.4% | 93.2% | |
_STORE_FAST_4 | 3,074,820 | 0.4% | 93.6% | |
_CALL_METHOD_DESCRIPTOR_NOARGS | 3,072,000 | 0.4% | 94.0% | |
_GUARD_IS_NONE_POP | 3,033,600 | 0.4% | 94.4% | 41.8% |
_UNPACK_SEQUENCE_TWO_TUPLE | 3,033,600 | 0.4% | 94.7% | |
_CHECK_METHOD_VERSION | 3,033,600 | 0.4% | 95.1% | |
_EXPAND_METHOD | 3,033,600 | 0.4% | 95.5% | |
_GUARD_NOT_EXHAUSTED_LIST | 2,592,000 | 0.3% | 95.8% | 3.7% |
_ITER_CHECK_LIST | 2,592,000 | 0.3% | 96.2% | |
_CALL_LEN | 2,572,800 | 0.3% | 96.5% | |
_ITER_NEXT_LIST | 2,496,000 | 0.3% | 96.8% | |
_LOAD_FAST_6 | 2,306,820 | 0.3% | 97.1% | |
_STORE_FAST | 1,885,320 | 0.2% | 97.4% | |
_LOAD_CONST_INLINE_BORROW_WITH_NULL | 1,804,800 | 0.2% | 97.6% | |
_CALL_TYPE_1 | 1,766,400 | 0.2% | 97.8% | |
_GUARD_IS_NOT_NONE_POP | 1,766,400 | 0.2% | 98.0% | |
_LOAD_FAST_7 | 1,766,400 | 0.2% | 98.3% | |
_STORE_FAST_7 | 1,766,400 | 0.2% | 98.5% | |
_INIT_CALL_PY_EXACT_ARGS_2 | 1,689,600 | 0.2% | 98.7% | |
_CONTAINS_OP_DICT | 1,344,000 | 0.2% | 98.9% | |
_BUILD_TUPLE | 1,305,600 | 0.2% | 99.0% | |
_STORE_SUBSCR_DICT | 1,305,600 | 0.2% | 99.2% | |
_TO_BOOL_INT | 1,305,600 | 0.2% | 99.4% | |
_BINARY_SUBSCR_TUPLE_INT | 1,267,200 | 0.2% | 99.5% | |
_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 1,228,800 | 0.2% | 99.7% | |
_COMPARE_OP | 729,600 | 0.1% | 99.8% | |
_FOR_ITER_TIER_TWO | 633,600 | 0.1% | 99.9% | 15.2% |
_COPY | 364,800 | 0.0% | 99.9% | |
_SWAP | 364,800 | 0.0% | 100.0% | |
_CALL_NON_PY_GENERAL | 41,220 | 0.0% | 100.0% | |
_CHECK_IS_NOT_PY_CALLABLE | 41,220 | 0.0% | 100.0% | |
_GET_ITER | 39,300 | 0.0% | 100.0% | |
_BINARY_SUBSCR_LIST_INT | 38,400 | 0.0% | 100.0% | |
_CALL_BUILTIN_CLASS | 38,400 | 0.0% | 100.0% | |
_LOAD_ATTR | 38,400 | 0.0% | 100.0% | |
_JUMP_TO_TOP | 19,200 | 0.0% | 100.0% | |
_GUARD_NOT_EXHAUSTED_TUPLE | 3,780 | 0.0% | 100.0% | 25.4% |
_ITER_CHECK_TUPLE | 3,780 | 0.0% | 100.0% | |
_CALL_KW_NON_PY | 2,820 | 0.0% | 100.0% | |
_CHECK_IS_NOT_PY_CALLABLE_KW | 2,820 | 0.0% | 100.0% | |
_ITER_NEXT_TUPLE | 2,820 | 0.0% | 100.0% | |
_TO_BOOL_NONE | 1,100 | 0.0% | 100.0% | |
_GUARD_NOT_EXHAUSTED_RANGE | 960 | 0.0% | 100.0% | 6.2% |
_ITER_CHECK_RANGE | 960 | 0.0% | 100.0% | |
_ITER_NEXT_RANGE | 900 | 0.0% | 100.0% | |
_DEOPT | 20 | 0.0% | 100.0% |
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.
unsupported opcodes
Opcode | Count |
---|---|
CALL | 40 |
Optimization stopped after encountering this opcode
Counts of rare/unlikely events
Event | Count |
---|---|
set class
ⓘSetting an object's class, |
0 |
set bases
ⓘSetting the bases of a class, |
0 |
set eval frame func
ⓘSetting the PEP 523 frame eval function |
0 |
builtin dict
ⓘModifying the builtins, |
0 |
func modification
ⓘModifying a function, e.g. |
0 |
watched dict modification
ⓘA watched dict has been modified |
0 |
watched globals modification
ⓘA watched |
0 |
Meta statistics
Count | |
---|---|
Number of data files | 20 |
Stats gathered on: 2024-10-25