- benchmark: generators
- fork: python
- ref: 29f8a67ae00081a36fdc97f2f2f96f971393a22a
- commit hash: 29f8a67
- commit date: 2025-02-08T23:35:28+00: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 |
---|---|---|---|---|
RESUME_CHECK | 418,551,720 | 17.3% | 17.3% | 0.0% |
YIELD_VALUE | 376,548,780 | 15.5% | 32.8% | |
SEND_GEN | 376,548,480 | 15.5% | 48.3% | |
JUMP_BACKWARD_NO_INTERRUPT | 352,548,180 | 14.5% | 62.9% | |
LOAD_FAST | 138,007,980 | 5.7% | 68.6% | |
LOAD_ATTR_INSTANCE_VALUE | 96,002,340 | 4.0% | 72.5% | |
LOAD_CONST_IMMORTAL | 72,004,020 | 3.0% | 75.5% | |
POP_TOP | 72,001,800 | 3.0% | 78.5% | |
POP_JUMP_IF_FALSE | 60,002,580 | 2.5% | 80.9% | |
RETURN_VALUE | 48,003,540 | 2.0% | 82.9% | |
STORE_FAST | 42,002,880 | 1.7% | 84.6% | |
LOAD_FAST_LOAD_FAST | 30,003,300 | 1.2% | 85.9% | |
TO_BOOL_NONE | 24,207,680 | 1.0% | 86.9% | 45.2% |
TO_BOOL_ALWAYS_TRUE | 24,206,720 | 1.0% | 87.9% | 45.2% |
LOAD_SMALL_INT | 24,002,700 | 1.0% | 88.9% | |
INTERPRETER_EXIT | 24,001,260 | 1.0% | 89.9% | |
RETURN_GENERATOR | 24,000,600 | 1.0% | 90.8% | |
END_SEND | 24,000,300 | 1.0% | 91.8% | |
GET_YIELD_FROM_ITER | 24,000,300 | 1.0% | 92.8% | |
JUMP_BACKWARD_NO_JIT | 24,000,300 | 1.0% | 93.8% | |
FOR_ITER_GEN | 24,000,240 | 1.0% | 94.8% | |
LOAD_GLOBAL_MODULE | 18,002,220 | 0.7% | 95.5% | |
STORE_ATTR_INSTANCE_VALUE | 18,001,800 | 0.7% | 96.3% | |
BINARY_OP | 12,004,160 | 0.5% | 96.8% | |
LOAD_GLOBAL_BUILTIN | 12,001,680 | 0.5% | 97.3% | |
CALL_PY_EXACT_ARGS | 12,001,560 | 0.5% | 97.8% | |
CALL_LEN | 12,001,320 | 0.5% | 98.3% | |
COMPARE_OP_INT | 12,001,320 | 0.5% | 98.8% | |
BINARY_SLICE | 12,001,200 | 0.5% | 99.3% | |
EXIT_INIT_CHECK | 6,000,600 | 0.2% | 99.5% | |
BINARY_OP_ADD_INT | 6,000,600 | 0.2% | 99.8% | |
CALL_ALLOC_AND_ENTER_INIT | 6,000,600 | 0.2% | 100.0% | |
PUSH_NULL | 540 | 0.0% | 100.0% | |
CALL | 400 | 0.0% | 100.0% | |
POP_ITER | 360 | 0.0% | 100.0% | |
CALL_BUILTIN_CLASS | 360 | 0.0% | 100.0% | |
GET_ITER | 300 | 0.0% | 100.0% | |
LOAD_ATTR | 300 | 0.0% | 100.0% | |
CALL_NON_PY_GENERAL | 300 | 0.0% | 100.0% | |
FOR_ITER_RANGE | 300 | 0.0% | 100.0% | |
LOAD_GLOBAL | 260 | 0.0% | 100.0% | |
END_FOR | 240 | 0.0% | 100.0% | |
LOAD_ATTR_MODULE | 240 | 0.0% | 100.0% | |
LOAD_CONST_MORTAL | 180 | 0.0% | 100.0% | |
CALL_FUNCTION_EX | 120 | 0.0% | 100.0% | |
BUILD_TUPLE | 120 | 0.0% | 100.0% | |
LOAD_DEREF | 120 | 0.0% | 100.0% | |
POP_JUMP_IF_TRUE | 120 | 0.0% | 100.0% | |
LOAD_ATTR_METHOD_NO_DICT | 120 | 0.0% | 100.0% | |
LOAD_ATTR_METHOD_WITH_VALUES | 120 | 0.0% | 100.0% | |
TO_BOOL | 100 | 0.0% | 100.0% | |
COMPARE_OP | 80 | 0.0% | 100.0% | |
MAKE_FUNCTION | 60 | 0.0% | 100.0% | |
NOP | 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% | |
FOR_ITER | 60 | 0.0% | 100.0% | |
IS_OP | 60 | 0.0% | 100.0% | |
JUMP_FORWARD | 60 | 0.0% | 100.0% | |
LIST_EXTEND | 60 | 0.0% | 100.0% | |
MAKE_CELL | 60 | 0.0% | 100.0% | |
POP_JUMP_IF_NOT_NONE | 60 | 0.0% | 100.0% | |
SET_FUNCTION_ATTRIBUTE | 60 | 0.0% | 100.0% | |
STORE_DEREF | 60 | 0.0% | 100.0% | |
STORE_FAST_STORE_FAST | 60 | 0.0% | 100.0% | |
BINARY_OP_SUBSCR_TUPLE_INT | 60 | 0.0% | 100.0% | |
BINARY_OP_SUBTRACT_FLOAT | 60 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 60 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_O | 60 | 0.0% | 100.0% | |
CALL_PY_GENERAL | 60 | 0.0% | 100.0% | |
TO_BOOL_BOOL | 60 | 0.0% | 100.0% | |
UNPACK_SEQUENCE_TWO_TUPLE | 60 | 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 |
---|---|---|---|
JUMP_BACKWARD_NO_INTERRUPT SEND_GEN | 352,548,180 | 14.5% | 14.5% |
YIELD_VALUE YIELD_VALUE | 352,548,180 | 14.5% | 29.1% |
RESUME_CHECK JUMP_BACKWARD_NO_INTERRUPT | 352,548,180 | 14.5% | 43.6% |
SEND_GEN RESUME_CHECK | 352,548,180 | 14.5% | 58.2% |
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 96,002,240 | 4.0% | 62.1% |
POP_TOP LOAD_FAST | 39,729,420 | 1.6% | 63.8% |
POP_JUMP_IF_FALSE LOAD_FAST | 38,272,800 | 1.6% | 65.3% |
LOAD_CONST_IMMORTAL RETURN_VALUE | 36,002,100 | 1.5% | 66.8% |
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_NONE | 24,001,080 | 1.0% | 67.8% |
TO_BOOL_NONE POP_JUMP_IF_FALSE | 24,001,080 | 1.0% | 68.8% |
RESUME_CHECK LOAD_FAST | 24,000,780 | 1.0% | 69.8% |
CACHE RETURN_GENERATOR | 24,000,600 | 1.0% | 70.8% |
POP_TOP RESUME_CHECK | 24,000,600 | 1.0% | 71.8% |
RETURN_GENERATOR INTERPRETER_EXIT | 24,000,600 | 1.0% | 72.8% |
LOAD_ATTR_INSTANCE_VALUE YIELD_VALUE | 24,000,600 | 1.0% | 73.8% |
RESUME_CHECK POP_TOP | 24,000,600 | 1.0% | 74.7% |
END_SEND POP_TOP | 24,000,300 | 1.0% | 75.7% |
GET_YIELD_FROM_ITER LOAD_CONST_IMMORTAL | 24,000,300 | 1.0% | 76.7% |
RETURN_VALUE END_SEND | 24,000,300 | 1.0% | 77.7% |
LOAD_ATTR_INSTANCE_VALUE GET_YIELD_FROM_ITER | 24,000,300 | 1.0% | 78.7% |
LOAD_CONST_IMMORTAL SEND_GEN | 24,000,300 | 1.0% | 79.7% |
SEND_GEN POP_TOP | 24,000,300 | 1.0% | 80.7% |
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_ALWAYS_TRUE | 24,000,120 | 1.0% | 81.7% |
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_FALSE | 24,000,120 | 1.0% | 82.7% |
STORE_FAST JUMP_BACKWARD_NO_JIT | 24,000,000 | 1.0% | 83.6% |
YIELD_VALUE STORE_FAST | 24,000,000 | 1.0% | 84.6% |
FOR_ITER_GEN RESUME_CHECK | 24,000,000 | 1.0% | 85.6% |
JUMP_BACKWARD_NO_JIT FOR_ITER_GEN | 24,000,000 | 1.0% | 86.6% |
POP_JUMP_IF_FALSE LOAD_CONST_IMMORTAL | 21,729,780 | 0.9% | 87.5% |
LOAD_FAST LOAD_SMALL_INT | 18,001,980 | 0.7% | 88.3% |
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE | 18,001,800 | 0.7% | 89.0% |
STORE_FAST LOAD_FAST | 12,001,860 | 0.5% | 89.5% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 12,001,500 | 0.5% | 90.0% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 12,001,380 | 0.5% | 90.5% |
RESUME_CHECK LOAD_GLOBAL_BUILTIN | 12,001,360 | 0.5% | 91.0% |
LOAD_FAST CALL_LEN | 12,001,320 | 0.5% | 91.5% |
LOAD_SMALL_INT COMPARE_OP_INT | 12,001,320 | 0.5% | 92.0% |
CALL_LEN STORE_FAST | 12,001,320 | 0.5% | 92.5% |
COMPARE_OP_INT POP_JUMP_IF_FALSE | 12,001,320 | 0.5% | 93.0% |
BINARY_SLICE CALL_PY_EXACT_ARGS | 12,001,200 | 0.5% | 93.5% |
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST | 12,001,200 | 0.5% | 93.9% |
POP_TOP LOAD_CONST_IMMORTAL | 8,271,720 | 0.3% | 94.3% |
LOAD_FAST LOAD_CONST_IMMORTAL | 6,000,720 | 0.2% | 94.5% |
STORE_FAST LOAD_GLOBAL_MODULE | 6,000,720 | 0.2% | 94.8% |
RETURN_VALUE RETURN_VALUE | 6,000,660 | 0.2% | 95.0% |
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST | 6,000,660 | 0.2% | 95.3% |
LOAD_SMALL_INT BINARY_OP | 6,000,620 | 0.2% | 95.5% |
EXIT_INIT_CHECK RETURN_VALUE | 6,000,600 | 0.2% | 95.8% |
RETURN_VALUE EXIT_INIT_CHECK | 6,000,600 | 0.2% | 96.0% |
RETURN_VALUE LOAD_FAST_LOAD_FAST | 6,000,600 | 0.2% | 96.3% |
RETURN_VALUE CALL_ALLOC_AND_ENTER_INIT | 6,000,600 | 0.2% | 96.5% |
BINARY_OP STORE_FAST | 6,000,600 | 0.2% | 96.8% |
BINARY_OP LOAD_GLOBAL_MODULE | 6,000,600 | 0.2% | 97.0% |
LOAD_FAST BINARY_SLICE | 6,000,600 | 0.2% | 97.3% |
LOAD_FAST_LOAD_FAST BINARY_OP | 6,000,600 | 0.2% | 97.5% |
LOAD_FAST_LOAD_FAST LOAD_SMALL_INT | 6,000,600 | 0.2% | 97.8% |
LOAD_SMALL_INT BINARY_OP_ADD_INT | 6,000,600 | 0.2% | 98.0% |
BINARY_OP_ADD_INT LOAD_CONST_IMMORTAL | 6,000,600 | 0.2% | 98.2% |
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK | 6,000,600 | 0.2% | 98.5% |
LOAD_CONST_IMMORTAL BINARY_SLICE | 6,000,600 | 0.2% | 98.7% |
LOAD_CONST_IMMORTAL LOAD_FAST | 6,000,600 | 0.2% | 99.0% |
LOAD_GLOBAL_MODULE LOAD_FAST | 6,000,600 | 0.2% | 99.2% |
LOAD_GLOBAL_MODULE LOAD_GLOBAL_MODULE | 6,000,600 | 0.2% | 99.5% |
RESUME_CHECK LOAD_FAST_LOAD_FAST | 6,000,600 | 0.2% | 99.7% |
STORE_ATTR_INSTANCE_VALUE LOAD_CONST_IMMORTAL | 6,000,600 | 0.2% | 100.0% |
TO_BOOL_ALWAYS_TRUE TO_BOOL_NONE | 206,600 | 0.0% | 100.0% |
TO_BOOL_NONE TO_BOOL_ALWAYS_TRUE | 206,600 | 0.0% | 100.0% |
BINARY_OP BINARY_OP | 2,920 | 0.0% | 100.0% |
CACHE RESUME_CHECK | 660 | 0.0% | 100.0% |
YIELD_VALUE INTERPRETER_EXIT | 600 | 0.0% | 100.0% |
LOAD_FAST GET_ITER | 300 | 0.0% | 100.0% |
END_FOR POP_ITER | 240 | 0.0% | 100.0% |
GET_ITER FOR_ITER_GEN | 240 | 0.0% | 100.0% |
POP_ITER JUMP_BACKWARD_NO_JIT | 240 | 0.0% | 100.0% |
RETURN_VALUE END_FOR | 240 | 0.0% | 100.0% |
RETURN_VALUE STORE_FAST | 240 | 0.0% | 100.0% |
FOR_ITER_GEN POP_TOP | 240 | 0.0% | 100.0% |
FOR_ITER_RANGE STORE_FAST | 240 | 0.0% | 100.0% |
JUMP_BACKWARD_NO_JIT FOR_ITER_RANGE | 240 | 0.0% | 100.0% |
LOAD_ATTR_MODULE PUSH_NULL | 240 | 0.0% | 100.0% |
RETURN_VALUE POP_TOP | 180 | 0.0% | 100.0% |
LOAD_FAST PUSH_NULL | 180 | 0.0% | 100.0% |
STORE_FAST LOAD_CONST_IMMORTAL | 180 | 0.0% | 100.0% |
PUSH_NULL CALL_NON_PY_GENERAL | 160 | 0.0% | 100.0% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 160 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR | 140 | 0.0% | 100.0% |
LOAD_GLOBAL LOAD_GLOBAL_MODULE | 140 | 0.0% | 100.0% |
PUSH_NULL CALL_FUNCTION_EX | 120 | 0.0% | 100.0% |
PUSH_NULL LOAD_FAST | 120 | 0.0% | 100.0% |
CALL CALL_BUILTIN_CLASS | 120 | 0.0% | 100.0% |
CALL CALL_PY_EXACT_ARGS | 120 | 0.0% | 100.0% |
LOAD_GLOBAL LOAD_GLOBAL_BUILTIN | 120 | 0.0% | 100.0% |
LOAD_CONST_IMMORTAL STORE_FAST | 120 | 0.0% | 100.0% |
LOAD_CONST_IMMORTAL LOAD_CONST_IMMORTAL | 120 | 0.0% | 100.0% |
LOAD_GLOBAL_BUILTIN LOAD_SMALL_INT | 120 | 0.0% | 100.0% |
CALL CALL_NON_PY_GENERAL | 100 | 0.0% | 100.0% |
PUSH_NULL CALL | 80 | 0.0% | 100.0% |
LOAD_ATTR LOAD_ATTR_MODULE | 80 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES | 80 | 0.0% | 100.0% |
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS | 80 | 0.0% | 100.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 BINARY_SLICE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 6,000,600 | 50.0% |
LOAD_CONST_IMMORTAL | 6,000,600 | 50.0% |
Successors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 12,001,200 | 100.0% |
Successors and predecessors for CACHE
Successors | Count | Percentage |
---|---|---|
RETURN_GENERATOR | 24,000,600 | 100.0% |
RESUME_CHECK | 660 | 0.0% |
POP_TOP | 60 | 0.0% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors and predecessors for END_FOR
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 240 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_ITER | 240 | 100.0% |
Successors and predecessors for END_SEND
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 24,000,300 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 24,000,300 | 100.0% |
Successors and predecessors for EXIT_INIT_CHECK
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 6,000,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 6,000,600 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 300 | 100.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_GEN | 240 | 80.0% |
FOR_ITER_RANGE | 60 | 20.0% |
Successors and predecessors for GET_YIELD_FROM_ITER
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 24,000,300 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 24,000,300 | 100.0% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_GENERATOR | 24,000,600 | 100.0% |
YIELD_VALUE | 600 | 0.0% |
RETURN_VALUE | 60 | 0.0% |
Successors and predecessors for MAKE_FUNCTION
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SET_FUNCTION_ATTRIBUTE | 60 | 100.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors and predecessors for POP_ITER
Predecessors | Count | Percentage |
---|---|---|
END_FOR | 240 | 66.7% |
FOR_ITER | 60 | 16.7% |
FOR_ITER_RANGE | 60 | 16.7% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 240 | 66.7% |
LOAD_FAST | 60 | 16.7% |
LOAD_GLOBAL_MODULE | 40 | 11.1% |
LOAD_GLOBAL | 20 | 5.6% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 24,000,600 | 33.3% |
END_SEND | 24,000,300 | 33.3% |
SEND_GEN | 24,000,300 | 33.3% |
FOR_ITER_GEN | 240 | 0.0% |
RETURN_VALUE | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 39,729,420 | 55.2% |
RESUME_CHECK | 24,000,600 | 33.3% |
LOAD_CONST_IMMORTAL | 8,271,720 | 11.5% |
JUMP_BACKWARD_NO_JIT | 60 | 0.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 240 | 44.4% |
LOAD_FAST | 180 | 33.3% |
CALL_INTRINSIC_1 | 60 | 11.1% |
LOAD_DEREF | 60 | 11.1% |
Successors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 160 | 29.6% |
CALL_FUNCTION_EX | 120 | 22.2% |
LOAD_FAST | 120 | 22.2% |
CALL | 80 | 14.8% |
LOAD_FAST_LOAD_FAST | 60 | 11.1% |
Successors and predecessors for RETURN_GENERATOR
Predecessors | Count | Percentage |
---|---|---|
CACHE | 24,000,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
INTERPRETER_EXIT | 24,000,600 | 100.0% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 36,002,100 | 75.0% |
RETURN_VALUE | 6,000,660 | 12.5% |
EXIT_INIT_CHECK | 6,000,600 | 12.5% |
LOAD_FAST | 60 | 0.0% |
BINARY_OP_SUBTRACT_FLOAT | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
END_SEND | 24,000,300 | 50.0% |
RETURN_VALUE | 6,000,660 | 12.5% |
EXIT_INIT_CHECK | 6,000,600 | 12.5% |
LOAD_FAST_LOAD_FAST | 6,000,600 | 12.5% |
CALL_ALLOC_AND_ENTER_INIT | 6,000,600 | 12.5% |
Successors and predecessors for TO_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 60 | 60.0% |
TO_BOOL | 20 | 20.0% |
LOAD_FAST | 20 | 20.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 60 | 60.0% |
TO_BOOL | 20 | 20.0% |
TO_BOOL_BOOL | 20 | 20.0% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 6,000,620 | 50.0% |
LOAD_FAST_LOAD_FAST | 6,000,600 | 50.0% |
BINARY_OP | 2,920 | 0.0% |
LOAD_FAST | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 6,000,600 | 50.0% |
LOAD_GLOBAL_MODULE | 6,000,600 | 50.0% |
BINARY_OP | 2,920 | 0.0% |
BINARY_OP_SUBSCR_TUPLE_INT | 20 | 0.0% |
BINARY_OP_SUBTRACT_FLOAT | 20 | 0.0% |
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_TUPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 50.0% |
LOAD_FAST_LOAD_FAST | 60 | 50.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 60 | 50.0% |
CALL_METHOD_DESCRIPTOR_O | 40 | 33.3% |
CALL | 20 | 16.7% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 80 | 20.0% |
LOAD_FAST_LOAD_FAST | 60 | 15.0% |
CALL_BUILTIN_CLASS | 60 | 15.0% |
LOAD_SMALL_INT | 40 | 10.0% |
LOAD_CONST_IMMORTAL | 40 | 10.0% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 120 | 30.0% |
CALL_PY_EXACT_ARGS | 120 | 30.0% |
CALL_NON_PY_GENERAL | 100 | 25.0% |
CALL_METHOD_DESCRIPTOR_NOARGS | 20 | 5.0% |
CALL_METHOD_DESCRIPTOR_O | 20 | 5.0% |
Successors and predecessors for CALL_INTRINSIC_1
Predecessors | Count | Percentage |
---|---|---|
LIST_EXTEND | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 60 | 100.0% |
Successors and predecessors for COMPARE_OP
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 60 | 75.0% |
COMPARE_OP | 20 | 25.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 60 | 75.0% |
COMPARE_OP | 20 | 25.0% |
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 FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_ITER | 60 | 100.0% |
Successors and predecessors for IS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for JUMP_BACKWARD_NO_INTERRUPT
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 352,548,180 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SEND_GEN | 352,548,180 | 100.0% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
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 | 140 | 46.7% |
LOAD_GLOBAL_MODULE | 80 | 26.7% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 13.3% |
LOAD_ATTR | 20 | 6.7% |
LOAD_FAST_LOAD_FAST | 20 | 6.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 80 | 26.7% |
LOAD_FAST_LOAD_FAST | 60 | 20.0% |
LOAD_ATTR_INSTANCE_VALUE | 60 | 20.0% |
LOAD_ATTR_METHOD_NO_DICT | 40 | 13.3% |
LOAD_ATTR_METHOD_WITH_VALUES | 40 | 13.3% |
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 |
---|---|---|
POP_TOP | 39,729,420 | 28.8% |
POP_JUMP_IF_FALSE | 38,272,800 | 27.7% |
RESUME_CHECK | 24,000,780 | 17.4% |
STORE_FAST | 12,001,860 | 8.7% |
LOAD_GLOBAL_BUILTIN | 12,001,380 | 8.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 96,002,240 | 69.6% |
LOAD_SMALL_INT | 18,001,980 | 13.0% |
CALL_LEN | 12,001,320 | 8.7% |
LOAD_CONST_IMMORTAL | 6,000,720 | 4.3% |
BINARY_SLICE | 6,000,600 | 4.3% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 12,001,200 | 40.0% |
LOAD_GLOBAL_MODULE | 6,000,660 | 20.0% |
RETURN_VALUE | 6,000,600 | 20.0% |
RESUME_CHECK | 6,000,600 | 20.0% |
PUSH_NULL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 18,001,800 | 60.0% |
BINARY_OP | 6,000,600 | 20.0% |
LOAD_SMALL_INT | 6,000,600 | 20.0% |
CALL_PY_EXACT_ARGS | 80 | 0.0% |
BUILD_TUPLE | 60 | 0.0% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 23.1% |
RESUME_CHECK | 60 | 23.1% |
LOAD_GLOBAL_BUILTIN | 40 | 15.4% |
LOAD_GLOBAL_MODULE | 40 | 15.4% |
POP_ITER | 20 | 7.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 140 | 53.8% |
LOAD_GLOBAL_BUILTIN | 120 | 46.2% |
Successors and predecessors for LOAD_SMALL_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 18,001,980 | 75.0% |
LOAD_FAST_LOAD_FAST | 6,000,600 | 25.0% |
LOAD_GLOBAL_BUILTIN | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 12,001,320 | 50.0% |
BINARY_OP | 6,000,620 | 25.0% |
BINARY_OP_ADD_INT | 6,000,600 | 25.0% |
CALL_BUILTIN_CLASS | 80 | 0.0% |
CALL | 40 | 0.0% |
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 |
---|---|---|
TO_BOOL_NONE | 24,001,080 | 40.0% |
TO_BOOL_ALWAYS_TRUE | 24,000,120 | 40.0% |
COMPARE_OP_INT | 12,001,320 | 20.0% |
TO_BOOL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 38,272,800 | 63.8% |
LOAD_CONST_IMMORTAL | 21,729,780 | 36.2% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 60 | 100.0% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP | 60 | 50.0% |
TO_BOOL_BOOL | 60 | 50.0% |
Successors | Count | Percentage |
---|---|---|
NOP | 60 | 50.0% |
LOAD_GLOBAL_BUILTIN | 40 | 33.3% |
LOAD_GLOBAL | 20 | 16.7% |
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 |
---|---|---|
YIELD_VALUE | 24,000,000 | 57.1% |
CALL_LEN | 12,001,320 | 28.6% |
BINARY_OP | 6,000,600 | 14.3% |
RETURN_VALUE | 240 | 0.0% |
FOR_ITER_RANGE | 240 | 0.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 24,000,000 | 57.1% |
LOAD_FAST | 12,001,860 | 28.6% |
LOAD_GLOBAL_MODULE | 6,000,720 | 14.3% |
LOAD_CONST_IMMORTAL | 180 | 0.0% |
JUMP_FORWARD | 60 | 0.0% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 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 YIELD_VALUE
Predecessors | Count | Percentage |
---|---|---|
YIELD_VALUE | 352,548,180 | 93.6% |
LOAD_ATTR_INSTANCE_VALUE | 24,000,600 | 6.4% |
Successors | Count | Percentage |
---|---|---|
YIELD_VALUE | 352,548,180 | 93.6% |
STORE_FAST | 24,000,000 | 6.4% |
INTERPRETER_EXIT | 600 | 0.0% |
Successors and predecessors for BINARY_OP_ADD_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 6,000,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 6,000,600 | 100.0% |
Successors and predecessors for BINARY_OP_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 40 | 66.7% |
BINARY_OP | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 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 CALL_ALLOC_AND_ENTER_INIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 6,000,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 6,000,600 | 100.0% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
CALL | 120 | 33.3% |
LOAD_SMALL_INT | 80 | 22.2% |
RETURN_VALUE | 40 | 11.1% |
LOAD_FAST | 40 | 11.1% |
CALL_BUILTIN_CLASS | 40 | 11.1% |
Successors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 80 | 22.2% |
CALL | 60 | 16.7% |
COMPARE_OP | 60 | 16.7% |
STORE_FAST | 60 | 16.7% |
CALL_BUILTIN_CLASS | 40 | 11.1% |
Successors and predecessors for CALL_LEN
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 12,001,320 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 12,001,320 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 40 | 66.7% |
CALL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 40 | 66.7% |
UNPACK_SEQUENCE | 20 | 33.3% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors | Count | Percentage |
---|---|---|
BUILD_TUPLE | 40 | 66.7% |
CALL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 60 | 100.0% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 160 | 53.3% |
CALL | 100 | 33.3% |
LOAD_FAST_LOAD_FAST | 40 | 13.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 60 | 20.0% |
RETURN_VALUE | 60 | 20.0% |
LOAD_FAST | 60 | 20.0% |
STORE_DEREF | 60 | 20.0% |
STORE_FAST | 60 | 20.0% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
BINARY_SLICE | 12,001,200 | 100.0% |
CALL | 120 | 0.0% |
LOAD_FAST_LOAD_FAST | 80 | 0.0% |
CALL_BUILTIN_CLASS | 80 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 12,001,500 | 100.0% |
COPY_FREE_VARS | 60 | 0.0% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 40 | 66.7% |
CALL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
MAKE_CELL | 60 | 100.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 12,001,320 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 12,001,320 | 100.0% |
Successors and predecessors for FOR_ITER_GEN
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 24,000,000 | 100.0% |
GET_ITER | 240 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 24,000,000 | 100.0% |
POP_TOP | 240 | 0.0% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 240 | 80.0% |
GET_ITER | 60 | 20.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 240 | 80.0% |
POP_ITER | 60 | 20.0% |
Successors and predecessors for JUMP_BACKWARD_NO_JIT
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 24,000,000 | 100.0% |
POP_ITER | 240 | 0.0% |
POP_TOP | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_GEN | 24,000,000 | 100.0% |
FOR_ITER_RANGE | 240 | 0.0% |
FOR_ITER | 60 | 0.0% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 96,002,240 | 100.0% |
LOAD_ATTR | 60 | 0.0% |
LOAD_FAST_LOAD_FAST | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_NONE | 24,001,080 | 25.0% |
YIELD_VALUE | 24,000,600 | 25.0% |
GET_YIELD_FROM_ITER | 24,000,300 | 25.0% |
TO_BOOL_ALWAYS_TRUE | 24,000,120 | 25.0% |
LOAD_ATTR_METHOD_NO_DICT | 80 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 80 | 66.7% |
LOAD_ATTR | 40 | 33.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 60 | 50.0% |
CALL_METHOD_DESCRIPTOR_NOARGS | 40 | 33.3% |
CALL | 20 | 16.7% |
Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 80 | 66.7% |
LOAD_ATTR | 40 | 33.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 50.0% |
LOAD_FAST_LOAD_FAST | 60 | 50.0% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 160 | 66.7% |
LOAD_ATTR | 80 | 33.3% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 240 | 100.0% |
Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors | Count | Percentage |
---|---|---|
GET_YIELD_FROM_ITER | 24,000,300 | 33.3% |
POP_JUMP_IF_FALSE | 21,729,780 | 30.2% |
POP_TOP | 8,271,720 | 11.5% |
LOAD_FAST | 6,000,720 | 8.3% |
BINARY_OP_ADD_INT | 6,000,600 | 8.3% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 36,002,100 | 50.0% |
SEND_GEN | 24,000,300 | 33.3% |
BINARY_SLICE | 6,000,600 | 8.3% |
LOAD_FAST | 6,000,600 | 8.3% |
STORE_FAST | 120 | 0.0% |
Successors and predecessors for LOAD_CONST_MORTAL
Predecessors | Count | Percentage |
---|---|---|
BUILD_TUPLE | 60 | 33.3% |
POP_JUMP_IF_NOT_NONE | 60 | 33.3% |
LOAD_GLOBAL_BUILTIN | 60 | 33.3% |
Successors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 60 | 33.3% |
STORE_FAST | 60 | 33.3% |
CALL_BUILTIN_CLASS | 40 | 22.2% |
CALL | 20 | 11.1% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 12,001,360 | 100.0% |
LOAD_GLOBAL | 120 | 0.0% |
LOAD_GLOBAL_MODULE | 80 | 0.0% |
POP_JUMP_IF_TRUE | 40 | 0.0% |
CALL_BUILTIN_CLASS | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 12,001,380 | 100.0% |
LOAD_SMALL_INT | 120 | 0.0% |
LOAD_CONST_MORTAL | 60 | 0.0% |
LOAD_GLOBAL | 40 | 0.0% |
LOAD_GLOBAL_BUILTIN | 40 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 6,000,720 | 33.3% |
BINARY_OP | 6,000,600 | 33.3% |
LOAD_GLOBAL_MODULE | 6,000,600 | 33.3% |
LOAD_GLOBAL | 140 | 0.0% |
RESUME_CHECK | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 6,000,660 | 33.3% |
LOAD_FAST | 6,000,600 | 33.3% |
LOAD_GLOBAL_MODULE | 6,000,600 | 33.3% |
LOAD_ATTR_MODULE | 160 | 0.0% |
LOAD_ATTR | 80 | 0.0% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
SEND_GEN | 352,548,180 | 84.2% |
POP_TOP | 24,000,600 | 5.7% |
FOR_ITER_GEN | 24,000,000 | 5.7% |
CALL_PY_EXACT_ARGS | 12,001,500 | 2.9% |
CALL_ALLOC_AND_ENTER_INIT | 6,000,600 | 1.4% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_INTERRUPT | 352,548,180 | 84.2% |
LOAD_FAST | 24,000,780 | 5.7% |
POP_TOP | 24,000,600 | 5.7% |
LOAD_GLOBAL_BUILTIN | 12,001,360 | 2.9% |
LOAD_FAST_LOAD_FAST | 6,000,600 | 1.4% |
Successors and predecessors for SEND_GEN
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_INTERRUPT | 352,548,180 | 93.6% |
LOAD_CONST_IMMORTAL | 24,000,300 | 6.4% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 352,548,180 | 93.6% |
POP_TOP | 24,000,300 | 6.4% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 18,001,800 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 12,001,200 | 66.7% |
LOAD_CONST_IMMORTAL | 6,000,600 | 33.3% |
Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 24,000,120 | 99.1% |
TO_BOOL_NONE | 206,600 | 0.9% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 24,000,120 | 99.1% |
TO_BOOL_NONE | 206,600 | 0.9% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 40 | 66.7% |
TO_BOOL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 60 | 100.0% |
Successors and predecessors for TO_BOOL_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 24,001,080 | 99.1% |
TO_BOOL_ALWAYS_TRUE | 206,600 | 0.9% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 24,001,080 | 99.1% |
TO_BOOL_ALWAYS_TRUE | 206,600 | 0.9% |
Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 40 | 66.7% |
UNPACK_SEQUENCE | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 60 | 100.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. |
12,001,200 | 66.7% |
hit
ⓘSpecialized instructions that complete. |
6,000,720 | 33.3% |
Success | Count | Ratio |
---|---|---|
Success | 40 | 1.4% |
Failure | 2,920 | 98.6% |
Failure kind | Count | Ratio |
---|---|---|
floor divide | 1,460 | 50.0% |
subscr | 1,460 | 50.0% |
specialization stats for BINARY_SLICE family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
12,001,200 | 100.0% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
30,003,960 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 400 | 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. |
60 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
12,001,320 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 20 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
list | 20 | 100.0% |
specialization stats for FOR_ITER family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
60 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
24,000,540 | 100.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
60 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
96,002,820 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 220 | 91.7% |
Failure | 20 | 8.3% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
30,003,900 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 260 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for SEND family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
376,548,480 | 100.0% |
specialization stats for STORE_ATTR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
18,001,800 | 100.0% |
specialization stats for TO_BOOL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
60 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
13,257,760 | 37.7% |
miss
ⓘSpecialized instructions that deopt. |
21,899,780 | 62.3% |
Success | Count | Ratio |
---|---|---|
Success | 413,220 | 100.0% |
Failure | 20 | 0.0% |
Failure kind | Count | Ratio |
---|---|---|
sequence | 20 | 100.0% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
60 | 75.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. |
1,245,127,500 | 51.4% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
24,006,580 | 1.0% |
Specialized hits
ⓘSpecialized instructions, e.g. |
1,133,631,920 | 46.8% |
Specialized misses
ⓘSpecialized instructions, e.g. |
21,902,720 | 0.9% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
BINARY_SLICE | 12,001,200 | 50.0% |
BINARY_OP | 12,001,200 | 50.0% |
TO_BOOL | 60 | 0.0% |
COMPARE_OP | 60 | 0.0% |
FOR_ITER | 60 | 0.0% |
LOAD_ATTR | 60 | 0.0% |
STORE_SLICE | 0 | 0.0% |
CACHE | 0 | 0.0% |
CALL_FUNCTION_EX | 0 | 0.0% |
END_FOR | 0 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
Name | Count | Ratio |
---|---|---|
TO_BOOL_NONE | 10,949,980 | 50.0% |
TO_BOOL_ALWAYS_TRUE | 10,949,800 | 50.0% |
RESUME | 2,940 | 0.0% |
RESUME_CHECK | 2,940 | 0.0% |
CACHE | 0 | 0.0% |
CALL_FUNCTION_EX | 0 | 0.0% |
END_FOR | 0 | 0.0% |
END_SEND | 0 | 0.0% |
EXIT_INIT_CHECK | 0 | 0.0% |
GET_ITER | 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 | 24,001,320 | 5.4% |
Calls to Python functions inlined | 418,551,000 | 94.6% |
Calls via PyEval_EvalFrame (total) | 24,001,320 | 5.4% |
Calls via PyEval_EvalFrame (vector) | 24,000,660 | 5.4% |
Calls via PyEval_EvalFrame (generator) | 660 | 0.0% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 24,000,660 | 5.4% |
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) | 24,000,600 | 5.4% |
Calls via PyEval_EvalFrame (method) | 0 | 0.0% |
Frame objects created | 0 | 0.0% |
Frames pushed | 48,003,540 | 10.8% |
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 | 36,034,100 | 42.9% |
Frees to freelist | 36,034,040 | |
Allocations | 47,991,220 | 57.1% |
Allocations to 512 bytes | 47,991,220 | 57.1% |
Allocations to 4 kbytes | 0 | 0.0% |
Allocations over 4 kbytes | 0 | 0.0% |
Frees | 47,991,241 | |
Inline values | 6,000,600 | |
Interpreter mortal increfs | 384,050,460 | 62.8% |
Interpreter mortal decrefs | 432,085,120 | 50.1% |
Mortal increfs | 30,158,183 | 4.9% |
Mortal decrefs | 66,148,705 | 7.7% |
Interpreter immortal increfs | 95,979,600 | 15.7% |
Interpreter immortal decrefs | 196,696,580 | 22.8% |
Immortal increfs | 101,843,863 | 16.6% |
Immortal decrefs | 167,885,701 | 19.5% |
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 | 197 | |
Method cache misses | 23 | |
Method cache collisions | 34 | |
Method cache dunder hits | 24,003,560 | |
Method cache dunder misses | 20 |
GC collections and effectiveness
Collected/visits gives some measure of efficiency.
Generation | Collections | Objects collected | Object visits | Reachable from roots | Not reachable from roots |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
1 | 2,940 | 160 | 39,492,173 | 8,754,860 | 58,180 |
2 | 0 | 0 | 0 | 0 | 0 |
statistics about the Tier 2 optimizer
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: 2025-02-09