- benchmark: chaos
- fork: python
- ref: cf4c4ecc26c7e3b89f2e56893260a8a3319dab3d
- commit hash: cf4c4ec
- commit date: 2025-02-01T18:49:45+02: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 | 247,878,660 | 18.8% | 18.8% | |
LOAD_FAST_LOAD_FAST | 132,037,620 | 10.0% | 28.9% | |
LOAD_ATTR_INSTANCE_VALUE | 129,208,320 | 9.8% | 38.7% | |
STORE_FAST | 87,580,440 | 6.7% | 45.3% | |
BINARY_OP_SUBTRACT_INT | 69,011,520 | 5.2% | 50.6% | |
LOAD_SMALL_INT | 62,087,520 | 4.7% | 55.3% | |
BINARY_SUBSCR_LIST_INT | 49,977,840 | 3.8% | 59.1% | |
BINARY_OP_ADD_INT | 48,544,440 | 3.7% | 62.8% | |
BINARY_OP_MULTIPLY_FLOAT | 46,200,000 | 3.5% | 66.3% | |
RETURN_VALUE | 37,200,840 | 2.8% | 69.1% | |
BINARY_OP_EXTEND | 33,000,240 | 2.5% | 71.6% | |
BINARY_OP_ADD_FLOAT | 30,000,240 | 2.3% | 73.9% | |
RESUME_CHECK | 28,800,720 | 2.2% | 76.1% | |
STORE_ATTR_INSTANCE_VALUE | 26,407,920 | 2.0% | 78.1% | |
FOR_ITER_RANGE | 25,331,220 | 1.9% | 80.0% | |
JUMP_BACKWARD_NO_JIT | 18,134,580 | 1.4% | 81.4% | |
LOAD_ATTR_METHOD_WITH_VALUES | 16,200,120 | 1.2% | 82.6% | |
CALL_PY_EXACT_ARGS | 15,600,240 | 1.2% | 83.8% | |
LOAD_GLOBAL_BUILTIN | 15,012,900 | 1.1% | 84.9% | |
POP_JUMP_IF_FALSE | 14,692,920 | 1.1% | 86.0% | |
LOAD_GLOBAL_MODULE | 14,400,480 | 1.1% | 87.1% | |
BINARY_OP | 11,433,500 | 0.9% | 88.0% | |
COMPARE_OP | 10,091,620 | 0.8% | 88.8% | |
LOAD_CONST_IMMORTAL | 9,612,360 | 0.7% | 89.5% | |
CALL_BUILTIN_CLASS | 9,600,300 | 0.7% | 90.2% | |
GET_ITER | 9,000,420 | 0.7% | 90.9% | |
POP_JUMP_IF_NOT_NONE | 9,000,060 | 0.7% | 91.6% | |
EXIT_INIT_CHECK | 8,400,120 | 0.6% | 92.2% | |
CALL_ALLOC_AND_ENTER_INIT | 8,400,120 | 0.6% | 92.9% | |
BINARY_SUBSCR_TUPLE_INT | 7,800,060 | 0.6% | 93.5% | |
STORE_SUBSCR_LIST_INT | 7,800,000 | 0.6% | 94.1% | |
COMPARE_OP_INT | 6,292,620 | 0.5% | 94.5% | |
POP_ITER | 6,011,520 | 0.5% | 95.0% | |
PUSH_NULL | 6,004,260 | 0.5% | 95.4% | |
POP_JUMP_IF_TRUE | 5,889,300 | 0.4% | 95.9% | |
LIST_APPEND | 4,830,720 | 0.4% | 96.3% | |
CALL_LEN | 4,811,160 | 0.4% | 96.6% | |
CALL_BUILTIN_O | 4,803,600 | 0.4% | 97.0% | |
SWAP | 4,189,080 | 0.3% | 97.3% | |
BUILD_TUPLE | 3,600,360 | 0.3% | 97.6% | |
BINARY_OP_SUBTRACT_FLOAT | 3,600,060 | 0.3% | 97.9% | |
LOAD_ATTR_MODULE | 3,000,300 | 0.2% | 98.1% | |
INTERPRETER_EXIT | 3,000,120 | 0.2% | 98.3% | |
LOAD_CONST_MORTAL | 2,400,120 | 0.2% | 98.5% | |
COMPARE_OP_FLOAT | 2,400,000 | 0.2% | 98.7% | |
POP_TOP | 2,389,500 | 0.2% | 98.9% | |
BUILD_LIST | 1,230,840 | 0.1% | 99.0% | |
LOAD_ATTR | 1,200,580 | 0.1% | 99.0% | |
CALL_NON_PY_GENERAL | 1,200,420 | 0.1% | 99.1% | |
LOAD_FAST_AND_CLEAR | 1,200,120 | 0.1% | 99.2% | |
CALL_BOUND_METHOD_GENERAL | 1,200,120 | 0.1% | 99.3% | |
LOAD_ATTR_METHOD_NO_DICT | 1,200,120 | 0.1% | 99.4% | |
IS_OP | 1,200,060 | 0.1% | 99.5% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 1,200,060 | 0.1% | 99.6% | |
COPY | 1,200,000 | 0.1% | 99.7% | |
TO_BOOL_BOOL | 600,300 | 0.0% | 99.7% | |
CALL_ISINSTANCE | 600,240 | 0.0% | 99.8% | |
JUMP_FORWARD | 600,060 | 0.0% | 99.8% | |
STORE_FAST_STORE_FAST | 600,060 | 0.0% | 99.9% | |
CALL_PY_GENERAL | 600,060 | 0.0% | 99.9% | |
UNPACK_SEQUENCE_TWO_TUPLE | 600,060 | 0.0% | 100.0% | |
UNARY_NEGATIVE | 600,000 | 0.0% | 100.0% | |
BINARY_SUBSCR | 11,220 | 0.0% | 100.0% | |
CALL | 260 | 0.0% | 100.0% | |
COPY_FREE_VARS | 180 | 0.0% | 100.0% | |
LOAD_DEREF | 180 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_FAST | 120 | 0.0% | 100.0% | 100.0% |
CALL_TYPE_1 | 120 | 0.0% | 100.0% | |
LOAD_SUPER_ATTR_METHOD | 120 | 0.0% | 100.0% | |
TO_BOOL_NONE | 120 | 0.0% | 100.0% | |
TO_BOOL | 100 | 0.0% | 100.0% | |
LOAD_GLOBAL | 100 | 0.0% | 100.0% | |
CALL_FUNCTION_EX | 60 | 0.0% | 100.0% | |
MAKE_FUNCTION | 60 | 0.0% | 100.0% | |
NOP | 60 | 0.0% | 100.0% | |
FOR_ITER | 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% | |
CALL_METHOD_DESCRIPTOR_O | 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 |
---|---|---|---|
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 114,463,580 | 8.7% | 8.7% |
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST | 64,985,520 | 4.9% | 13.6% |
STORE_FAST LOAD_FAST_LOAD_FAST | 51,089,280 | 3.9% | 17.5% |
LOAD_FAST BINARY_OP_MULTIPLY_FLOAT | 43,200,000 | 3.3% | 20.8% |
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE | 25,200,360 | 1.9% | 22.7% |
LOAD_SMALL_INT BINARY_OP_ADD_INT | 24,244,560 | 1.8% | 24.5% |
STORE_FAST LOAD_FAST | 23,400,600 | 1.8% | 26.3% |
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_ADD_FLOAT | 23,400,000 | 1.8% | 28.1% |
LOAD_FAST_LOAD_FAST BINARY_OP_SUBTRACT_INT | 22,800,000 | 1.7% | 29.8% |
BINARY_OP_ADD_INT LOAD_FAST | 22,800,000 | 1.7% | 31.6% |
BINARY_OP_MULTIPLY_FLOAT LOAD_FAST | 22,800,000 | 1.7% | 33.3% |
BINARY_OP_SUBTRACT_INT BINARY_SUBSCR_LIST_INT | 20,400,000 | 1.5% | 34.8% |
FOR_ITER_RANGE STORE_FAST | 19,319,760 | 1.5% | 36.3% |
LOAD_SMALL_INT BINARY_OP_SUBTRACT_INT | 19,211,520 | 1.5% | 37.8% |
LOAD_FAST_LOAD_FAST LOAD_SMALL_INT | 19,200,000 | 1.5% | 39.2% |
BINARY_OP_ADD_FLOAT LOAD_FAST | 18,000,000 | 1.4% | 40.6% |
JUMP_BACKWARD_NO_JIT FOR_ITER_RANGE | 17,530,920 | 1.3% | 41.9% |
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST | 16,800,240 | 1.3% | 43.2% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 15,600,180 | 1.2% | 44.4% |
BINARY_OP_EXTEND STORE_FAST | 15,600,000 | 1.2% | 45.6% |
RESUME_CHECK LOAD_FAST | 15,000,300 | 1.1% | 46.7% |
BINARY_OP_EXTEND LOAD_FAST_LOAD_FAST | 15,000,000 | 1.1% | 47.8% |
LOAD_FAST BINARY_OP_SUBTRACT_INT | 14,400,000 | 1.1% | 48.9% |
LOAD_FAST_LOAD_FAST BINARY_OP_EXTEND | 14,400,000 | 1.1% | 50.0% |
BINARY_OP_SUBTRACT_INT BINARY_OP_EXTEND | 14,400,000 | 1.1% | 51.1% |
BINARY_SUBSCR_LIST_INT STORE_FAST | 14,400,000 | 1.1% | 52.2% |
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_ADD_INT | 14,400,000 | 1.1% | 53.3% |
BINARY_OP_ADD_INT BINARY_SUBSCR_LIST_INT | 14,044,560 | 1.1% | 54.4% |
RETURN_VALUE STORE_FAST | 13,800,300 | 1.0% | 55.4% |
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 13,544,680 | 1.0% | 56.5% |
BINARY_OP_SUBTRACT_INT LOAD_SMALL_INT | 12,600,000 | 1.0% | 57.4% |
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_SUBTRACT_INT | 12,600,000 | 1.0% | 58.4% |
LOAD_ATTR_INSTANCE_VALUE LOAD_SMALL_INT | 12,000,000 | 0.9% | 59.3% |
LOAD_FAST RETURN_VALUE | 11,400,120 | 0.9% | 60.2% |
LOAD_FAST LOAD_SMALL_INT | 11,045,280 | 0.8% | 61.0% |
BINARY_OP_SUBTRACT_INT LOAD_FAST | 10,800,000 | 0.8% | 61.8% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 9,611,700 | 0.7% | 62.5% |
LOAD_GLOBAL_MODULE LOAD_FAST | 9,600,120 | 0.7% | 63.3% |
LOAD_CONST_IMMORTAL RETURN_VALUE | 9,000,540 | 0.7% | 64.0% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 9,000,120 | 0.7% | 64.6% |
RESUME_CHECK LOAD_FAST_LOAD_FAST | 9,000,120 | 0.7% | 65.3% |
LOAD_FAST POP_JUMP_IF_NOT_NONE | 9,000,060 | 0.7% | 66.0% |
POP_JUMP_IF_FALSE LOAD_FAST | 9,000,060 | 0.7% | 66.7% |
LOAD_FAST_LOAD_FAST LOAD_FAST | 8,844,360 | 0.7% | 67.4% |
STORE_ATTR_INSTANCE_VALUE LOAD_CONST_IMMORTAL | 8,407,320 | 0.6% | 68.0% |
EXIT_INIT_CHECK RETURN_VALUE | 8,400,120 | 0.6% | 68.6% |
RETURN_VALUE EXIT_INIT_CHECK | 8,400,120 | 0.6% | 69.3% |
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK | 8,400,120 | 0.6% | 69.9% |
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES | 8,400,080 | 0.6% | 70.6% |
LOAD_FAST BINARY_OP_ADD_INT | 8,400,000 | 0.6% | 71.2% |
BINARY_OP_SUBTRACT_INT STORE_FAST | 7,800,360 | 0.6% | 71.8% |
GET_ITER FOR_ITER_RANGE | 7,800,300 | 0.6% | 72.4% |
CALL_BUILTIN_CLASS GET_ITER | 7,800,240 | 0.6% | 73.0% |
LOAD_SMALL_INT BINARY_SUBSCR_TUPLE_INT | 7,800,040 | 0.6% | 73.6% |
LOAD_FAST_LOAD_FAST BINARY_SUBSCR_LIST_INT | 7,800,000 | 0.6% | 74.2% |
BINARY_OP_ADD_FLOAT CALL_ALLOC_AND_ENTER_INIT | 7,800,000 | 0.6% | 74.7% |
BINARY_SUBSCR_LIST_INT LOAD_FAST_LOAD_FAST | 7,800,000 | 0.6% | 75.3% |
BINARY_SUBSCR_LIST_INT LOAD_ATTR_METHOD_WITH_VALUES | 7,800,000 | 0.6% | 75.9% |
STORE_SUBSCR_LIST_INT JUMP_BACKWARD_NO_JIT | 7,800,000 | 0.6% | 76.5% |
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS | 7,200,080 | 0.5% | 77.1% |
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST_LOAD_FAST | 7,200,060 | 0.5% | 77.6% |
RETURN_VALUE LOAD_FAST_LOAD_FAST | 7,200,000 | 0.5% | 78.2% |
LOAD_FAST_LOAD_FAST STORE_SUBSCR_LIST_INT | 7,200,000 | 0.5% | 78.7% |
POP_JUMP_IF_NOT_NONE LOAD_GLOBAL_MODULE | 7,200,000 | 0.5% | 79.3% |
COMPARE_OP_INT POP_JUMP_IF_FALSE | 6,292,620 | 0.5% | 79.7% |
FOR_ITER_RANGE POP_ITER | 6,011,460 | 0.5% | 80.2% |
BINARY_OP_ADD_INT CALL_BUILTIN_CLASS | 6,000,000 | 0.5% | 80.6% |
PUSH_NULL LOAD_FAST | 5,403,780 | 0.4% | 81.1% |
LOAD_SMALL_INT BINARY_OP | 5,400,000 | 0.4% | 81.5% |
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS | 5,400,000 | 0.4% | 81.9% |
COMPARE_OP POP_JUMP_IF_TRUE | 5,289,120 | 0.4% | 82.3% |
LIST_APPEND JUMP_BACKWARD_NO_JIT | 4,830,720 | 0.4% | 82.6% |
LOAD_ATTR_INSTANCE_VALUE CALL_LEN | 4,811,160 | 0.4% | 83.0% |
COMPARE_OP POP_JUMP_IF_FALSE | 4,800,000 | 0.4% | 83.4% |
BINARY_SUBSCR_LIST_INT LIST_APPEND | 4,800,000 | 0.4% | 83.7% |
BINARY_SUBSCR_TUPLE_INT COMPARE_OP | 4,800,000 | 0.4% | 84.1% |
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST | 4,800,000 | 0.4% | 84.5% |
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST | 4,499,520 | 0.3% | 84.8% |
RESUME_CHECK LOAD_GLOBAL_MODULE | 4,200,240 | 0.3% | 85.1% |
BINARY_OP LOAD_FAST | 4,200,000 | 0.3% | 85.4% |
CALL_LEN LOAD_FAST | 4,200,000 | 0.3% | 85.8% |
LOAD_FAST BINARY_SUBSCR_LIST_INT | 4,133,280 | 0.3% | 86.1% |
BINARY_SUBSCR_LIST_INT COMPARE_OP | 4,089,120 | 0.3% | 86.4% |
LOAD_FAST_LOAD_FAST COMPARE_OP_INT | 4,047,960 | 0.3% | 86.7% |
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST | 3,600,060 | 0.3% | 87.0% |
POP_ITER JUMP_BACKWARD_NO_JIT | 3,600,000 | 0.3% | 87.2% |
BINARY_OP BINARY_OP_ADD_FLOAT | 3,600,000 | 0.3% | 87.5% |
BINARY_OP_ADD_INT LOAD_SMALL_INT | 3,600,000 | 0.3% | 87.8% |
LOAD_GLOBAL_BUILTIN LOAD_FAST_LOAD_FAST | 3,600,000 | 0.3% | 88.1% |
POP_JUMP_IF_TRUE LOAD_FAST_LOAD_FAST | 3,244,560 | 0.2% | 88.3% |
BUILD_TUPLE RETURN_VALUE | 3,011,160 | 0.2% | 88.5% |
LOAD_FAST CALL_BUILTIN_O | 3,003,600 | 0.2% | 88.8% |
CALL_BUILTIN_O STORE_FAST | 3,003,600 | 0.2% | 89.0% |
LOAD_ATTR_MODULE PUSH_NULL | 3,000,240 | 0.2% | 89.2% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 3,000,240 | 0.2% | 89.5% |
CACHE RESUME_CHECK | 3,000,180 | 0.2% | 89.7% |
RETURN_VALUE INTERPRETER_EXIT | 3,000,120 | 0.2% | 89.9% |
LOAD_FAST BINARY_OP_EXTEND | 3,000,000 | 0.2% | 90.1% |
LOAD_FAST CALL_PY_EXACT_ARGS | 3,000,000 | 0.2% | 90.4% |
BINARY_SUBSCR_LIST_INT BUILD_TUPLE | 3,000,000 | 0.2% | 90.6% |
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 | 3,000,180 | 100.0% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 11,160 | 99.5% |
BINARY_SUBSCR | 40 | 0.4% |
LOAD_SMALL_INT | 20 | 0.2% |
Successors | Count | Percentage |
---|---|---|
CALL_BOUND_METHOD_GENERAL | 11,160 | 99.5% |
BINARY_SUBSCR | 40 | 0.4% |
BINARY_SUBSCR_TUPLE_INT | 20 | 0.2% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 60 | 100.0% |
Successors and predecessors for EXIT_INIT_CHECK
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 8,400,120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 8,400,120 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 7,800,240 | 86.7% |
SWAP | 1,200,120 | 13.3% |
LOAD_FAST | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_RANGE | 7,800,300 | 86.7% |
LOAD_FAST_AND_CLEAR | 1,200,120 | 13.3% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 3,000,120 | 100.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 |
---|---|---|
FOR_ITER_RANGE | 6,011,460 | 100.0% |
FOR_ITER | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 3,600,000 | 59.9% |
LOAD_FAST | 1,200,240 | 20.0% |
STORE_FAST | 1,200,120 | 20.0% |
LOAD_GLOBAL_BUILTIN | 11,160 | 0.2% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 1,200,000 | 50.2% |
RETURN_VALUE | 600,300 | 25.1% |
SWAP | 588,840 | 24.6% |
CALL_NON_PY_GENERAL | 180 | 0.0% |
CALL_METHOD_DESCRIPTOR_FAST | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,800,060 | 75.3% |
RETURN_VALUE | 588,840 | 24.6% |
LOAD_CONST_IMMORTAL | 300 | 0.0% |
JUMP_BACKWARD_NO_JIT | 180 | 0.0% |
LOAD_GLOBAL_BUILTIN | 120 | 0.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 3,000,240 | 50.0% |
LOAD_FAST | 1,804,020 | 30.0% |
BINARY_SUBSCR_LIST_INT | 1,200,000 | 20.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,403,780 | 90.0% |
LOAD_GLOBAL_BUILTIN | 600,000 | 10.0% |
CALL_NON_PY_GENERAL | 280 | 0.0% |
CALL | 80 | 0.0% |
CALL_FUNCTION_EX | 60 | 0.0% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 11,400,120 | 30.6% |
LOAD_CONST_IMMORTAL | 9,000,540 | 24.2% |
EXIT_INIT_CHECK | 8,400,120 | 22.6% |
BUILD_TUPLE | 3,011,160 | 8.1% |
CALL_BUILTIN_O | 1,800,000 | 4.8% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 13,800,300 | 37.1% |
EXIT_INIT_CHECK | 8,400,120 | 22.6% |
LOAD_FAST_LOAD_FAST | 7,200,000 | 19.4% |
INTERPRETER_EXIT | 3,000,120 | 8.1% |
RETURN_VALUE | 1,200,000 | 3.2% |
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 UNARY_NEGATIVE
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 600,000 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 600,000 | 100.0% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 5,400,000 | 47.2% |
LOAD_ATTR_INSTANCE_VALUE | 2,400,000 | 21.0% |
RETURN_VALUE | 1,200,000 | 10.5% |
BINARY_OP | 602,760 | 5.3% |
LOAD_FAST_LOAD_FAST | 600,000 | 5.2% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,200,000 | 36.7% |
BINARY_OP_ADD_FLOAT | 3,600,000 | 31.5% |
STORE_FAST | 2,400,000 | 21.0% |
BINARY_OP | 602,760 | 5.3% |
RETURN_VALUE | 600,000 | 5.2% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
SWAP | 1,200,120 | 97.5% |
LOAD_SMALL_INT | 30,720 | 2.5% |
Successors | Count | Percentage |
---|---|---|
SWAP | 1,200,120 | 97.5% |
LOAD_FAST | 30,720 | 2.5% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 3,000,000 | 83.3% |
RETURN_VALUE | 600,000 | 16.7% |
LOAD_GLOBAL_BUILTIN | 240 | 0.0% |
LOAD_FAST | 60 | 0.0% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 3,011,160 | 83.6% |
SWAP | 588,840 | 16.4% |
CALL_ISINSTANCE | 240 | 0.0% |
LOAD_CONST_MORTAL | 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_IMMORTAL | 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 COMPARE_OP
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_TUPLE_INT | 4,800,000 | 47.6% |
BINARY_SUBSCR_LIST_INT | 4,089,120 | 40.5% |
LOAD_SMALL_INT | 600,020 | 5.9% |
LOAD_FAST | 600,000 | 5.9% |
COMPARE_OP | 2,480 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 5,289,120 | 52.4% |
POP_JUMP_IF_FALSE | 4,800,000 | 47.6% |
COMPARE_OP | 2,480 | 0.0% |
COMPARE_OP_INT | 20 | 0.0% |
Successors and predecessors for COPY
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,200,000 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 1,200,000 | 100.0% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CALL_BOUND_METHOD_GENERAL | 120 | 66.7% |
CALL_PY_EXACT_ARGS | 60 | 33.3% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 180 | 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_GLOBAL_MODULE | 1,200,000 | 100.0% |
LOAD_CONST_IMMORTAL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 1,200,000 | 100.0% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 600,000 | 100.0% |
STORE_FAST | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 600,060 | 100.0% |
Successors and predecessors for LIST_APPEND
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 4,800,000 | 99.4% |
BINARY_OP | 30,720 | 0.6% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 4,830,720 | 100.0% |
Successors and predecessors for LOAD_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,200,140 | 100.0% |
LOAD_ATTR | 320 | 0.0% |
LOAD_GLOBAL_MODULE | 60 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 0.0% |
LOAD_FAST_LOAD_FAST | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,200,000 | 100.0% |
LOAD_ATTR | 320 | 0.0% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 60 | 0.0% |
LOAD_ATTR_MODULE | 60 | 0.0% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 120 | 66.7% |
STORE_FAST | 60 | 33.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 120 | 66.7% |
STORE_FAST | 60 | 33.3% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 64,985,520 | 26.2% |
STORE_FAST | 23,400,600 | 9.4% |
BINARY_OP_ADD_INT | 22,800,000 | 9.2% |
BINARY_OP_MULTIPLY_FLOAT | 22,800,000 | 9.2% |
BINARY_OP_ADD_FLOAT | 18,000,000 | 7.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 114,463,580 | 46.2% |
BINARY_OP_MULTIPLY_FLOAT | 43,200,000 | 17.4% |
BINARY_OP_SUBTRACT_INT | 14,400,000 | 5.8% |
RETURN_VALUE | 11,400,120 | 4.6% |
LOAD_SMALL_INT | 11,045,280 | 4.5% |
Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 1,200,120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SWAP | 1,200,120 | 100.0% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 51,089,280 | 38.7% |
STORE_ATTR_INSTANCE_VALUE | 16,800,240 | 12.7% |
BINARY_OP_EXTEND | 15,000,000 | 11.4% |
RESUME_CHECK | 9,000,120 | 6.8% |
BINARY_SUBSCR_LIST_INT | 7,800,000 | 5.9% |
Successors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 25,200,360 | 19.1% |
BINARY_OP_SUBTRACT_INT | 22,800,000 | 17.3% |
LOAD_SMALL_INT | 19,200,000 | 14.5% |
BINARY_OP_EXTEND | 14,400,000 | 10.9% |
LOAD_ATTR_INSTANCE_VALUE | 13,544,680 | 10.3% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 60.0% |
POP_JUMP_IF_FALSE | 20 | 20.0% |
STORE_FAST | 20 | 20.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 80 | 80.0% |
LOAD_GLOBAL_BUILTIN | 20 | 20.0% |
Successors and predecessors for LOAD_SMALL_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 19,200,000 | 30.9% |
BINARY_OP_SUBTRACT_INT | 12,600,000 | 20.3% |
LOAD_ATTR_INSTANCE_VALUE | 12,000,000 | 19.3% |
LOAD_FAST | 11,045,280 | 17.8% |
BINARY_OP_ADD_INT | 3,600,000 | 5.8% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_INT | 24,244,560 | 39.0% |
BINARY_OP_SUBTRACT_INT | 19,211,520 | 30.9% |
BINARY_SUBSCR_TUPLE_INT | 7,800,040 | 12.6% |
BINARY_OP | 5,400,000 | 8.7% |
COMPARE_OP_INT | 1,200,280 | 1.9% |
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 | 6,292,620 | 42.8% |
COMPARE_OP | 4,800,000 | 32.7% |
COMPARE_OP_FLOAT | 2,400,000 | 16.3% |
IS_OP | 1,200,000 | 8.2% |
TO_BOOL_BOOL | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 9,000,060 | 61.3% |
LOAD_FAST_LOAD_FAST | 4,499,520 | 30.6% |
LOAD_SMALL_INT | 600,000 | 4.1% |
LOAD_CONST_IMMORTAL | 593,040 | 4.0% |
LOAD_GLOBAL_BUILTIN | 280 | 0.0% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 9,000,060 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 7,200,000 | 80.0% |
LOAD_FAST | 1,800,000 | 20.0% |
LOAD_CONST_MORTAL | 60 | 0.0% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP | 5,289,120 | 89.8% |
TO_BOOL_BOOL | 600,180 | 10.2% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 3,244,560 | 55.1% |
LOAD_FAST | 1,200,000 | 20.4% |
JUMP_BACKWARD_NO_JIT | 844,560 | 14.3% |
LOAD_GLOBAL_MODULE | 600,000 | 10.2% |
LOAD_GLOBAL_BUILTIN | 120 | 0.0% |
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 |
---|---|---|
FOR_ITER_RANGE | 19,319,760 | 22.1% |
BINARY_OP_EXTEND | 15,600,000 | 17.8% |
BINARY_SUBSCR_LIST_INT | 14,400,000 | 16.4% |
RETURN_VALUE | 13,800,300 | 15.8% |
BINARY_OP_SUBTRACT_INT | 7,800,360 | 8.9% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 51,089,280 | 58.3% |
LOAD_FAST | 23,400,600 | 26.7% |
LOAD_GLOBAL_BUILTIN | 9,000,120 | 10.3% |
STORE_FAST | 1,200,120 | 1.4% |
POP_TOP | 1,200,000 | 1.4% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 600,060 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 600,000 | 100.0% |
LOAD_FAST | 60 | 0.0% |
Successors and predecessors for SWAP
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 1,200,120 | 28.6% |
LOAD_FAST_AND_CLEAR | 1,200,120 | 28.6% |
BINARY_OP_ADD_FLOAT | 1,200,000 | 28.6% |
BUILD_TUPLE | 588,840 | 14.1% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 1,200,120 | 28.6% |
BUILD_LIST | 1,200,120 | 28.6% |
STORE_ATTR_INSTANCE_VALUE | 1,200,000 | 28.6% |
POP_TOP | 588,840 | 14.1% |
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_FLOAT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_MULTIPLY_FLOAT | 23,400,000 | 78.0% |
BINARY_OP | 3,600,000 | 12.0% |
LOAD_ATTR_INSTANCE_VALUE | 1,800,240 | 6.0% |
LOAD_CONST_MORTAL | 1,200,000 | 4.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 18,000,000 | 60.0% |
CALL_ALLOC_AND_ENTER_INIT | 7,800,000 | 26.0% |
CALL_BUILTIN_O | 1,800,000 | 6.0% |
SWAP | 1,200,000 | 4.0% |
STORE_FAST | 600,000 | 2.0% |
Successors and predecessors for BINARY_OP_ADD_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 24,244,560 | 49.9% |
LOAD_ATTR_INSTANCE_VALUE | 14,400,000 | 29.7% |
LOAD_FAST | 8,400,000 | 17.3% |
BINARY_SUBSCR_LIST_INT | 1,499,880 | 3.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 22,800,000 | 47.0% |
BINARY_SUBSCR_LIST_INT | 14,044,560 | 28.9% |
CALL_BUILTIN_CLASS | 6,000,000 | 12.4% |
LOAD_SMALL_INT | 3,600,000 | 7.4% |
COMPARE_OP_INT | 1,044,360 | 2.2% |
Successors and predecessors for BINARY_OP_EXTEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 14,400,000 | 43.6% |
BINARY_OP_SUBTRACT_INT | 14,400,000 | 43.6% |
LOAD_FAST | 3,000,000 | 9.1% |
BINARY_OP_EXTEND | 600,000 | 1.8% |
BINARY_SUBSCR_TUPLE_INT | 600,000 | 1.8% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 15,600,000 | 47.3% |
LOAD_FAST_LOAD_FAST | 15,000,000 | 45.5% |
LOAD_FAST | 1,200,120 | 3.6% |
BINARY_OP_EXTEND | 600,000 | 1.8% |
CALL_ALLOC_AND_ENTER_INIT | 600,000 | 1.8% |
Successors and predecessors for BINARY_OP_MULTIPLY_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 43,200,000 | 93.5% |
BINARY_OP_SUBTRACT_FLOAT | 1,200,000 | 2.6% |
LOAD_ATTR_INSTANCE_VALUE | 1,200,000 | 2.6% |
LOAD_FAST_LOAD_FAST | 600,000 | 1.3% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_FLOAT | 23,400,000 | 50.6% |
LOAD_FAST | 22,800,000 | 49.4% |
Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 2,400,000 | 66.7% |
LOAD_CONST_MORTAL | 1,200,000 | 33.3% |
LOAD_FAST | 40 | 0.0% |
BINARY_OP | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,400,000 | 66.7% |
BINARY_OP_MULTIPLY_FLOAT | 1,200,000 | 33.3% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 22,800,000 | 33.0% |
LOAD_SMALL_INT | 19,211,520 | 27.8% |
LOAD_FAST | 14,400,000 | 20.9% |
LOAD_ATTR_INSTANCE_VALUE | 12,600,000 | 18.3% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 20,400,000 | 29.6% |
BINARY_OP_EXTEND | 14,400,000 | 20.9% |
LOAD_SMALL_INT | 12,600,000 | 18.3% |
LOAD_FAST | 10,800,000 | 15.6% |
STORE_FAST | 7,800,360 | 11.3% |
Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_SUBTRACT_INT | 20,400,000 | 40.8% |
BINARY_OP_ADD_INT | 14,044,560 | 28.1% |
LOAD_FAST_LOAD_FAST | 7,800,000 | 15.6% |
LOAD_FAST | 4,133,280 | 8.3% |
BINARY_SUBSCR_TUPLE_INT | 2,400,000 | 4.8% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 14,400,000 | 28.8% |
LOAD_FAST_LOAD_FAST | 7,800,000 | 15.6% |
LOAD_ATTR_METHOD_WITH_VALUES | 7,800,000 | 15.6% |
LIST_APPEND | 4,800,000 | 9.6% |
COMPARE_OP | 4,089,120 | 8.2% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 7,800,040 | 100.0% |
BINARY_SUBSCR | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP | 4,800,000 | 61.5% |
BINARY_SUBSCR_LIST_INT | 2,400,000 | 30.8% |
BINARY_OP_EXTEND | 600,000 | 7.7% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_FLOAT | 7,800,000 | 92.9% |
BINARY_OP_EXTEND | 600,000 | 7.1% |
LOAD_SMALL_INT | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 8,400,120 | 100.0% |
Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_INT | 600,000 | 50.0% |
BINARY_SUBSCR_LIST_INT | 588,840 | 49.1% |
BINARY_SUBSCR | 11,160 | 0.9% |
LOAD_FAST | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 1,200,000 | 100.0% |
COPY_FREE_VARS | 120 | 0.0% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_INT | 6,000,000 | 62.5% |
LOAD_FAST | 1,200,280 | 12.5% |
BINARY_OP_SUBTRACT_INT | 1,200,000 | 12.5% |
CALL_LEN | 600,000 | 6.2% |
LOAD_ATTR_INSTANCE_VALUE | 600,000 | 6.2% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 7,800,240 | 81.2% |
STORE_FAST | 1,200,060 | 12.5% |
LOAD_SMALL_INT | 600,000 | 6.2% |
Successors and predecessors for CALL_BUILTIN_O
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,003,600 | 62.5% |
BINARY_OP_ADD_FLOAT | 1,800,000 | 37.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 3,003,600 | 62.5% |
RETURN_VALUE | 1,800,000 | 37.5% |
Successors and predecessors for CALL_ISINSTANCE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 600,000 | 100.0% |
BUILD_TUPLE | 240 | 0.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 600,240 | 100.0% |
Successors and predecessors for CALL_LEN
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 4,811,160 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,200,000 | 87.3% |
CALL_BUILTIN_CLASS | 600,000 | 12.5% |
LOAD_SMALL_INT | 11,160 | 0.2% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 120 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 1,200,040 | 100.0% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,200,000 | 100.0% |
UNPACK_SEQUENCE_TWO_TUPLE | 40 | 0.0% |
UNPACK_SEQUENCE | 20 | 0.0% |
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 |
---|---|---|
LOAD_FAST | 600,000 | 50.0% |
BINARY_OP_ADD_FLOAT | 600,000 | 50.0% |
PUSH_NULL | 280 | 0.0% |
CALL | 100 | 0.0% |
LOAD_FAST_LOAD_FAST | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,200,060 | 100.0% |
POP_TOP | 180 | 0.0% |
RETURN_VALUE | 60 | 0.0% |
LOAD_FAST | 60 | 0.0% |
STORE_DEREF | 60 | 0.0% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 7,200,080 | 46.2% |
LOAD_ATTR_METHOD_WITH_VALUES | 5,400,000 | 34.6% |
LOAD_FAST | 3,000,000 | 19.2% |
CALL | 80 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 15,600,180 | 100.0% |
COPY_FREE_VARS | 60 | 0.0% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 600,000 | 100.0% |
LOAD_CONST_IMMORTAL | 40 | 0.0% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 600,000 | 100.0% |
MAKE_CELL | 60 | 0.0% |
Successors and predecessors for CALL_TYPE_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 120 | 100.0% |
Successors and predecessors for COMPARE_OP_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 2,400,000 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 2,400,000 | 100.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 4,047,960 | 64.3% |
LOAD_SMALL_INT | 1,200,280 | 19.1% |
BINARY_OP_ADD_INT | 1,044,360 | 16.6% |
COMPARE_OP | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 6,292,620 | 100.0% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 17,530,920 | 69.2% |
GET_ITER | 7,800,300 | 30.8% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 19,319,760 | 76.3% |
POP_ITER | 6,011,460 | 23.7% |
Successors and predecessors for JUMP_BACKWARD_NO_JIT
Predecessors | Count | Percentage |
---|---|---|
STORE_SUBSCR_LIST_INT | 7,800,000 | 43.0% |
LIST_APPEND | 4,830,720 | 26.6% |
POP_ITER | 3,600,000 | 19.9% |
STORE_FAST | 1,059,120 | 5.8% |
POP_JUMP_IF_TRUE | 844,560 | 4.7% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_RANGE | 17,530,920 | 96.7% |
LOAD_FAST_LOAD_FAST | 603,600 | 3.3% |
FOR_ITER | 60 | 0.0% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 114,463,580 | 88.6% |
LOAD_FAST_LOAD_FAST | 13,544,680 | 10.5% |
COPY | 1,200,000 | 0.9% |
LOAD_ATTR | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 64,985,520 | 50.3% |
BINARY_OP_ADD_INT | 14,400,000 | 11.1% |
BINARY_OP_SUBTRACT_INT | 12,600,000 | 9.8% |
LOAD_SMALL_INT | 12,000,000 | 9.3% |
CALL_LEN | 4,811,160 | 3.7% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,200,000 | 100.0% |
LOAD_ATTR_INSTANCE_VALUE | 80 | 0.0% |
LOAD_ATTR | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 1,200,040 | 100.0% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
CALL | 20 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,400,080 | 51.9% |
BINARY_SUBSCR_LIST_INT | 7,800,000 | 48.1% |
LOAD_ATTR | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 7,200,060 | 44.4% |
CALL_PY_EXACT_ARGS | 5,400,000 | 33.3% |
LOAD_FAST | 3,600,060 | 22.2% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 3,000,240 | 100.0% |
LOAD_ATTR | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 3,000,240 | 100.0% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 8,407,320 | 87.5% |
LOAD_FAST_LOAD_FAST | 600,000 | 6.2% |
POP_JUMP_IF_FALSE | 593,040 | 6.2% |
LOAD_ATTR_INSTANCE_VALUE | 11,160 | 0.1% |
POP_TOP | 300 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 9,000,540 | 93.6% |
BINARY_OP | 600,000 | 6.2% |
BINARY_SUBSCR | 11,160 | 0.1% |
LOAD_FAST | 120 | 0.0% |
STORE_FAST | 120 | 0.0% |
Successors and predecessors for LOAD_CONST_MORTAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,400,000 | 100.0% |
BUILD_TUPLE | 60 | 0.0% |
POP_JUMP_IF_NOT_NONE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_FLOAT | 1,200,000 | 50.0% |
BINARY_OP_SUBTRACT_FLOAT | 1,200,000 | 50.0% |
MAKE_FUNCTION | 60 | 0.0% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 9,000,120 | 59.9% |
LOAD_ATTR_INSTANCE_VALUE | 3,000,000 | 20.0% |
BINARY_OP_SUBTRACT_INT | 1,200,000 | 8.0% |
LOAD_GLOBAL_BUILTIN | 600,720 | 4.0% |
PUSH_NULL | 600,000 | 4.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 9,611,700 | 64.0% |
LOAD_FAST_LOAD_FAST | 3,600,000 | 24.0% |
LOAD_SMALL_INT | 1,200,000 | 8.0% |
LOAD_GLOBAL_BUILTIN | 600,720 | 4.0% |
BUILD_TUPLE | 240 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_NOT_NONE | 7,200,000 | 50.0% |
RESUME_CHECK | 4,200,240 | 29.2% |
LOAD_FAST | 2,388,840 | 16.6% |
POP_JUMP_IF_TRUE | 600,000 | 4.2% |
BINARY_OP_SUBTRACT_INT | 11,160 | 0.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 9,600,120 | 66.7% |
LOAD_ATTR_MODULE | 3,000,240 | 20.8% |
IS_OP | 1,200,000 | 8.3% |
CALL_ISINSTANCE | 600,000 | 4.2% |
LOAD_ATTR | 60 | 0.0% |
Successors and predecessors for LOAD_SUPER_ATTR_METHOD
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 120 | 100.0% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 15,600,180 | 54.2% |
CALL_ALLOC_AND_ENTER_INIT | 8,400,120 | 29.2% |
CACHE | 3,000,180 | 10.4% |
CALL_BOUND_METHOD_GENERAL | 1,200,000 | 4.2% |
CALL_PY_GENERAL | 600,000 | 2.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 15,000,300 | 52.1% |
LOAD_FAST_LOAD_FAST | 9,000,120 | 31.2% |
LOAD_GLOBAL_MODULE | 4,200,240 | 14.6% |
LOAD_GLOBAL_BUILTIN | 600,000 | 2.1% |
LOAD_GLOBAL | 60 | 0.0% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 25,200,360 | 95.4% |
SWAP | 1,200,000 | 4.5% |
LOAD_FAST | 7,560 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 16,800,240 | 63.6% |
LOAD_CONST_IMMORTAL | 8,407,320 | 31.8% |
LOAD_FAST | 600,360 | 2.3% |
JUMP_FORWARD | 600,000 | 2.3% |
Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 7,200,000 | 92.3% |
BINARY_OP_SUBTRACT_INT | 600,000 | 7.7% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 7,800,000 | 100.0% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
CALL_ISINSTANCE | 600,240 | 100.0% |
LOAD_FAST | 40 | 0.0% |
TO_BOOL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 600,180 | 100.0% |
POP_JUMP_IF_FALSE | 120 | 0.0% |
Successors and predecessors for TO_BOOL_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 120 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 600,000 | 100.0% |
CALL_METHOD_DESCRIPTOR_NOARGS | 40 | 0.0% |
UNPACK_SEQUENCE | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 600,060 | 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. |
11,430,720 | 4.7% |
hit
ⓘSpecialized instructions that complete. |
230,356,500 | 95.3% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 0.7% |
Failure | 2,760 | 99.3% |
Failure kind | Count | Ratio |
---|---|---|
power | 1,320 | 47.8% |
true divide float | 840 | 30.4% |
multiply different types | 180 | 6.5% |
add other | 140 | 5.1% |
subtract other | 140 | 5.1% |
true divide other | 140 | 5.1% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
11,160 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
57,777,900 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 33.3% |
Failure | 40 | 66.7% |
Failure kind | Count | Ratio |
---|---|---|
out of range | 40 | 100.0% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
45,015,900 | 100.0% |
miss
ⓘSpecialized instructions that deopt. |
120 | 0.0% |
Success | Count | Ratio |
---|---|---|
Success | 260 | 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. |
10,089,120 | 53.7% |
hit
ⓘSpecialized instructions that complete. |
8,692,620 | 46.3% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 0.8% |
Failure | 2,480 | 99.2% |
Failure kind | Count | Ratio |
---|---|---|
float long | 2,480 | 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. |
25,331,220 | 100.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,200,060 | 0.8% |
hit
ⓘSpecialized instructions that complete. |
149,608,860 | 99.2% |
Success | Count | Ratio |
---|---|---|
Success | 200 | 38.5% |
Failure | 320 | 61.5% |
Failure kind | Count | Ratio |
---|---|---|
method | 300 | 93.8% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
29,413,380 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 100 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for LOAD_SUPER_ATTR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
120 | 100.0% |
specialization stats for STORE_ATTR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
26,407,920 | 100.0% |
specialization stats for STORE_SUBSCR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
7,800,000 | 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. |
600,420 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 50.0% |
Failure | 20 | 50.0% |
Failure kind | Count | Ratio |
---|---|---|
sequence | 20 | 100.0% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
600,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. |
650,425,320 | 49.4% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
22,737,460 | 1.7% |
Specialized hits
ⓘSpecialized instructions, e.g. |
643,553,280 | 48.9% |
Specialized misses
ⓘSpecialized instructions, e.g. |
120 | 0.0% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
BINARY_OP | 11,430,720 | 50.3% |
COMPARE_OP | 10,089,120 | 44.4% |
LOAD_ATTR | 1,200,060 | 5.3% |
BINARY_SUBSCR | 11,160 | 0.0% |
TO_BOOL | 60 | 0.0% |
FOR_ITER | 60 | 0.0% |
BINARY_SLICE | 0 | 0.0% |
STORE_SLICE | 0 | 0.0% |
CACHE | 0 | 0.0% |
CALL_FUNCTION_EX | 0 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
Name | Count | Ratio |
---|---|---|
CALL_METHOD_DESCRIPTOR_FAST | 120 | 100.0% |
CACHE | 0 | 0.0% |
CALL_FUNCTION_EX | 0 | 0.0% |
EXIT_INIT_CHECK | 0 | 0.0% |
GET_ITER | 0 | 0.0% |
INTERPRETER_EXIT | 0 | 0.0% |
MAKE_FUNCTION | 0 | 0.0% |
NOP | 0 | 0.0% |
POP_ITER | 0 | 0.0% |
POP_TOP | 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 | 3,000,180 | 10.4% |
Calls to Python functions inlined | 25,800,540 | 89.6% |
Calls via PyEval_EvalFrame (total) | 3,000,180 | 10.4% |
Calls via PyEval_EvalFrame (vector) | 3,000,180 | 10.4% |
Calls via PyEval_EvalFrame (generator) | 0 | 0.0% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 3,000,180 | 10.4% |
Calls via PyEval_EvalFrame (build class) | 0 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 1,800,000 | 6.2% |
Calls via PyEval_EvalFrame (function ex) | 0 | 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 | 37,200,840 | 129.2% |
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 | 103,210,540 | 80.3% |
Frees to freelist | 103,210,480 | |
Allocations | 25,283,960 | 19.7% |
Allocations to 512 bytes | 25,253,240 | 19.7% |
Allocations to 4 kbytes | 30,720 | 0.0% |
Allocations over 4 kbytes | 0 | 0.0% |
Frees | 26,483,945 | |
Inline values | 8,400,120 | |
Interpreter mortal increfs | 561,934,320 | 64.5% |
Interpreter mortal decrefs | 528,935,680 | 42.9% |
Mortal increfs | 16,202,469 | 1.9% |
Mortal decrefs | 177,633,614 | 14.4% |
Interpreter immortal increfs | 260,023,020 | 29.8% |
Interpreter immortal decrefs | 479,911,800 | 38.9% |
Immortal increfs | 33,707,389 | 3.9% |
Immortal decrefs | 47,601,804 | 3.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 | 1,200,493 | |
Method cache misses | 27 | |
Method cache collisions | 78 | |
Method cache dunder hits | 3,000,418 | |
Method cache dunder misses | 62 |
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 | 0 | 0 | 0 | 0 | 0 |
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-02