- benchmark: pathlib
- fork: python
- ref: 0ac40acec045c4ce780cf7d887fcbe4c661e82b7
- commit hash: 0ac40ac
- commit date: 2024-12-14T17:25:49+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 | 43,062,380 | 20.4% | 20.4% | |
RETURN_VALUE | 17,653,500 | 8.4% | 28.8% | |
RESUME_CHECK | 15,612,580 | 7.4% | 36.2% | 0.0% |
LOAD_GLOBAL_BUILTIN | 15,126,480 | 7.2% | 43.4% | |
INTERPRETER_EXIT | 13,083,060 | 6.2% | 49.6% | |
STORE_FAST | 10,255,920 | 4.9% | 54.4% | |
LOAD_GLOBAL_MODULE | 7,567,600 | 3.6% | 58.0% | |
ENTER_EXECUTOR | 5,547,500 | 2.6% | 60.6% | |
POP_JUMP_IF_FALSE | 5,179,360 | 2.5% | 63.1% | |
TO_BOOL_BOOL | 5,168,380 | 2.5% | 65.6% | |
LOAD_ATTR_METHOD_NO_DICT | 5,134,720 | 2.4% | 68.0% | |
POP_JUMP_IF_TRUE | 5,108,560 | 2.4% | 70.4% | |
PUSH_NULL | 5,045,500 | 2.4% | 72.8% | |
NOP | 5,043,240 | 2.4% | 75.2% | |
CALL_ISINSTANCE | 5,040,120 | 2.4% | 77.6% | |
POP_TOP | 3,008,260 | 1.4% | 79.0% | |
CALL_PY_GENERAL | 2,609,620 | 1.2% | 80.2% | |
LOAD_ATTR_SLOT | 2,586,500 | 1.2% | 81.5% | 0.0% |
GET_ITER | 2,527,140 | 1.2% | 82.7% | |
LOAD_ATTR_MODULE | 2,526,520 | 1.2% | 83.9% | |
CALL_NON_PY_GENERAL | 2,526,240 | 1.2% | 85.1% | |
TO_BOOL_STR | 2,524,240 | 1.2% | 86.3% | |
LOAD_ATTR_CLASS | 2,523,240 | 1.2% | 87.5% | |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 2,523,060 | 1.2% | 88.7% | |
BUILD_LIST | 2,522,160 | 1.2% | 89.9% | |
COPY | 2,522,040 | 1.2% | 91.0% | |
CALL_STR_1 | 2,521,980 | 1.2% | 92.2% | |
STORE_ATTR_SLOT | 2,520,240 | 1.2% | 93.4% | |
CALL_FUNCTION_EX | 2,520,120 | 1.2% | 94.6% | |
IS_OP | 2,520,120 | 1.2% | 95.8% | |
CALL_LIST_APPEND | 2,520,060 | 1.2% | 97.0% | |
FOR_ITER_TUPLE | 2,520,060 | 1.2% | 98.2% | |
CALL_TYPE_1 | 2,520,000 | 1.2% | 99.4% | |
YIELD_VALUE | 480,000 | 0.2% | 99.6% | |
LOAD_DEREF | 192,420 | 0.1% | 99.7% | |
JUMP_BACKWARD | 87,340 | 0.0% | 99.8% | |
FOR_ITER_LIST | 84,980 | 0.0% | 99.8% | |
LOAD_FAST_LOAD_FAST | 71,280 | 0.0% | 99.8% | |
LOAD_ATTR | 69,720 | 0.0% | 99.9% | |
CALL_BUILTIN_FAST | 63,140 | 0.0% | 99.9% | |
TO_BOOL_ALWAYS_TRUE | 62,180 | 0.0% | 99.9% | |
LOAD_CONST_IMMORTAL | 19,240 | 0.0% | 100.0% | |
SWAP | 8,220 | 0.0% | 100.0% | |
COMPARE_OP_STR | 7,900 | 0.0% | 100.0% | |
LOAD_CONST | 6,880 | 0.0% | 100.0% | |
FOR_ITER | 6,840 | 0.0% | 100.0% | |
CALL_PY_EXACT_ARGS | 5,160 | 0.0% | 100.0% | |
LOAD_ATTR_INSTANCE_VALUE | 5,040 | 0.0% | 100.0% | |
BINARY_SUBSCR | 4,040 | 0.0% | 100.0% | |
CALL_BUILTIN_CLASS | 4,020 | 0.0% | 100.0% | |
LOAD_SPECIAL | 3,960 | 0.0% | 100.0% | |
MAKE_CELL | 3,900 | 0.0% | 100.0% | |
STORE_ATTR_INSTANCE_VALUE | 3,840 | 0.0% | 100.0% | |
LIST_APPEND | 2,080 | 0.0% | 100.0% | |
STORE_FAST_LOAD_FAST | 2,080 | 0.0% | 100.0% | |
LOAD_FAST_AND_CLEAR | 2,040 | 0.0% | 100.0% | |
CALL_BOUND_METHOD_EXACT_ARGS | 2,040 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 2,040 | 0.0% | 100.0% | |
LOAD_ATTR_METHOD_WITH_VALUES | 2,040 | 0.0% | 100.0% | |
LOAD_FAST_CHECK | 1,980 | 0.0% | 100.0% | |
POP_JUMP_IF_NOT_NONE | 1,980 | 0.0% | 100.0% | |
SET_FUNCTION_ATTRIBUTE | 1,980 | 0.0% | 100.0% | |
STORE_DEREF | 1,980 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_FAST | 1,920 | 0.0% | 100.0% | |
LOAD_ATTR_NONDESCRIPTOR_NO_DICT | 1,920 | 0.0% | 100.0% | |
TO_BOOL_LIST | 1,920 | 0.0% | 100.0% | |
BUILD_TUPLE | 1,140 | 0.0% | 100.0% | |
TO_BOOL | 1,100 | 0.0% | 100.0% | |
STORE_FAST_STORE_FAST | 1,080 | 0.0% | 100.0% | |
UNPACK_SEQUENCE_TUPLE | 1,080 | 0.0% | 100.0% | |
MAKE_FUNCTION | 1,020 | 0.0% | 100.0% | |
COPY_FREE_VARS | 1,020 | 0.0% | 100.0% | |
JUMP_FORWARD | 1,020 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 1,020 | 0.0% | 100.0% | |
TO_BOOL_NONE | 1,020 | 0.0% | 100.0% | |
CONTAINS_OP | 1,000 | 0.0% | 100.0% | |
EXIT_INIT_CHECK | 960 | 0.0% | 100.0% | |
FORMAT_SIMPLE | 960 | 0.0% | 100.0% | |
RETURN_GENERATOR | 960 | 0.0% | 100.0% | |
BUILD_STRING | 960 | 0.0% | 100.0% | |
POP_JUMP_IF_NONE | 960 | 0.0% | 100.0% | |
CALL_ALLOC_AND_ENTER_INIT | 960 | 0.0% | 100.0% | |
FOR_ITER_RANGE | 540 | 0.0% | 100.0% | |
CALL | 340 | 0.0% | 100.0% | |
LOAD_GLOBAL | 200 | 0.0% | 100.0% | |
LOAD_SMALL_INT | 180 | 0.0% | 100.0% | |
LOAD_ATTR_PROPERTY | 180 | 0.0% | 100.0% | |
CHECK_EXC_MATCH | 120 | 0.0% | 100.0% | |
POP_EXCEPT | 120 | 0.0% | 100.0% | |
PUSH_EXC_INFO | 120 | 0.0% | 100.0% | |
BINARY_OP_ADD_UNICODE | 120 | 0.0% | 100.0% | |
CALL_LEN | 120 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_O | 120 | 0.0% | 100.0% | |
COMPARE_OP_INT | 120 | 0.0% | 100.0% | |
CALL_INTRINSIC_1 | 60 | 0.0% | 100.0% | |
LIST_EXTEND | 60 | 0.0% | 100.0% | |
BINARY_OP_SUBTRACT_FLOAT | 60 | 0.0% | 100.0% | |
BINARY_SUBSCR_LIST_INT | 60 | 0.0% | 100.0% | |
BINARY_SUBSCR_TUPLE_INT | 60 | 0.0% | 100.0% | |
UNPACK_SEQUENCE_TWO_TUPLE | 60 | 0.0% | 100.0% | |
CALL_KW_NON_PY | 40 | 0.0% | 100.0% | |
BINARY_OP | 20 | 0.0% | 100.0% | |
COMPARE_OP | 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 |
---|---|---|---|
CACHE RESUME_CHECK | 13,082,160 | 6.2% | 6.2% |
RETURN_VALUE INTERPRETER_EXIT | 12,603,060 | 6.0% | 12.2% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 10,086,240 | 4.8% | 17.0% |
STORE_FAST LOAD_FAST | 5,142,280 | 2.4% | 19.4% |
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT | 5,133,560 | 2.4% | 21.8% |
POP_JUMP_IF_TRUE LOAD_FAST | 5,045,240 | 2.4% | 24.2% |
RESUME_CHECK LOAD_FAST | 5,045,220 | 2.4% | 26.6% |
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST | 5,044,020 | 2.4% | 29.0% |
PUSH_NULL LOAD_FAST | 5,043,240 | 2.4% | 31.4% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 5,042,200 | 2.4% | 33.8% |
LOAD_FAST LOAD_GLOBAL_MODULE | 5,041,080 | 2.4% | 36.2% |
RESUME_CHECK LOAD_GLOBAL_BUILTIN | 5,041,020 | 2.4% | 38.6% |
CALL_ISINSTANCE TO_BOOL_BOOL | 5,040,120 | 2.4% | 41.0% |
ENTER_EXECUTOR RETURN_VALUE | 5,039,960 | 2.4% | 43.4% |
POP_TOP ENTER_EXECUTOR | 2,914,240 | 1.4% | 44.7% |
TO_BOOL_BOOL POP_JUMP_IF_FALSE | 2,647,300 | 1.3% | 46.0% |
RETURN_VALUE STORE_FAST | 2,524,080 | 1.2% | 47.2% |
LOAD_FAST LOAD_ATTR_SLOT | 2,523,300 | 1.2% | 48.4% |
RESUME_CHECK NOP | 2,523,120 | 1.2% | 49.6% |
LOAD_FAST CALL_BUILTIN_FAST_WITH_KEYWORDS | 2,523,060 | 1.2% | 50.8% |
LOAD_FAST RETURN_VALUE | 2,522,940 | 1.2% | 52.0% |
LOAD_ATTR_MODULE PUSH_NULL | 2,522,380 | 1.2% | 53.2% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 2,522,340 | 1.2% | 54.4% |
TO_BOOL_STR POP_JUMP_IF_TRUE | 2,522,260 | 1.2% | 55.6% |
NOP LOAD_FAST | 2,522,220 | 1.2% | 56.8% |
LOAD_ATTR_SLOT RETURN_VALUE | 2,522,040 | 1.2% | 57.9% |
LOAD_FAST CALL_STR_1 | 2,521,980 | 1.2% | 59.1% |
POP_JUMP_IF_FALSE LOAD_GLOBAL_BUILTIN | 2,521,980 | 1.2% | 60.3% |
LOAD_FAST GET_ITER | 2,521,200 | 1.2% | 61.5% |
CALL_NON_PY_GENERAL RETURN_VALUE | 2,521,080 | 1.2% | 62.7% |
TO_BOOL_BOOL POP_JUMP_IF_TRUE | 2,521,080 | 1.2% | 63.9% |
LOAD_FAST CALL_NON_PY_GENERAL | 2,521,060 | 1.2% | 65.1% |
LOAD_FAST CALL_PY_GENERAL | 2,520,960 | 1.2% | 66.3% |
CALL_PY_GENERAL RESUME_CHECK | 2,520,960 | 1.2% | 67.5% |
LOAD_FAST STORE_ATTR_SLOT | 2,520,240 | 1.2% | 68.7% |
STORE_ATTR_SLOT LOAD_FAST | 2,520,240 | 1.2% | 69.9% |
RETURN_VALUE POP_TOP | 2,520,180 | 1.2% | 71.1% |
GET_ITER FOR_ITER_TUPLE | 2,520,060 | 1.2% | 72.3% |
NOP LOAD_GLOBAL_MODULE | 2,520,060 | 1.2% | 73.5% |
BUILD_LIST STORE_FAST | 2,520,060 | 1.2% | 74.7% |
COPY TO_BOOL_STR | 2,520,060 | 1.2% | 75.9% |
IS_OP POP_JUMP_IF_FALSE | 2,520,060 | 1.2% | 77.1% |
LOAD_FAST CALL_FUNCTION_EX | 2,520,060 | 1.2% | 78.3% |
LOAD_FAST CALL_LIST_APPEND | 2,520,060 | 1.2% | 79.5% |
LOAD_FAST LOAD_GLOBAL_BUILTIN | 2,520,060 | 1.2% | 80.7% |
POP_JUMP_IF_FALSE NOP | 2,520,060 | 1.2% | 81.9% |
CALL_BUILTIN_FAST_WITH_KEYWORDS STORE_FAST | 2,520,060 | 1.2% | 83.0% |
CALL_LIST_APPEND ENTER_EXECUTOR | 2,520,060 | 1.2% | 84.2% |
FOR_ITER_TUPLE STORE_FAST | 2,520,060 | 1.2% | 85.4% |
LOAD_ATTR_CLASS LOAD_FAST | 2,520,060 | 1.2% | 86.6% |
LOAD_GLOBAL_BUILTIN CALL_ISINSTANCE | 2,520,060 | 1.2% | 87.8% |
LOAD_GLOBAL_BUILTIN LOAD_ATTR_CLASS | 2,520,060 | 1.2% | 89.0% |
LOAD_GLOBAL_MODULE IS_OP | 2,520,060 | 1.2% | 90.2% |
LOAD_GLOBAL_MODULE CALL_ISINSTANCE | 2,520,060 | 1.2% | 91.4% |
RESUME_CHECK BUILD_LIST | 2,520,060 | 1.2% | 92.6% |
CALL_FUNCTION_EX RETURN_VALUE | 2,520,000 | 1.2% | 93.8% |
LOAD_FAST COPY | 2,520,000 | 1.2% | 95.0% |
LOAD_FAST CALL_TYPE_1 | 2,520,000 | 1.2% | 96.2% |
CALL_STR_1 RETURN_VALUE | 2,520,000 | 1.2% | 97.4% |
CALL_TYPE_1 PUSH_NULL | 2,520,000 | 1.2% | 98.6% |
YIELD_VALUE INTERPRETER_EXIT | 480,000 | 0.2% | 98.8% |
RESUME_CHECK POP_TOP | 480,000 | 0.2% | 99.0% |
ENTER_EXECUTOR YIELD_VALUE | 417,820 | 0.2% | 99.2% |
LOAD_DEREF TO_BOOL_BOOL | 125,320 | 0.1% | 99.3% |
CALL_PY_GENERAL ENTER_EXECUTOR | 87,640 | 0.0% | 99.3% |
LOAD_ATTR_METHOD_NO_DICT CALL_PY_GENERAL | 87,640 | 0.0% | 99.4% |
POP_TOP JUMP_BACKWARD | 86,300 | 0.0% | 99.4% |
FOR_ITER_LIST STORE_FAST | 83,840 | 0.0% | 99.5% |
JUMP_BACKWARD FOR_ITER_LIST | 82,940 | 0.0% | 99.5% |
POP_JUMP_IF_FALSE LOAD_FAST | 71,960 | 0.0% | 99.5% |
LOAD_DEREF LOAD_ATTR | 64,100 | 0.0% | 99.6% |
POP_JUMP_IF_FALSE LOAD_DEREF | 63,140 | 0.0% | 99.6% |
STORE_FAST LOAD_DEREF | 63,140 | 0.0% | 99.6% |
LOAD_ATTR LOAD_FAST_LOAD_FAST | 62,240 | 0.0% | 99.6% |
LOAD_FAST YIELD_VALUE | 62,180 | 0.0% | 99.7% |
LOAD_FAST_LOAD_FAST LOAD_ATTR_SLOT | 62,180 | 0.0% | 99.7% |
POP_JUMP_IF_TRUE LOAD_DEREF | 62,180 | 0.0% | 99.7% |
CALL_BUILTIN_FAST STORE_FAST | 62,180 | 0.0% | 99.8% |
LOAD_ATTR_SLOT CALL_BUILTIN_FAST | 62,180 | 0.0% | 99.8% |
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_TRUE | 62,180 | 0.0% | 99.8% |
ENTER_EXECUTOR TO_BOOL_ALWAYS_TRUE | 61,220 | 0.0% | 99.9% |
ENTER_EXECUTOR ENTER_EXECUTOR | 24,520 | 0.0% | 99.9% |
LOAD_FAST LOAD_CONST_IMMORTAL | 7,000 | 0.0% | 99.9% |
COMPARE_OP_STR POP_JUMP_IF_FALSE | 6,840 | 0.0% | 99.9% |
LOAD_CONST_IMMORTAL COMPARE_OP_STR | 5,980 | 0.0% | 99.9% |
FOR_ITER STORE_FAST | 5,720 | 0.0% | 99.9% |
LOAD_FAST LOAD_ATTR | 5,140 | 0.0% | 99.9% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 5,100 | 0.0% | 99.9% |
LOAD_ATTR LOAD_FAST | 4,920 | 0.0% | 99.9% |
LOAD_CONST_IMMORTAL LOAD_CONST_IMMORTAL | 4,080 | 0.0% | 99.9% |
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 3,980 | 0.0% | 99.9% |
ENTER_EXECUTOR POP_TOP | 3,940 | 0.0% | 99.9% |
JUMP_BACKWARD FOR_ITER | 3,860 | 0.0% | 99.9% |
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE | 3,840 | 0.0% | 99.9% |
POP_TOP LOAD_FAST | 3,540 | 0.0% | 99.9% |
LOAD_FAST LOAD_ATTR_CLASS | 3,120 | 0.0% | 99.9% |
LOAD_FAST TO_BOOL_STR | 3,120 | 0.0% | 99.9% |
STORE_FAST LOAD_CONST_IMMORTAL | 3,120 | 0.0% | 99.9% |
LOAD_ATTR_CLASS LOAD_ATTR_MODULE | 3,120 | 0.0% | 99.9% |
GET_ITER FOR_ITER | 2,940 | 0.0% | 99.9% |
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 | 13,082,160 | 100.0% |
POP_TOP | 960 | 0.0% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 2,880 | 71.3% |
LOAD_CONST | 960 | 23.8% |
BINARY_SUBSCR | 160 | 4.0% |
LOAD_SMALL_INT | 40 | 1.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 1,920 | 47.5% |
LOAD_CONST | 960 | 23.8% |
LOAD_FAST_LOAD_FAST | 960 | 23.8% |
BINARY_SUBSCR | 160 | 4.0% |
BINARY_SUBSCR_LIST_INT | 20 | 0.5% |
Successors and predecessors for CHECK_EXC_MATCH
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 120 | 100.0% |
Successors and predecessors for EXIT_INIT_CHECK
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 960 | 100.0% |
Successors and predecessors for FORMAT_SIMPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 960 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,521,200 | 99.8% |
SWAP | 2,040 | 0.1% |
RETURN_VALUE | 1,920 | 0.1% |
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS | 1,020 | 0.0% |
LOAD_FAST_CHECK | 960 | 0.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_TUPLE | 2,520,060 | 99.7% |
FOR_ITER | 2,940 | 0.1% |
LOAD_FAST_AND_CLEAR | 2,040 | 0.1% |
FOR_ITER_LIST | 2,040 | 0.1% |
FOR_ITER_RANGE | 60 | 0.0% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 12,603,060 | 96.3% |
YIELD_VALUE | 480,000 | 3.7% |
Successors and predecessors for MAKE_FUNCTION
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 1,020 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SET_FUNCTION_ATTRIBUTE | 1,020 | 100.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 2,523,120 | 50.0% |
POP_JUMP_IF_FALSE | 2,520,060 | 50.0% |
POP_JUMP_IF_TRUE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,522,220 | 50.0% |
LOAD_GLOBAL_MODULE | 2,520,060 | 50.0% |
LOAD_DEREF | 960 | 0.0% |
Successors and predecessors for POP_EXCEPT
Predecessors | Count | Percentage |
---|---|---|
SWAP | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 120 | 100.0% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,520,180 | 83.8% |
RESUME_CHECK | 480,000 | 16.0% |
ENTER_EXECUTOR | 3,940 | 0.1% |
CALL_NON_PY_GENERAL | 2,040 | 0.1% |
CACHE | 960 | 0.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 2,914,240 | 96.9% |
JUMP_BACKWARD | 86,300 | 2.9% |
LOAD_FAST | 3,540 | 0.1% |
LOAD_CONST_IMMORTAL | 1,140 | 0.0% |
STORE_FAST | 1,020 | 0.0% |
Successors and predecessors for PUSH_EXC_INFO
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_SLOT | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 120 | 100.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 2,522,380 | 50.0% |
CALL_TYPE_1 | 2,520,000 | 49.9% |
LOAD_FAST | 2,040 | 0.0% |
LOAD_DEREF | 1,020 | 0.0% |
LOAD_ATTR_CLASS | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,043,240 | 100.0% |
LOAD_FAST_LOAD_FAST | 1,060 | 0.0% |
LOAD_CONST | 960 | 0.0% |
CALL_NON_PY_GENERAL | 160 | 0.0% |
CALL | 80 | 0.0% |
Successors and predecessors for RETURN_GENERATOR
Predecessors | Count | Percentage |
---|---|---|
COPY_FREE_VARS | 960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 960 | 100.0% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 5,039,960 | 28.5% |
LOAD_FAST | 2,522,940 | 14.3% |
LOAD_ATTR_SLOT | 2,522,040 | 14.3% |
CALL_NON_PY_GENERAL | 2,521,080 | 14.3% |
CALL_FUNCTION_EX | 2,520,000 | 14.3% |
Successors | Count | Percentage |
---|---|---|
INTERPRETER_EXIT | 12,603,060 | 71.4% |
STORE_FAST | 2,524,080 | 14.3% |
POP_TOP | 2,520,180 | 14.3% |
RETURN_VALUE | 1,980 | 0.0% |
GET_ITER | 1,920 | 0.0% |
Successors and predecessors for TO_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 1,020 | 92.7% |
TO_BOOL | 60 | 5.5% |
LOAD_FAST | 20 | 1.8% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 1,020 | 92.7% |
TO_BOOL | 60 | 5.5% |
TO_BOOL_BOOL | 20 | 1.8% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 20 | 100.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_SUBTRACT_FLOAT | 20 | 100.0% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 2,520,060 | 99.9% |
SWAP | 2,040 | 0.1% |
LOAD_FAST | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 2,520,060 | 99.9% |
SWAP | 2,040 | 0.1% |
LOAD_DEREF | 60 | 0.0% |
Successors and predecessors for BUILD_STRING
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 960 | 100.0% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,020 | 89.5% |
LOAD_FAST_LOAD_FAST | 60 | 5.3% |
STORE_FAST | 60 | 5.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST | 1,020 | 89.5% |
RETURN_VALUE | 60 | 5.3% |
CALL_METHOD_DESCRIPTOR_O | 40 | 3.5% |
CALL | 20 | 1.8% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 80 | 23.5% |
LOAD_FAST | 60 | 17.6% |
LOAD_FAST_LOAD_FAST | 60 | 17.6% |
LOAD_ATTR_METHOD_NO_DICT | 40 | 11.8% |
LOAD_CONST_IMMORTAL | 40 | 11.8% |
Successors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 120 | 35.3% |
CALL_PY_EXACT_ARGS | 100 | 29.4% |
CALL_BUILTIN_CLASS | 40 | 11.8% |
CALL_LEN | 20 | 5.9% |
CALL_METHOD_DESCRIPTOR_NOARGS | 20 | 5.9% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,060 | 100.0% |
CALL_INTRINSIC_1 | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,520,000 | 100.0% |
RESUME_CHECK | 60 | 0.0% |
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_GLOBAL_MODULE | 20 | 100.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 20 | 100.0% |
Successors and predecessors for CONTAINS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 960 | 96.0% |
CONTAINS_OP | 40 | 4.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 960 | 96.0% |
CONTAINS_OP | 40 | 4.0% |
Successors and predecessors for COPY
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,000 | 99.9% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 1,980 | 0.1% |
RETURN_VALUE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_STR | 2,520,060 | 99.9% |
LOAD_SPECIAL | 1,980 | 0.1% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_GENERAL | 960 | 94.1% |
CALL_PY_EXACT_ARGS | 60 | 5.9% |
Successors | Count | Percentage |
---|---|---|
RETURN_GENERATOR | 960 | 94.1% |
RESUME_CHECK | 60 | 5.9% |
Successors and predecessors for FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 3,860 | 56.4% |
GET_ITER | 2,940 | 43.0% |
FOR_ITER | 40 | 0.6% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 5,720 | 83.6% |
STORE_FAST_LOAD_FAST | 1,020 | 14.9% |
LOAD_FAST | 60 | 0.9% |
FOR_ITER | 40 | 0.6% |
Successors and predecessors for IS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 2,520,060 | 100.0% |
LOAD_CONST_IMMORTAL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 2,520,060 | 100.0% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for JUMP_BACKWARD
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 86,300 | 98.8% |
LIST_APPEND | 1,040 | 1.2% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_LIST | 82,940 | 95.0% |
FOR_ITER | 3,860 | 4.4% |
FOR_ITER_RANGE | 480 | 0.5% |
RETURN_VALUE | 60 | 0.1% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 1,020 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,020 | 100.0% |
Successors and predecessors for LIST_APPEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,060 | 51.0% |
LOAD_ATTR_SLOT | 1,020 | 49.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 1,040 | 50.0% |
ENTER_EXECUTOR | 1,040 | 50.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_DEREF | 64,100 | 91.9% |
LOAD_FAST | 5,140 | 7.4% |
LOAD_ATTR | 320 | 0.5% |
LOAD_GLOBAL_MODULE | 100 | 0.1% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 0.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 62,240 | 89.3% |
LOAD_FAST | 4,920 | 7.1% |
LOAD_FAST_CHECK | 1,020 | 1.5% |
STORE_FAST | 960 | 1.4% |
LOAD_ATTR | 320 | 0.5% |
Successors and predecessors for LOAD_CONST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,920 | 27.9% |
BUILD_TUPLE | 1,020 | 14.8% |
BINARY_SUBSCR | 960 | 14.0% |
PUSH_NULL | 960 | 14.0% |
POP_JUMP_IF_FALSE | 960 | 14.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_STR | 1,920 | 27.9% |
MAKE_FUNCTION | 1,020 | 14.8% |
BINARY_SUBSCR | 960 | 14.0% |
LOAD_FAST | 960 | 14.0% |
LOAD_FAST_LOAD_FAST | 960 | 14.0% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 63,140 | 32.8% |
STORE_FAST | 63,140 | 32.8% |
POP_JUMP_IF_TRUE | 62,180 | 32.3% |
NOP | 960 | 0.5% |
POP_TOP | 960 | 0.5% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 125,320 | 65.1% |
LOAD_ATTR | 64,100 | 33.3% |
PUSH_NULL | 1,020 | 0.5% |
POP_JUMP_IF_NONE | 960 | 0.5% |
LOAD_ATTR_METHOD_WITH_VALUES | 960 | 0.5% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 10,086,240 | 23.4% |
STORE_FAST | 5,142,280 | 11.9% |
POP_JUMP_IF_TRUE | 5,045,240 | 11.7% |
RESUME_CHECK | 5,045,220 | 11.7% |
LOAD_ATTR_METHOD_NO_DICT | 5,044,020 | 11.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 5,133,560 | 11.9% |
LOAD_GLOBAL_MODULE | 5,041,080 | 11.7% |
LOAD_ATTR_SLOT | 2,523,300 | 5.9% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 2,523,060 | 5.9% |
RETURN_VALUE | 2,522,940 | 5.9% |
Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 2,040 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SWAP | 2,040 | 100.0% |
Successors and predecessors for LOAD_FAST_CHECK
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR | 1,020 | 51.5% |
STORE_FAST | 960 | 48.5% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 1,020 | 51.5% |
GET_ITER | 960 | 48.5% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR | 62,240 | 87.3% |
STORE_ATTR_INSTANCE_VALUE | 2,880 | 4.0% |
PUSH_NULL | 1,060 | 1.5% |
LOAD_GLOBAL_MODULE | 1,020 | 1.4% |
BINARY_SUBSCR | 960 | 1.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_SLOT | 62,180 | 87.2% |
STORE_ATTR_INSTANCE_VALUE | 3,840 | 5.4% |
CALL_PY_EXACT_ARGS | 1,040 | 1.5% |
LOAD_FAST | 1,020 | 1.4% |
LOAD_ATTR_INSTANCE_VALUE | 1,000 | 1.4% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 30.0% |
RESUME_CHECK | 60 | 30.0% |
POP_JUMP_IF_TRUE | 20 | 10.0% |
CALL_LEN | 20 | 10.0% |
FOR_ITER_LIST | 20 | 10.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 140 | 70.0% |
LOAD_GLOBAL_BUILTIN | 60 | 30.0% |
Successors and predecessors for LOAD_SMALL_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 120 | 66.7% |
CALL_LEN | 60 | 33.3% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 60 | 33.3% |
BINARY_SUBSCR | 40 | 22.2% |
BINARY_SUBSCR_LIST_INT | 40 | 22.2% |
BINARY_SUBSCR_TUPLE_INT | 40 | 22.2% |
Successors and predecessors for LOAD_SPECIAL
Predecessors | Count | Percentage |
---|---|---|
COPY | 1,980 | 50.0% |
SWAP | 1,980 | 50.0% |
Successors | Count | Percentage |
---|---|---|
SWAP | 1,980 | 50.0% |
CALL_METHOD_DESCRIPTOR_NOARGS | 1,980 | 50.0% |
Successors and predecessors for MAKE_CELL
Predecessors | Count | Percentage |
---|---|---|
MAKE_CELL | 2,880 | 73.8% |
CALL_BOUND_METHOD_EXACT_ARGS | 960 | 24.6% |
CALL_PY_GENERAL | 60 | 1.5% |
Successors | Count | Percentage |
---|---|---|
MAKE_CELL | 2,880 | 73.8% |
RESUME_CHECK | 1,020 | 26.2% |
Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 2,647,300 | 51.1% |
IS_OP | 2,520,060 | 48.7% |
COMPARE_OP_STR | 6,840 | 0.1% |
TO_BOOL_STR | 1,980 | 0.0% |
TO_BOOL | 1,020 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 2,521,980 | 48.7% |
NOP | 2,520,060 | 48.7% |
LOAD_FAST | 71,960 | 1.4% |
LOAD_DEREF | 63,140 | 1.2% |
LOAD_GLOBAL_MODULE | 1,080 | 0.0% |
Successors and predecessors for POP_JUMP_IF_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_DEREF | 960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_DEREF | 960 | 100.0% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,020 | 51.5% |
CALL_NON_PY_GENERAL | 960 | 48.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 960 | 48.5% |
LOAD_GLOBAL_MODULE | 960 | 48.5% |
LOAD_CONST | 60 | 3.0% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
TO_BOOL_STR | 2,522,260 | 49.4% |
TO_BOOL_BOOL | 2,521,080 | 49.4% |
TO_BOOL_ALWAYS_TRUE | 62,180 | 1.2% |
TO_BOOL_LIST | 1,920 | 0.0% |
COMPARE_OP_STR | 1,060 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,045,240 | 98.8% |
LOAD_DEREF | 62,180 | 1.2% |
LOAD_GLOBAL_MODULE | 960 | 0.0% |
NOP | 60 | 0.0% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 1,020 | 51.5% |
SET_FUNCTION_ATTRIBUTE | 960 | 48.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,020 | 51.5% |
SET_FUNCTION_ATTRIBUTE | 960 | 48.5% |
Successors and predecessors for STORE_DEREF
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 960 | 48.5% |
CALL_BUILTIN_CLASS | 960 | 48.5% |
CALL_NON_PY_GENERAL | 60 | 3.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_DEREF | 960 | 48.5% |
LOAD_GLOBAL_BUILTIN | 960 | 48.5% |
LOAD_FAST | 60 | 3.0% |
Successors and predecessors for STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,524,080 | 24.6% |
BUILD_LIST | 2,520,060 | 24.6% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 2,520,060 | 24.6% |
FOR_ITER_TUPLE | 2,520,060 | 24.6% |
FOR_ITER_LIST | 83,840 | 0.8% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,142,280 | 50.1% |
LOAD_GLOBAL_BUILTIN | 5,042,200 | 49.2% |
LOAD_DEREF | 63,140 | 0.6% |
LOAD_CONST_IMMORTAL | 3,120 | 0.0% |
STORE_FAST | 1,980 | 0.0% |
Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER_LIST | 1,060 | 51.0% |
FOR_ITER | 1,020 | 49.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_STR | 1,060 | 51.0% |
LOAD_ATTR_SLOT | 1,020 | 49.0% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TUPLE | 1,020 | 94.4% |
UNPACK_SEQUENCE_TWO_TUPLE | 60 | 5.6% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,020 | 94.4% |
LOAD_FAST | 60 | 5.6% |
Successors and predecessors for SWAP
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 2,040 | 24.8% |
LOAD_FAST_AND_CLEAR | 2,040 | 24.8% |
LOAD_SPECIAL | 1,980 | 24.1% |
SWAP | 1,980 | 24.1% |
LOAD_ATTR_SLOT | 120 | 1.5% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 2,040 | 24.8% |
BUILD_LIST | 2,040 | 24.8% |
LOAD_SPECIAL | 1,980 | 24.1% |
SWAP | 1,980 | 24.1% |
POP_EXCEPT | 120 | 1.5% |
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 |
---|---|---|
ENTER_EXECUTOR | 417,820 | 87.0% |
LOAD_FAST | 62,180 | 13.0% |
Successors | Count | Percentage |
---|---|---|
INTERPRETER_EXIT | 480,000 | 100.0% |
Successors and predecessors for BINARY_OP_ADD_UNICODE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 60 | 50.0% |
CALL_METHOD_DESCRIPTOR_O | 60 | 50.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 60 | 50.0% |
LOAD_FAST | 60 | 50.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_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 40 | 66.7% |
BINARY_SUBSCR | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 60 | 100.0% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 40 | 66.7% |
BINARY_SUBSCR | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 960 | 100.0% |
Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,020 | 50.0% |
LOAD_FAST_LOAD_FAST | 960 | 47.1% |
RETURN_VALUE | 60 | 2.9% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 1,080 | 52.9% |
MAKE_CELL | 960 | 47.1% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,920 | 72.6% |
LOAD_FAST_CHECK | 1,020 | 25.4% |
RETURN_VALUE | 40 | 1.0% |
CALL | 40 | 1.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 2,040 | 50.7% |
RETURN_VALUE | 1,020 | 25.4% |
STORE_DEREF | 960 | 23.9% |
Successors and predecessors for CALL_BUILTIN_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_SLOT | 62,180 | 98.5% |
LOAD_FAST_LOAD_FAST | 960 | 1.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 62,180 | 98.5% |
POP_TOP | 960 | 1.5% |
Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,523,060 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 2,520,060 | 99.9% |
COPY | 1,980 | 0.1% |
UNPACK_SEQUENCE_TUPLE | 1,020 | 0.0% |
Successors and predecessors for CALL_ISINSTANCE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 2,520,060 | 50.0% |
LOAD_GLOBAL_MODULE | 2,520,060 | 50.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 5,040,120 | 100.0% |
Successors and predecessors for CALL_KW_NON_PY
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 40 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 40 | 100.0% |
Successors and predecessors for CALL_LEN
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 100 | 83.3% |
CALL | 20 | 16.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 60 | 50.0% |
LOAD_GLOBAL_MODULE | 40 | 33.3% |
LOAD_GLOBAL | 20 | 16.7% |
Successors and predecessors for CALL_LIST_APPEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,060 | 100.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 2,520,060 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 960 | 50.0% |
LOAD_ATTR_METHOD_NO_DICT | 960 | 50.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 960 | 50.0% |
TO_BOOL_BOOL | 960 | 50.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,020 | 100.0% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 1,020 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_SPECIAL | 1,980 | 97.1% |
LOAD_ATTR_METHOD_NO_DICT | 40 | 2.0% |
CALL | 20 | 1.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,980 | 97.1% |
UNPACK_SEQUENCE_TWO_TUPLE | 40 | 2.0% |
UNPACK_SEQUENCE | 20 | 1.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 50.0% |
BUILD_TUPLE | 40 | 33.3% |
CALL | 20 | 16.7% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 60 | 50.0% |
BINARY_OP_ADD_UNICODE | 60 | 50.0% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,521,060 | 99.8% |
LOAD_CONST_IMMORTAL | 1,980 | 0.1% |
LOAD_ATTR_INSTANCE_VALUE | 960 | 0.0% |
LOAD_ATTR_NONDESCRIPTOR_NO_DICT | 960 | 0.0% |
LOAD_ATTR_SLOT | 960 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,521,080 | 99.8% |
POP_TOP | 2,040 | 0.1% |
STORE_FAST | 1,080 | 0.0% |
POP_JUMP_IF_NOT_NONE | 960 | 0.0% |
TO_BOOL_ALWAYS_TRUE | 960 | 0.0% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,940 | 57.0% |
LOAD_FAST_LOAD_FAST | 1,040 | 20.2% |
LOAD_ATTR_METHOD_NO_DICT | 1,000 | 19.4% |
CALL | 100 | 1.9% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 0.8% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 5,100 | 98.8% |
COPY_FREE_VARS | 60 | 1.2% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,960 | 96.6% |
LOAD_ATTR_METHOD_NO_DICT | 87,640 | 3.4% |
LOAD_CONST | 960 | 0.0% |
LOAD_CONST_IMMORTAL | 40 | 0.0% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 2,520,960 | 96.6% |
ENTER_EXECUTOR | 87,640 | 3.4% |
COPY_FREE_VARS | 960 | 0.0% |
MAKE_CELL | 60 | 0.0% |
Successors and predecessors for CALL_STR_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,521,980 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,520,000 | 99.9% |
STORE_FAST | 1,980 | 0.1% |
Successors and predecessors for CALL_TYPE_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,000 | 100.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 2,520,000 | 100.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 60 | 50.0% |
LOAD_GLOBAL_MODULE | 40 | 33.3% |
COMPARE_OP | 20 | 16.7% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 60 | 50.0% |
POP_JUMP_IF_TRUE | 60 | 50.0% |
Successors and predecessors for COMPARE_OP_STR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 5,980 | 75.7% |
LOAD_CONST | 1,920 | 24.3% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 6,840 | 86.6% |
POP_JUMP_IF_TRUE | 1,060 | 13.4% |
Successors and predecessors for FOR_ITER_LIST
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 82,940 | 97.6% |
GET_ITER | 2,040 | 2.4% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 83,840 | 98.7% |
STORE_FAST_LOAD_FAST | 1,060 | 1.2% |
SWAP | 40 | 0.0% |
LOAD_GLOBAL | 20 | 0.0% |
LOAD_GLOBAL_BUILTIN | 20 | 0.0% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 480 | 88.9% |
GET_ITER | 60 | 11.1% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 480 | 88.9% |
LOAD_GLOBAL_MODULE | 40 | 7.4% |
LOAD_GLOBAL | 20 | 3.7% |
Successors and predecessors for FOR_ITER_TUPLE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 2,520,060 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 2,520,060 | 100.0% |
Successors and predecessors for LOAD_ATTR_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 2,520,060 | 99.9% |
LOAD_FAST | 3,120 | 0.1% |
LOAD_GLOBAL_MODULE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,060 | 99.9% |
LOAD_ATTR_MODULE | 3,120 | 0.1% |
PUSH_NULL | 60 | 0.0% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,980 | 79.0% |
LOAD_FAST_LOAD_FAST | 1,000 | 19.8% |
LOAD_ATTR | 60 | 1.2% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,920 | 38.1% |
TO_BOOL | 1,020 | 20.2% |
CALL_NON_PY_GENERAL | 960 | 19.0% |
TO_BOOL_BOOL | 960 | 19.0% |
LOAD_ATTR_METHOD_NO_DICT | 80 | 1.6% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,133,560 | 100.0% |
LOAD_GLOBAL_MODULE | 960 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 80 | 0.0% |
LOAD_ATTR | 60 | 0.0% |
LOAD_ATTR_MODULE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,044,020 | 98.2% |
CALL_PY_GENERAL | 87,640 | 1.7% |
CALL_PY_EXACT_ARGS | 1,000 | 0.0% |
LOAD_CONST | 960 | 0.0% |
CALL_METHOD_DESCRIPTOR_FAST | 960 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,040 | 51.0% |
LOAD_DEREF | 960 | 47.1% |
LOAD_ATTR | 40 | 2.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,980 | 97.1% |
LOAD_FAST_LOAD_FAST | 60 | 2.9% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 2,522,340 | 99.8% |
LOAD_ATTR_CLASS | 3,120 | 0.1% |
LOAD_ATTR_NONDESCRIPTOR_NO_DICT | 960 | 0.0% |
LOAD_ATTR | 100 | 0.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 2,522,380 | 99.8% |
STORE_FAST | 2,040 | 0.1% |
LOAD_FAST | 1,020 | 0.0% |
LOAD_FAST_LOAD_FAST | 960 | 0.0% |
LOAD_ATTR_METHOD_NO_DICT | 60 | 0.0% |
Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,920 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 960 | 50.0% |
LOAD_ATTR_MODULE | 960 | 50.0% |
Successors and predecessors for LOAD_ATTR_PROPERTY
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 180 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 180 | 100.0% |
Successors and predecessors for LOAD_ATTR_SLOT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,523,300 | 97.6% |
LOAD_FAST_LOAD_FAST | 62,180 | 2.4% |
STORE_FAST_LOAD_FAST | 1,020 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,522,040 | 97.5% |
CALL_BUILTIN_FAST | 62,180 | 2.4% |
LIST_APPEND | 1,020 | 0.0% |
CALL_NON_PY_GENERAL | 960 | 0.0% |
PUSH_EXC_INFO | 120 | 0.0% |
Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 7,000 | 36.4% |
LOAD_CONST_IMMORTAL | 4,080 | 21.2% |
STORE_FAST | 3,120 | 16.2% |
BINARY_SUBSCR | 1,920 | 10.0% |
POP_TOP | 1,140 | 5.9% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_STR | 5,980 | 31.1% |
LOAD_CONST_IMMORTAL | 4,080 | 21.2% |
BINARY_SUBSCR | 2,880 | 15.0% |
RETURN_VALUE | 2,100 | 10.9% |
CALL_NON_PY_GENERAL | 1,980 | 10.3% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 5,042,200 | 33.3% |
RESUME_CHECK | 5,041,020 | 33.3% |
POP_JUMP_IF_FALSE | 2,521,980 | 16.7% |
LOAD_FAST | 2,520,060 | 16.7% |
STORE_DEREF | 960 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 10,086,240 | 66.7% |
CALL_ISINSTANCE | 2,520,060 | 16.7% |
LOAD_ATTR_CLASS | 2,520,060 | 16.7% |
CHECK_EXC_MATCH | 120 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,041,080 | 66.6% |
NOP | 2,520,060 | 33.3% |
RESUME_CHECK | 2,080 | 0.0% |
STORE_FAST | 1,100 | 0.0% |
POP_JUMP_IF_FALSE | 1,080 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 2,522,340 | 33.3% |
IS_OP | 2,520,060 | 33.3% |
CALL_ISINSTANCE | 2,520,060 | 33.3% |
LOAD_FAST_LOAD_FAST | 1,020 | 0.0% |
STORE_FAST | 1,020 | 0.0% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CACHE | 13,082,160 | 83.8% |
CALL_PY_GENERAL | 2,520,960 | 16.1% |
CALL_PY_EXACT_ARGS | 5,100 | 0.0% |
CALL_BOUND_METHOD_EXACT_ARGS | 1,080 | 0.0% |
MAKE_CELL | 1,020 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,045,220 | 32.3% |
LOAD_GLOBAL_BUILTIN | 5,041,020 | 32.3% |
NOP | 2,523,120 | 16.2% |
BUILD_LIST | 2,520,060 | 16.1% |
POP_TOP | 480,000 | 3.1% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 3,840 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 2,880 | 75.0% |
LOAD_CONST_IMMORTAL | 960 | 25.0% |
Successors and predecessors for STORE_ATTR_SLOT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,240 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,520,240 | 100.0% |
Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 61,220 | 98.5% |
CALL_NON_PY_GENERAL | 960 | 1.5% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 62,180 | 100.0% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
CALL_ISINSTANCE | 5,040,120 | 97.5% |
LOAD_DEREF | 125,320 | 2.4% |
LOAD_FAST | 1,000 | 0.0% |
CALL_METHOD_DESCRIPTOR_FAST | 960 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 960 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 2,647,300 | 51.2% |
POP_JUMP_IF_TRUE | 2,521,080 | 48.8% |
Successors and predecessors for TO_BOOL_LIST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,920 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 1,920 | 100.0% |
Successors and predecessors for TO_BOOL_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,020 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 1,020 | 100.0% |
Successors and predecessors for TO_BOOL_STR
Predecessors | Count | Percentage |
---|---|---|
COPY | 2,520,060 | 99.8% |
LOAD_FAST | 3,120 | 0.1% |
STORE_FAST_LOAD_FAST | 1,060 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 2,522,260 | 99.9% |
POP_JUMP_IF_FALSE | 1,980 | 0.1% |
Successors and predecessors for UNPACK_SEQUENCE_TUPLE
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_FAST_WITH_KEYWORDS | 1,020 | 94.4% |
RETURN_VALUE | 60 | 5.6% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 1,020 | 94.4% |
LOAD_FAST | 60 | 5.6% |
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% |
Successors and predecessors for ENTER_EXECUTOR
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 2,914,240 | 52.5% |
CALL_LIST_APPEND | 2,520,060 | 45.4% |
CALL_PY_GENERAL | 87,640 | 1.6% |
ENTER_EXECUTOR | 24,520 | 0.4% |
LIST_APPEND | 1,040 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 5,039,960 | 90.9% |
YIELD_VALUE | 417,820 | 7.5% |
TO_BOOL_ALWAYS_TRUE | 61,220 | 1.1% |
ENTER_EXECUTOR | 24,520 | 0.4% |
POP_TOP | 3,940 | 0.1% |
Specialization stats by family
specialization stats for BINARY_OP family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
180 | 90.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
3,840 | 92.3% |
hit
ⓘSpecialized instructions that complete. |
120 | 2.9% |
Success | Count | Ratio |
---|---|---|
Success | 40 | 20.0% |
Failure | 160 | 80.0% |
Failure kind | Count | Ratio |
---|---|---|
out of range | 120 | 75.0% |
list slice | 40 | 25.0% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
15,207,800 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 340 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for COMPARE_OP family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
8,020 | 99.8% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for CONTAINS_OP family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
960 | 96.0% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 40 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
tuple | 40 | 100.0% |
specialization stats for FOR_ITER family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
6,800 | 0.3% |
hit
ⓘSpecialized instructions that complete. |
2,605,580 | 99.7% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 40 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
map | 40 | 100.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
69,140 | 0.5% |
hit
ⓘSpecialized instructions that complete. |
12,780,040 | 99.5% |
miss
ⓘSpecialized instructions that deopt. |
120 | 0.0% |
Success | Count | Ratio |
---|---|---|
Success | 260 | 44.8% |
Failure | 320 | 55.2% |
Failure kind | Count | Ratio |
---|---|---|
method | 120 | 37.5% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
22,694,080 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 200 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for STORE_ATTR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
2,524,080 | 100.0% |
specialization stats for TO_BOOL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,020 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
7,695,560 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 25.0% |
Failure | 60 | 75.0% |
Failure kind | Count | Ratio |
---|---|---|
other | 40 | 66.7% |
sequence | 20 | 33.3% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
1,140 | 98.3% |
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. |
126,477,720 | 60.0% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
83,300 | 0.0% |
Specialized hits
ⓘSpecialized instructions, e.g. |
84,344,420 | 40.0% |
Specialized misses
ⓘSpecialized instructions, e.g. |
160 | 0.0% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
LOAD_ATTR | 69,140 | 84.6% |
FOR_ITER | 6,800 | 8.3% |
BINARY_SUBSCR | 3,840 | 4.7% |
TO_BOOL | 1,020 | 1.2% |
CONTAINS_OP | 960 | 1.2% |
BINARY_SLICE | 0 | 0.0% |
STORE_SLICE | 0 | 0.0% |
CACHE | 0 | 0.0% |
CHECK_EXC_MATCH | 0 | 0.0% |
EXIT_INIT_CHECK | 0 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
Name | Count | Ratio |
---|---|---|
LOAD_ATTR_SLOT | 120 | 60.0% |
RESUME | 40 | 20.0% |
RESUME_CHECK | 40 | 20.0% |
CACHE | 0 | 0.0% |
CHECK_EXC_MATCH | 0 | 0.0% |
EXIT_INIT_CHECK | 0 | 0.0% |
FORMAT_SIMPLE | 0 | 0.0% |
GET_ITER | 0 | 0.0% |
INTERPRETER_EXIT | 0 | 0.0% |
MAKE_FUNCTION | 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 | 13,083,120 | 72.1% |
Calls to Python functions inlined | 5,050,380 | 27.9% |
Calls via PyEval_EvalFrame (total) | 13,083,120 | 72.1% |
Calls via PyEval_EvalFrame (vector) | 12,602,160 | 69.5% |
Calls via PyEval_EvalFrame (generator) | 480,960 | 2.7% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 12,602,160 | 69.5% |
Calls via PyEval_EvalFrame (build class) | 0 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 2,521,980 | 13.9% |
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 | 120 | 0.0% |
Frames pushed | 17,653,500 | 97.4% |
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 | 27,618,420 | 27.8% |
Frees to freelist | 27,618,420 | |
Allocations | 71,781,880 | 72.2% |
Allocations to 512 bytes | 71,781,800 | 72.2% |
Allocations to 4 kbytes | 80 | 0.0% |
Allocations over 4 kbytes | 0 | 0.0% |
Frees | 78,748,746 | |
Inline values | 960 | |
Interpreter mortal increfs | 171,235,240 | 57.2% |
Interpreter mortal decrefs | 177,152,000 | 50.1% |
Mortal increfs | 47,708,431 | 15.9% |
Mortal decrefs | 135,306,598 | 38.3% |
Interpreter immortal increfs | 14,077,080 | 4.7% |
Interpreter immortal decrefs | 17,598,760 | 5.0% |
Immortal increfs | 66,521,131 | 22.2% |
Immortal decrefs | 23,203,544 | 6.6% |
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 | 487,757 | |
Method cache misses | 43 | |
Method cache collisions | 44 | |
Method cache dunder hits | 15,127,192 | |
Method cache dunder misses | 8 |
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 | 60 | 0 | 742,980 | 940 | 124,540 |
2 | 0 | 0 | 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. |
1,400 | |
Traces created
ⓘThe number of traces that were successfully created. |
80 | 5.7% |
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. |
1,340 | 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 abandoned because it it too short. |
1,320 | 94.3% |
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 |
11,247,520 | |
Uops executed
ⓘThe total number of uops (micro-operations) that were executed |
211,646,220 | 1,881.7% |
Count | Ratio | |
---|---|---|
Optimizer attempts
ⓘThe number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run. |
80 | |
Optimizer successes
ⓘThe number of traces that were successfully optimized. |
80 | 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 | 60 | 75.0% |
<= 64 | 20 | 25.0% |
optimized 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 | 80 | 100.0% |
trace run length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 40 | 0.0% |
uop execution stats
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
_SET_IP | 21,295,120 | 10.1% | 10.1% | |
_CHECK_VALIDITY | 18,859,820 | 8.9% | 19.0% | |
_MAKE_WARM | 14,372,280 | 6.8% | 25.8% | |
_CHECK_PERIODIC | 13,771,220 | 6.5% | 32.3% | |
_START_EXECUTOR | 11,247,520 | 5.3% | 37.6% | |
_GUARD_TYPE_VERSION | 9,746,080 | 4.6% | 42.2% | |
_EXIT_TRACE | 8,815,120 | 4.2% | 46.4% | |
_LOAD_DEREF | 5,091,540 | 2.4% | 48.8% | |
_LOAD_FAST_0 | 5,040,020 | 2.4% | 51.1% | |
_LOAD_CONST_INLINE | 5,039,920 | 2.4% | 53.5% | |
_CHECK_VALIDITY_AND_SET_IP | 4,854,020 | 2.3% | 55.8% | |
_PUSH_NULL | 4,439,000 | 2.1% | 57.9% | |
_FOR_ITER_TIER_TWO | 4,436,200 | 2.1% | 60.0% | 0.1% |
_LOAD_ATTR_SLOT_0 | 4,375,840 | 2.1% | 62.1% | |
_POP_TOP | 3,960,060 | 1.9% | 63.9% | |
_JUMP_TO_TOP | 3,124,760 | 1.5% | 65.4% | |
_LOAD_FAST_4 | 2,850,180 | 1.3% | 66.8% | |
_LOAD_CONST_INLINE_BORROW | 2,520,080 | 1.2% | 68.0% | |
_GUARD_NOT_EXHAUSTED_TUPLE | 2,520,060 | 1.2% | 69.2% | 100.0% |
_ITER_CHECK_TUPLE | 2,520,060 | 1.2% | 70.3% | |
_LOAD_FAST_2 | 2,520,060 | 1.2% | 71.5% | |
_STORE_ATTR_SLOT | 2,520,060 | 1.2% | 72.7% | |
_TIER2_RESUME_CHECK | 2,520,000 | 1.2% | 73.9% | 0.0% |
_CALL_KW_NON_PY | 2,519,960 | 1.2% | 75.1% | |
_CHECK_FUNCTION | 2,519,960 | 1.2% | 76.3% | |
_CHECK_IS_NOT_PY_CALLABLE_KW | 2,519,960 | 1.2% | 77.5% | |
_LOAD_FAST_1 | 2,519,960 | 1.2% | 78.7% | |
_CHECK_FUNCTION_VERSION | 2,432,360 | 1.1% | 79.8% | |
_DYNAMIC_EXIT | 2,432,360 | 1.1% | 81.0% | |
_LOAD_ATTR_METHOD_NO_DICT | 2,432,360 | 1.1% | 82.1% | |
_PUSH_FRAME | 2,432,360 | 1.1% | 83.3% | |
_PY_FRAME_GENERAL | 2,432,360 | 1.1% | 84.4% | |
_SAVE_RETURN_OFFSET | 2,432,360 | 1.1% | 85.6% | |
_STORE_FAST_4 | 2,432,360 | 1.1% | 86.7% | |
_LOAD_FAST_5 | 2,336,860 | 1.1% | 87.8% | |
_LIST_APPEND | 2,039,000 | 1.0% | 88.8% | |
_LOAD_FAST_3 | 2,038,980 | 1.0% | 89.8% | |
_STORE_FAST_3 | 2,038,980 | 1.0% | 90.7% | |
_GUARD_NOT_EXHAUSTED_LIST | 1,958,140 | 0.9% | 91.6% | 0.1% |
_ITER_CHECK_LIST | 1,958,140 | 0.9% | 92.6% | |
_ITER_NEXT_LIST | 1,957,140 | 0.9% | 93.5% | |
_TO_BOOL_NONE | 1,919,040 | 0.9% | 94.4% | 25.0% |
_CALL_NON_PY_GENERAL | 1,919,040 | 0.9% | 95.3% | |
_CHECK_IS_NOT_PY_CALLABLE | 1,919,040 | 0.9% | 96.2% | |
_GUARD_IS_NOT_NONE_POP | 1,919,040 | 0.9% | 97.1% | |
_STORE_FAST_5 | 1,919,040 | 0.9% | 98.0% | |
_TO_BOOL_BOOL | 835,640 | 0.4% | 98.4% | |
_GUARD_IS_FALSE_POP | 835,640 | 0.4% | 98.8% | |
_GUARD_IS_TRUE_POP | 417,860 | 0.2% | 99.0% | |
_CALL_BUILTIN_FAST | 417,820 | 0.2% | 99.2% | |
_LOAD_ATTR | 417,820 | 0.2% | 99.4% | |
_LOAD_FAST_6 | 417,820 | 0.2% | 99.6% | |
_REPLACE_WITH_TRUE | 417,820 | 0.2% | 99.8% | |
_STORE_FAST_6 | 417,820 | 0.2% | 100.0% | |
_LOAD_FAST | 60 | 0.0% | 100.0% | |
_DEOPT | 40 | 0.0% | 100.0% | |
_TO_BOOL_STR | 20 | 0.0% | 100.0% | |
_COMPARE_OP_STR | 20 | 0.0% | 100.0% | |
_STORE_FAST | 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.
Pair | Count | Self | Cumulative |
---|---|---|---|
_START_EXECUTOR _MAKE_WARM | 11,247,520 | 5.3% | 5.3% |
_CHECK_PERIODIC _CHECK_VALIDITY | 9,335,020 | 4.4% | 9.7% |
_SET_IP _CHECK_PERIODIC | 8,914,400 | 4.2% | 13.9% |
_MAKE_WARM _SET_IP | 8,914,400 | 4.2% | 18.1% |
_SET_IP _LOAD_DEREF | 5,091,540 | 2.4% | 20.6% |
_LOAD_DEREF _CHECK_VALIDITY | 4,673,720 | 2.2% | 22.8% |
_CHECK_PERIODIC _CHECK_VALIDITY_AND_SET_IP | 4,436,200 | 2.1% | 24.9% |
_CHECK_VALIDITY_AND_SET_IP _FOR_ITER_TIER_TWO | 4,436,200 | 2.1% | 27.0% |
_FOR_ITER_TIER_TWO _CHECK_VALIDITY | 4,433,260 | 2.1% | 29.0% |
_GUARD_TYPE_VERSION _LOAD_ATTR_SLOT_0 | 4,375,840 | 2.1% | 31.1% |
_JUMP_TO_TOP _MAKE_WARM | 3,124,760 | 1.5% | 32.6% |
_POP_TOP _LOAD_FAST_2 | 2,520,060 | 1.2% | 33.8% |
_CHECK_VALIDITY _ITER_CHECK_TUPLE | 2,520,060 | 1.2% | 35.0% |
_GUARD_NOT_EXHAUSTED_TUPLE _EXIT_TRACE | 2,520,060 | 1.2% | 36.2% |
_GUARD_TYPE_VERSION _STORE_ATTR_SLOT | 2,520,060 | 1.2% | 37.4% |
_ITER_CHECK_TUPLE _GUARD_NOT_EXHAUSTED_TUPLE | 2,520,060 | 1.2% | 38.5% |
_LOAD_CONST_INLINE_BORROW _EXIT_TRACE | 2,520,060 | 1.2% | 39.7% |
_LOAD_FAST_0 _GUARD_TYPE_VERSION | 2,520,060 | 1.2% | 40.9% |
_LOAD_FAST_2 _LOAD_FAST_0 | 2,520,060 | 1.2% | 42.1% |
_MAKE_WARM _POP_TOP | 2,520,060 | 1.2% | 43.3% |
_STORE_ATTR_SLOT _LOAD_CONST_INLINE_BORROW | 2,520,060 | 1.2% | 44.5% |
_MAKE_WARM _TIER2_RESUME_CHECK | 2,520,000 | 1.2% | 45.7% |
_PUSH_NULL _LOAD_FAST_0 | 2,519,960 | 1.2% | 46.9% |
_SET_IP _CHECK_IS_NOT_PY_CALLABLE_KW | 2,519,960 | 1.2% | 48.1% |
_CALL_KW_NON_PY _CHECK_PERIODIC | 2,519,960 | 1.2% | 49.3% |
_CHECK_FUNCTION _LOAD_CONST_INLINE | 2,519,960 | 1.2% | 50.5% |
_CHECK_IS_NOT_PY_CALLABLE_KW _CALL_KW_NON_PY | 2,519,960 | 1.2% | 51.6% |
_CHECK_VALIDITY _EXIT_TRACE | 2,519,960 | 1.2% | 52.8% |
_LOAD_CONST_INLINE _PUSH_NULL | 2,519,960 | 1.2% | 54.0% |
_LOAD_CONST_INLINE _SET_IP | 2,519,960 | 1.2% | 55.2% |
_LOAD_FAST_0 _LOAD_FAST_1 | 2,519,960 | 1.2% | 56.4% |
_LOAD_FAST_1 _LOAD_CONST_INLINE | 2,519,960 | 1.2% | 57.6% |
_TIER2_RESUME_CHECK _CHECK_FUNCTION | 2,519,960 | 1.2% | 58.8% |
_SET_IP _CHECK_FUNCTION_VERSION | 2,432,360 | 1.1% | 59.9% |
_CHECK_FUNCTION_VERSION _PY_FRAME_GENERAL | 2,432,360 | 1.1% | 61.1% |
_GUARD_TYPE_VERSION _LOAD_ATTR_METHOD_NO_DICT | 2,432,360 | 1.1% | 62.2% |
_LOAD_ATTR_METHOD_NO_DICT _SET_IP | 2,432,360 | 1.1% | 63.4% |
_LOAD_FAST_4 _GUARD_TYPE_VERSION | 2,432,360 | 1.1% | 64.5% |
_PUSH_FRAME _DYNAMIC_EXIT | 2,432,360 | 1.1% | 65.7% |
_PY_FRAME_GENERAL _SAVE_RETURN_OFFSET | 2,432,360 | 1.1% | 66.8% |
_SAVE_RETURN_OFFSET _PUSH_FRAME | 2,432,360 | 1.1% | 68.0% |
_STORE_FAST_4 _LOAD_FAST_4 | 2,432,360 | 1.1% | 69.1% |
_CHECK_VALIDITY _STORE_FAST_4 | 2,394,280 | 1.1% | 70.3% |
_LOAD_ATTR_SLOT_0 _SET_IP | 2,336,860 | 1.1% | 71.4% |
_LOAD_FAST_5 _GUARD_TYPE_VERSION | 2,336,860 | 1.1% | 72.5% |
_LIST_APPEND _JUMP_TO_TOP | 2,039,000 | 1.0% | 73.4% |
_CHECK_VALIDITY _STORE_FAST_3 | 2,038,980 | 1.0% | 74.4% |
_LOAD_ATTR_SLOT_0 _LIST_APPEND | 2,038,980 | 1.0% | 75.4% |
_LOAD_FAST_3 _GUARD_TYPE_VERSION | 2,038,980 | 1.0% | 76.3% |
_STORE_FAST_3 _LOAD_FAST_3 | 2,038,980 | 1.0% | 77.3% |
_CHECK_VALIDITY _ITER_CHECK_LIST | 1,958,140 | 0.9% | 78.2% |
_ITER_CHECK_LIST _GUARD_NOT_EXHAUSTED_LIST | 1,958,140 | 0.9% | 79.1% |
_GUARD_NOT_EXHAUSTED_LIST _ITER_NEXT_LIST | 1,957,140 | 0.9% | 80.1% |
_PUSH_NULL _LOAD_FAST_5 | 1,919,040 | 0.9% | 81.0% |
_SET_IP _CHECK_IS_NOT_PY_CALLABLE | 1,919,040 | 0.9% | 81.9% |
_CALL_NON_PY_GENERAL _CHECK_PERIODIC | 1,919,040 | 0.9% | 82.8% |
_CHECK_IS_NOT_PY_CALLABLE _CALL_NON_PY_GENERAL | 1,919,040 | 0.9% | 83.7% |
_CHECK_VALIDITY _PUSH_NULL | 1,919,040 | 0.9% | 84.6% |
_CHECK_VALIDITY _TO_BOOL_NONE | 1,919,040 | 0.9% | 85.5% |
_CHECK_VALIDITY _GUARD_IS_NOT_NONE_POP | 1,919,040 | 0.9% | 86.4% |
_GUARD_IS_NOT_NONE_POP _SET_IP | 1,919,040 | 0.9% | 87.3% |
_ITER_NEXT_LIST _STORE_FAST_5 | 1,919,040 | 0.9% | 88.2% |
_STORE_FAST_5 _SET_IP | 1,919,040 | 0.9% | 89.1% |
_TO_BOOL_NONE _POP_TOP | 1,440,000 | 0.7% | 89.8% |
_POP_TOP _JUMP_TO_TOP | 1,085,760 | 0.5% | 90.3% |
_TO_BOOL_BOOL _GUARD_IS_FALSE_POP | 835,640 | 0.4% | 90.7% |
_CHECK_VALIDITY _TO_BOOL_BOOL | 835,640 | 0.4% | 91.1% |
_TO_BOOL_NONE _EXIT_TRACE | 479,040 | 0.2% | 91.3% |
_LOAD_DEREF _CHECK_VALIDITY_AND_SET_IP | 417,820 | 0.2% | 91.5% |
_SET_IP _CALL_BUILTIN_FAST | 417,820 | 0.2% | 91.7% |
_CALL_BUILTIN_FAST _CHECK_PERIODIC | 417,820 | 0.2% | 91.9% |
_CHECK_VALIDITY _LOAD_FAST_4 | 417,820 | 0.2% | 92.1% |
_CHECK_VALIDITY _STORE_FAST_6 | 417,820 | 0.2% | 92.3% |
_CHECK_VALIDITY_AND_SET_IP _LOAD_ATTR | 417,820 | 0.2% | 92.5% |
_GUARD_IS_FALSE_POP _SET_IP | 417,820 | 0.2% | 92.7% |
_GUARD_IS_FALSE_POP _LOAD_FAST_6 | 417,820 | 0.2% | 92.9% |
_GUARD_IS_TRUE_POP _SET_IP | 417,820 | 0.2% | 93.1% |
_GUARD_TYPE_VERSION _REPLACE_WITH_TRUE | 417,820 | 0.2% | 93.3% |
_LOAD_ATTR _CHECK_VALIDITY | 417,820 | 0.2% | 93.5% |
_LOAD_FAST_4 _LOAD_FAST_5 | 417,820 | 0.2% | 93.7% |
_LOAD_FAST_6 _EXIT_TRACE | 417,820 | 0.2% | 93.9% |
_MAKE_WARM _GUARD_TYPE_VERSION | 417,820 | 0.2% | 94.1% |
_REPLACE_WITH_TRUE _GUARD_IS_TRUE_POP | 417,820 | 0.2% | 94.3% |
_STORE_FAST_6 _SET_IP | 417,820 | 0.2% | 94.5% |
_POP_TOP _EXIT_TRACE | 354,240 | 0.2% | 94.7% |
_ITER_NEXT_LIST _STORE_FAST_4 | 38,080 | 0.0% | 94.7% |
_FOR_ITER_TIER_TWO _EXIT_TRACE | 2,940 | 0.0% | 94.7% |
_GUARD_NOT_EXHAUSTED_LIST _EXIT_TRACE | 1,000 | 0.0% | 94.7% |
_GUARD_IS_TRUE_POP _LOAD_FAST | 40 | 0.0% | 94.7% |
_TIER2_RESUME_CHECK _DEOPT | 40 | 0.0% | 94.7% |
_TO_BOOL_STR _GUARD_IS_TRUE_POP | 20 | 0.0% | 94.7% |
_COMPARE_OP_STR _GUARD_IS_TRUE_POP | 20 | 0.0% | 94.7% |
_ITER_NEXT_LIST _STORE_FAST | 20 | 0.0% | 94.7% |
_LOAD_CONST_INLINE_BORROW _COMPARE_OP_STR | 20 | 0.0% | 94.7% |
_LOAD_FAST _LIST_APPEND | 20 | 0.0% | 94.7% |
_LOAD_FAST _TO_BOOL_STR | 20 | 0.0% | 94.7% |
_LOAD_FAST _LOAD_CONST_INLINE_BORROW | 20 | 0.0% | 94.7% |
_STORE_FAST _LOAD_FAST | 20 | 0.0% | 94.7% |
unsupported opcodes
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-12-15