- benchmark: gc_collect
- 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 | 27,094,560 | 15.1% | 15.1% | |
RETURN_VALUE | 26,210,646 | 14.6% | 29.7% | |
STORE_FAST | 17,921,459 | 10.0% | 39.7% | |
LOAD_FAST_LOAD_FAST | 17,069,166 | 9.5% | 49.2% | |
STORE_ATTR_INSTANCE_VALUE | 16,670,772 | 9.3% | 58.5% | |
ENTER_EXECUTOR | 9,153,241 | 5.1% | 63.7% | |
RESUME_CHECK | 8,755,926 | 4.9% | 68.5% | 0.0% |
POP_TOP | 8,750,923 | 4.9% | 73.4% | |
CALL_PY_EXACT_ARGS | 8,742,630 | 4.9% | 78.3% | |
EXIT_INIT_CHECK | 8,733,898 | 4.9% | 83.2% | |
LOAD_CONST_IMMORTAL | 8,366,565 | 4.7% | 87.8% | |
LOAD_ATTR_INSTANCE_VALUE | 8,322,574 | 4.6% | 92.5% | |
LOAD_ATTR_METHOD_WITH_VALUES | 8,322,435 | 4.6% | 97.1% | |
LOAD_GLOBAL_MODULE | 864,899 | 0.5% | 97.6% | |
FOR_ITER_RANGE | 432,475 | 0.2% | 97.8% | |
CALL_ALLOC_AND_ENTER_INIT | 428,003 | 0.2% | 98.1% | |
LOAD_SMALL_INT | 420,199 | 0.2% | 98.3% | |
GET_ITER | 420,129 | 0.2% | 98.5% | |
POP_JUMP_IF_FALSE | 420,129 | 0.2% | 98.8% | |
CALL_BUILTIN_CLASS | 420,126 | 0.2% | 99.0% | |
LOAD_GLOBAL_BUILTIN | 420,126 | 0.2% | 99.2% | |
COMPARE_OP_INT | 420,057 | 0.2% | 99.5% | |
LOAD_ATTR_METHOD_NO_DICT | 416,037 | 0.2% | 99.7% | |
CALL_LIST_APPEND | 415,899 | 0.2% | 99.9% | |
PUSH_NULL | 16,986 | 0.0% | 100.0% | |
LOAD_ATTR_MODULE | 16,770 | 0.0% | 100.0% | |
JUMP_BACKWARD | 12,421 | 0.0% | 100.0% | |
CALL_NON_PY_GENERAL | 8,523 | 0.0% | 100.0% | |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 8,316 | 0.0% | 100.0% | |
BUILD_LIST | 4,229 | 0.0% | 100.0% | |
POP_JUMP_IF_NOT_NONE | 4,229 | 0.0% | 100.0% | |
DELETE_FAST | 4,159 | 0.0% | 100.0% | |
BINARY_OP_ADD_INT | 4,158 | 0.0% | 100.0% | |
BINARY_OP_MULTIPLY_INT | 4,158 | 0.0% | 100.0% | |
BINARY_OP_SUBTRACT_FLOAT | 4,158 | 0.0% | 100.0% | |
BINARY_OP_ADD_FLOAT | 4,155 | 0.0% | 100.0% | 1.6% |
LOAD_ATTR | 307 | 0.0% | 100.0% | |
CALL | 268 | 0.0% | 100.0% | |
BUILD_TUPLE | 140 | 0.0% | 100.0% | |
CALL_FUNCTION_EX | 140 | 0.0% | 100.0% | |
LOAD_CONST | 140 | 0.0% | 100.0% | |
LOAD_DEREF | 140 | 0.0% | 100.0% | |
TO_BOOL | 113 | 0.0% | 100.0% | |
LOAD_GLOBAL | 108 | 0.0% | 100.0% | |
FOR_ITER | 78 | 0.0% | 100.0% | |
MAKE_FUNCTION | 70 | 0.0% | 100.0% | |
NOP | 70 | 0.0% | 100.0% | |
CALL_INTRINSIC_1 | 70 | 0.0% | 100.0% | |
COPY_FREE_VARS | 70 | 0.0% | 100.0% | |
IS_OP | 70 | 0.0% | 100.0% | |
JUMP_FORWARD | 70 | 0.0% | 100.0% | |
LIST_EXTEND | 70 | 0.0% | 100.0% | |
MAKE_CELL | 70 | 0.0% | 100.0% | |
POP_JUMP_IF_TRUE | 70 | 0.0% | 100.0% | |
SET_FUNCTION_ATTRIBUTE | 70 | 0.0% | 100.0% | |
STORE_DEREF | 70 | 0.0% | 100.0% | |
STORE_FAST_STORE_FAST | 70 | 0.0% | 100.0% | |
BINARY_SUBSCR_TUPLE_INT | 69 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 69 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_O | 69 | 0.0% | 100.0% | |
CALL_PY_GENERAL | 69 | 0.0% | 100.0% | |
TO_BOOL_BOOL | 69 | 0.0% | 100.0% | |
UNPACK_SEQUENCE_TWO_TUPLE | 69 | 0.0% | 100.0% | |
BINARY_SUBSCR | 22 | 0.0% | 100.0% | |
UNPACK_SEQUENCE | 22 | 0.0% | 100.0% | |
BINARY_OP | 12 | 0.0% | 100.0% | |
RESUME | 11 | 0.0% | 100.0% | 38,772.7% |
STORE_ATTR | 8 | 0.0% | 100.0% | |
COMPARE_OP | 4 | 0.0% | 100.0% | |
INTERPRETER_EXIT | 2 | 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 |
---|---|---|---|
ENTER_EXECUTOR RETURN_VALUE | 9,132,411 | 5.1% | 5.1% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 8,742,561 | 4.9% | 10.0% |
STORE_FAST LOAD_FAST | 8,742,498 | 4.9% | 14.8% |
RETURN_VALUE POP_TOP | 8,738,409 | 4.9% | 19.7% |
RETURN_VALUE STORE_FAST | 8,738,267 | 4.9% | 24.6% |
LOAD_FAST STORE_FAST | 8,733,900 | 4.9% | 29.5% |
EXIT_INIT_CHECK RETURN_VALUE | 8,733,898 | 4.9% | 34.3% |
RETURN_VALUE EXIT_INIT_CHECK | 8,733,898 | 4.9% | 39.2% |
STORE_ATTR_INSTANCE_VALUE LOAD_CONST_IMMORTAL | 8,348,474 | 4.7% | 43.9% |
LOAD_CONST_IMMORTAL RETURN_VALUE | 8,339,897 | 4.7% | 48.5% |
POP_TOP LOAD_FAST | 8,326,284 | 4.6% | 53.2% |
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES | 8,322,391 | 4.6% | 57.8% |
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST | 8,322,366 | 4.6% | 62.4% |
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 8,322,345 | 4.6% | 67.1% |
RESUME_CHECK LOAD_FAST_LOAD_FAST | 8,322,298 | 4.6% | 71.7% |
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST | 8,322,298 | 4.6% | 76.4% |
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE | 8,322,297 | 4.6% | 81.0% |
LOAD_ATTR_INSTANCE_VALUE STORE_ATTR_INSTANCE_VALUE | 8,322,297 | 4.6% | 85.7% |
LOAD_FAST CALL_PY_EXACT_ARGS | 8,322,295 | 4.6% | 90.3% |
STORE_FAST ENTER_EXECUTOR | 8,313,904 | 4.6% | 94.9% |
STORE_FAST LOAD_GLOBAL_MODULE | 436,363 | 0.2% | 95.2% |
FOR_ITER_RANGE STORE_FAST | 432,161 | 0.2% | 95.4% |
LOAD_GLOBAL_MODULE CALL_ALLOC_AND_ENTER_INIT | 428,001 | 0.2% | 95.7% |
CALL_ALLOC_AND_ENTER_INIT ENTER_EXECUTOR | 423,272 | 0.2% | 95.9% |
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS | 420,151 | 0.2% | 96.1% |
LOAD_FAST LOAD_SMALL_INT | 420,129 | 0.2% | 96.4% |
GET_ITER FOR_ITER_RANGE | 420,126 | 0.2% | 96.6% |
CALL_BUILTIN_CLASS GET_ITER | 420,126 | 0.2% | 96.8% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 420,126 | 0.2% | 97.1% |
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST | 420,126 | 0.2% | 97.3% |
LOAD_FAST CALL_BUILTIN_CLASS | 420,103 | 0.2% | 97.5% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 420,103 | 0.2% | 97.8% |
COMPARE_OP_INT POP_JUMP_IF_FALSE | 420,057 | 0.2% | 98.0% |
RESUME_CHECK LOAD_FAST | 416,106 | 0.2% | 98.2% |
POP_JUMP_IF_FALSE LOAD_FAST | 415,970 | 0.2% | 98.5% |
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST | 415,899 | 0.2% | 98.7% |
LOAD_FAST CALL_LIST_APPEND | 415,898 | 0.2% | 98.9% |
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT | 415,898 | 0.2% | 99.2% |
LOAD_SMALL_INT COMPARE_OP_INT | 415,898 | 0.2% | 99.4% |
CALL_LIST_APPEND LOAD_GLOBAL_MODULE | 415,898 | 0.2% | 99.6% |
POP_TOP ENTER_EXECUTOR | 411,804 | 0.2% | 99.9% |
LOAD_CONST_IMMORTAL LOAD_FAST | 26,178 | 0.0% | 99.9% |
LOAD_FAST STORE_ATTR_INSTANCE_VALUE | 26,174 | 0.0% | 99.9% |
LOAD_ATTR_MODULE PUSH_NULL | 16,770 | 0.0% | 99.9% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 16,724 | 0.0% | 99.9% |
RESUME_CHECK LOAD_CONST_IMMORTAL | 13,088 | 0.0% | 99.9% |
JUMP_BACKWARD FOR_ITER_RANGE | 12,346 | 0.0% | 99.9% |
PUSH_NULL CALL_NON_PY_GENERAL | 8,410 | 0.0% | 99.9% |
ENTER_EXECUTOR RESUME_CHECK | 8,355 | 0.0% | 99.9% |
PUSH_NULL CALL_BUILTIN_FAST_WITH_KEYWORDS | 8,314 | 0.0% | 99.9% |
ENTER_EXECUTOR POP_TOP | 8,214 | 0.0% | 99.9% |
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK | 4,731 | 0.0% | 99.9% |
POP_TOP LOAD_CONST_IMMORTAL | 4,509 | 0.0% | 99.9% |
LOAD_FAST RETURN_VALUE | 4,299 | 0.0% | 99.9% |
ENTER_EXECUTOR ENTER_EXECUTOR | 4,261 | 0.0% | 99.9% |
LOAD_FAST POP_JUMP_IF_NOT_NONE | 4,229 | 0.0% | 99.9% |
POP_TOP JUMP_BACKWARD | 4,166 | 0.0% | 99.9% |
BUILD_LIST STORE_FAST | 4,159 | 0.0% | 100.0% |
LOAD_FAST_LOAD_FAST LOAD_FAST | 4,159 | 0.0% | 100.0% |
POP_JUMP_IF_FALSE JUMP_BACKWARD | 4,159 | 0.0% | 100.0% |
POP_JUMP_IF_NOT_NONE LOAD_FAST_LOAD_FAST | 4,159 | 0.0% | 100.0% |
STORE_FAST DELETE_FAST | 4,159 | 0.0% | 100.0% |
CALL_BUILTIN_FAST_WITH_KEYWORDS POP_TOP | 4,158 | 0.0% | 100.0% |
CALL_BUILTIN_FAST_WITH_KEYWORDS STORE_FAST | 4,158 | 0.0% | 100.0% |
CALL_NON_PY_GENERAL LOAD_FAST | 4,158 | 0.0% | 100.0% |
CALL_NON_PY_GENERAL STORE_FAST | 4,158 | 0.0% | 100.0% |
RESUME_CHECK BUILD_LIST | 4,158 | 0.0% | 100.0% |
POP_TOP LOAD_GLOBAL_MODULE | 4,157 | 0.0% | 100.0% |
DELETE_FAST LOAD_GLOBAL_MODULE | 4,157 | 0.0% | 100.0% |
LOAD_FAST BINARY_OP_SUBTRACT_FLOAT | 4,157 | 0.0% | 100.0% |
LOAD_FAST LOAD_GLOBAL_MODULE | 4,157 | 0.0% | 100.0% |
LOAD_SMALL_INT BINARY_OP_ADD_INT | 4,157 | 0.0% | 100.0% |
BINARY_OP_ADD_INT BINARY_OP_MULTIPLY_INT | 4,157 | 0.0% | 100.0% |
BINARY_OP_MULTIPLY_INT COMPARE_OP_INT | 4,157 | 0.0% | 100.0% |
BINARY_OP_ADD_FLOAT STORE_FAST | 4,155 | 0.0% | 100.0% |
BINARY_OP_SUBTRACT_FLOAT BINARY_OP_ADD_FLOAT | 4,154 | 0.0% | 100.0% |
STORE_FAST JUMP_BACKWARD | 4,096 | 0.0% | 100.0% |
FOR_ITER_RANGE LOAD_FAST | 314 | 0.0% | 100.0% |
STORE_FAST LOAD_CONST_IMMORTAL | 210 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR | 165 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 165 | 0.0% | 100.0% |
PUSH_NULL LOAD_FAST | 140 | 0.0% | 100.0% |
LOAD_FAST PUSH_NULL | 140 | 0.0% | 100.0% |
LOAD_FAST LOAD_CONST_IMMORTAL | 140 | 0.0% | 100.0% |
LOAD_CONST_IMMORTAL STORE_FAST | 140 | 0.0% | 100.0% |
LOAD_CONST_IMMORTAL LOAD_CONST_IMMORTAL | 140 | 0.0% | 100.0% |
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT | 96 | 0.0% | 100.0% |
RESUME_CHECK LOAD_GLOBAL_MODULE | 96 | 0.0% | 100.0% |
CALL CALL_PY_EXACT_ARGS | 88 | 0.0% | 100.0% |
JUMP_BACKWARD FOR_ITER | 73 | 0.0% | 100.0% |
LOAD_ATTR LOAD_FAST_LOAD_FAST | 72 | 0.0% | 100.0% |
LOAD_GLOBAL LOAD_GLOBAL_MODULE | 71 | 0.0% | 100.0% |
CACHE RESUME_CHECK | 70 | 0.0% | 100.0% |
MAKE_FUNCTION SET_FUNCTION_ATTRIBUTE | 70 | 0.0% | 100.0% |
NOP LOAD_FAST | 70 | 0.0% | 100.0% |
PUSH_NULL LOAD_FAST_LOAD_FAST | 70 | 0.0% | 100.0% |
RETURN_VALUE RETURN_VALUE | 70 | 0.0% | 100.0% |
TO_BOOL POP_JUMP_IF_FALSE | 70 | 0.0% | 100.0% |
BUILD_LIST LOAD_DEREF | 70 | 0.0% | 100.0% |
BUILD_TUPLE LOAD_CONST | 70 | 0.0% | 100.0% |
Top 5 predecessors and successors of each Tier 1 opcode.
This does not include the unspecialized instructions that occur after a specialized instruction deoptimizes.
Successors and predecessors for CACHE
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 70 | 97.2% |
RESUME | 2 | 2.8% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 22 | 100.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_TUPLE_INT | 21 | 95.5% |
STORE_FAST | 1 | 4.5% |
Successors and predecessors for EXIT_INIT_CHECK
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 8,733,898 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 8,733,898 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 420,126 | 100.0% |
CALL | 3 | 0.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_RANGE | 420,126 | 100.0% |
FOR_ITER | 3 | 0.0% |
Successors and predecessors for MAKE_FUNCTION
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 70 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SET_FUNCTION_ATTRIBUTE | 70 | 100.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 70 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 70 | 100.0% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 8,738,409 | 99.9% |
ENTER_EXECUTOR | 8,214 | 0.1% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 4,158 | 0.0% |
CALL_METHOD_DESCRIPTOR_O | 69 | 0.0% |
CALL_NON_PY_GENERAL | 69 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,326,284 | 95.1% |
ENTER_EXECUTOR | 411,804 | 4.7% |
LOAD_CONST_IMMORTAL | 4,509 | 0.1% |
JUMP_BACKWARD | 4,166 | 0.0% |
LOAD_GLOBAL_MODULE | 4,157 | 0.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 16,770 | 98.7% |
LOAD_FAST | 140 | 0.8% |
LOAD_DEREF | 70 | 0.4% |
LOAD_ATTR | 6 | 0.0% |
Successors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 8,410 | 49.5% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 8,314 | 48.9% |
LOAD_FAST | 140 | 0.8% |
LOAD_FAST_LOAD_FAST | 70 | 0.4% |
CALL | 52 | 0.3% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 9,132,411 | 34.8% |
EXIT_INIT_CHECK | 8,733,898 | 33.3% |
LOAD_CONST_IMMORTAL | 8,339,897 | 31.8% |
LOAD_FAST | 4,299 | 0.0% |
RETURN_VALUE | 70 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 8,738,409 | 33.3% |
STORE_FAST | 8,738,267 | 33.3% |
EXIT_INIT_CHECK | 8,733,898 | 33.3% |
RETURN_VALUE | 70 | 0.0% |
INTERPRETER_EXIT | 2 | 0.0% |
Successors and predecessors for TO_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 69 | 61.1% |
LOAD_FAST | 22 | 19.5% |
TO_BOOL | 21 | 18.6% |
LOAD_ATTR | 1 | 0.9% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 70 | 61.9% |
TO_BOOL | 21 | 18.6% |
TO_BOOL_BOOL | 21 | 18.6% |
POP_JUMP_IF_TRUE | 1 | 0.9% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_SUBTRACT_FLOAT | 4 | 33.3% |
BINARY_OP | 3 | 25.0% |
LOAD_FAST | 2 | 16.7% |
LOAD_SMALL_INT | 2 | 16.7% |
BINARY_OP_ADD_INT | 1 | 8.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 4 | 33.3% |
BINARY_OP | 3 | 25.0% |
COMPARE_OP | 1 | 8.3% |
BINARY_OP_ADD_FLOAT | 1 | 8.3% |
BINARY_OP_ADD_INT | 1 | 8.3% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 4,158 | 98.3% |
LOAD_FAST | 70 | 1.7% |
RESUME | 1 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 4,159 | 98.3% |
LOAD_DEREF | 70 | 1.7% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 70 | 50.0% |
LOAD_FAST_LOAD_FAST | 70 | 50.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST | 70 | 50.0% |
CALL_METHOD_DESCRIPTOR_O | 48 | 34.3% |
CALL | 22 | 15.7% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 70 | 26.1% |
PUSH_NULL | 52 | 19.4% |
LOAD_CONST_IMMORTAL | 44 | 16.4% |
LOAD_FAST | 32 | 11.9% |
BUILD_TUPLE | 22 | 8.2% |
Successors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 88 | 32.8% |
CALL_NON_PY_GENERAL | 65 | 24.3% |
CALL_BUILTIN_CLASS | 23 | 8.6% |
CALL_METHOD_DESCRIPTOR_NOARGS | 21 | 7.8% |
CALL_METHOD_DESCRIPTOR_O | 21 | 7.8% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
CALL_INTRINSIC_1 | 70 | 50.0% |
LOAD_FAST | 70 | 50.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 69 | 98.6% |
RESUME | 1 | 1.4% |
Successors and predecessors for CALL_INTRINSIC_1
Predecessors | Count | Percentage |
---|---|---|
LIST_EXTEND | 70 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_FUNCTION_EX | 70 | 100.0% |
Successors and predecessors for COMPARE_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 2 | 50.0% |
BINARY_OP | 1 | 25.0% |
BINARY_OP_MULTIPLY_INT | 1 | 25.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 2 | 50.0% |
COMPARE_OP_INT | 2 | 50.0% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 69 | 98.6% |
CALL | 1 | 1.4% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 69 | 98.6% |
RESUME | 1 | 1.4% |
Successors and predecessors for DELETE_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 4,159 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 4,157 | 100.0% |
LOAD_GLOBAL | 2 | 0.0% |
Successors and predecessors for FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 73 | 93.6% |
GET_ITER | 3 | 3.8% |
FOR_ITER | 2 | 2.6% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 70 | 89.7% |
STORE_FAST | 3 | 3.8% |
FOR_ITER_RANGE | 3 | 3.8% |
FOR_ITER | 2 | 2.6% |
Successors and predecessors for IS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 70 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 70 | 100.0% |
Successors and predecessors for JUMP_BACKWARD
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 4,166 | 33.5% |
POP_JUMP_IF_FALSE | 4,159 | 33.5% |
STORE_FAST | 4,096 | 33.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_RANGE | 12,346 | 99.4% |
FOR_ITER | 73 | 0.6% |
RETURN_VALUE | 1 | 0.0% |
RESUME_CHECK | 1 | 0.0% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 70 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 70 | 100.0% |
Successors and predecessors for LIST_EXTEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_DEREF | 70 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_INTRINSIC_1 | 70 | 100.0% |
Successors and predecessors for LOAD_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 165 | 53.7% |
LOAD_GLOBAL_MODULE | 46 | 15.0% |
LOAD_ATTR_INSTANCE_VALUE | 42 | 13.7% |
LOAD_ATTR | 24 | 7.8% |
LOAD_FAST_LOAD_FAST | 24 | 7.8% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 72 | 23.5% |
LOAD_ATTR_INSTANCE_VALUE | 64 | 20.8% |
LOAD_ATTR_MODULE | 46 | 15.0% |
LOAD_ATTR_METHOD_WITH_VALUES | 44 | 14.3% |
LOAD_ATTR_METHOD_NO_DICT | 43 | 14.0% |
Successors and predecessors for LOAD_CONST
Predecessors | Count | Percentage |
---|---|---|
BUILD_TUPLE | 70 | 50.0% |
POP_JUMP_IF_NOT_NONE | 70 | 50.0% |
Successors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 70 | 50.0% |
STORE_FAST | 70 | 50.0% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 70 | 50.0% |
RESUME_CHECK | 69 | 49.3% |
RESUME | 1 | 0.7% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 70 | 50.0% |
LIST_EXTEND | 70 | 50.0% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 8,742,498 | 32.3% |
POP_TOP | 8,326,284 | 30.7% |
LOAD_ATTR_METHOD_WITH_VALUES | 8,322,366 | 30.7% |
LOAD_GLOBAL_BUILTIN | 420,126 | 1.6% |
RESUME_CHECK | 416,106 | 1.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 8,733,900 | 32.2% |
LOAD_ATTR_METHOD_WITH_VALUES | 8,322,391 | 30.7% |
CALL_PY_EXACT_ARGS | 8,322,295 | 30.7% |
LOAD_SMALL_INT | 420,129 | 1.6% |
CALL_BUILTIN_CLASS | 420,103 | 1.6% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 8,322,298 | 48.8% |
STORE_ATTR_INSTANCE_VALUE | 8,322,298 | 48.8% |
LOAD_GLOBAL_MODULE | 420,126 | 2.5% |
POP_JUMP_IF_NOT_NONE | 4,159 | 0.0% |
LOAD_ATTR | 72 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 8,322,345 | 48.8% |
STORE_ATTR_INSTANCE_VALUE | 8,322,297 | 48.8% |
CALL_PY_EXACT_ARGS | 420,151 | 2.5% |
LOAD_FAST | 4,159 | 0.0% |
BUILD_TUPLE | 70 | 0.0% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 56 | 51.9% |
RESUME_CHECK | 42 | 38.9% |
POP_TOP | 3 | 2.8% |
DELETE_FAST | 2 | 1.9% |
LOAD_FAST | 2 | 1.9% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 71 | 65.7% |
LOAD_GLOBAL_BUILTIN | 23 | 21.3% |
LOAD_ATTR | 6 | 5.6% |
LOAD_FAST | 3 | 2.8% |
LOAD_FAST_LOAD_FAST | 3 | 2.8% |
Successors and predecessors for LOAD_SMALL_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 420,129 | 100.0% |
RESUME_CHECK | 69 | 0.0% |
RESUME | 1 | 0.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 415,898 | 99.0% |
BINARY_OP_ADD_INT | 4,157 | 1.0% |
STORE_FAST | 70 | 0.0% |
BINARY_SUBSCR_TUPLE_INT | 48 | 0.0% |
BINARY_SUBSCR | 22 | 0.0% |
Successors and predecessors for MAKE_CELL
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_GENERAL | 69 | 98.6% |
CALL | 1 | 1.4% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 69 | 98.6% |
RESUME | 1 | 1.4% |
Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 420,057 | 100.0% |
TO_BOOL | 70 | 0.0% |
COMPARE_OP | 2 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 415,970 | 99.0% |
JUMP_BACKWARD | 4,159 | 1.0% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,229 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 4,159 | 98.3% |
LOAD_CONST | 70 | 1.7% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 69 | 98.6% |
TO_BOOL | 1 | 1.4% |
Successors | Count | Percentage |
---|---|---|
NOP | 70 | 100.0% |
Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 70 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 70 | 100.0% |
Successors and predecessors for STORE_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4 | 50.0% |
LOAD_FAST_LOAD_FAST | 2 | 25.0% |
LOAD_ATTR | 1 | 12.5% |
LOAD_ATTR_INSTANCE_VALUE | 1 | 12.5% |
Successors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 4 | 50.0% |
LOAD_CONST_IMMORTAL | 3 | 37.5% |
LOAD_FAST_LOAD_FAST | 1 | 12.5% |
Successors and predecessors for STORE_DEREF
Predecessors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 69 | 98.6% |
CALL | 1 | 1.4% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 70 | 100.0% |
Successors and predecessors for STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 8,738,267 | 48.8% |
LOAD_FAST | 8,733,900 | 48.7% |
FOR_ITER_RANGE | 432,161 | 2.4% |
BUILD_LIST | 4,159 | 0.0% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 4,158 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,742,498 | 48.8% |
ENTER_EXECUTOR | 8,313,904 | 46.4% |
LOAD_GLOBAL_MODULE | 436,363 | 2.4% |
LOAD_GLOBAL_BUILTIN | 420,103 | 2.3% |
DELETE_FAST | 4,159 | 0.0% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 69 | 98.6% |
UNPACK_SEQUENCE | 1 | 1.4% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 70 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 21 | 95.5% |
CALL | 1 | 4.5% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 21 | 95.5% |
STORE_FAST_STORE_FAST | 1 | 4.5% |
Successors and predecessors for RESUME
Predecessors | Count | Percentage |
---|---|---|
CALL | 6 | 54.5% |
CACHE | 2 | 18.2% |
CALL_FUNCTION_EX | 1 | 9.1% |
COPY_FREE_VARS | 1 | 9.1% |
MAKE_CELL | 1 | 9.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4 | 36.4% |
LOAD_GLOBAL | 2 | 18.2% |
BUILD_LIST | 1 | 9.1% |
LOAD_DEREF | 1 | 9.1% |
LOAD_FAST_LOAD_FAST | 1 | 9.1% |
Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_SUBTRACT_FLOAT | 4,154 | 100.0% |
BINARY_OP | 1 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 4,155 | 100.0% |
Successors and predecessors for BINARY_OP_ADD_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 4,157 | 100.0% |
BINARY_OP | 1 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_MULTIPLY_INT | 4,157 | 100.0% |
BINARY_OP | 1 | 0.0% |
Successors and predecessors for BINARY_OP_MULTIPLY_INT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_INT | 4,157 | 100.0% |
BINARY_OP | 1 | 0.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 4,157 | 100.0% |
COMPARE_OP | 1 | 0.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,157 | 100.0% |
BINARY_OP | 1 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_FLOAT | 4,154 | 99.9% |
BINARY_OP | 4 | 0.1% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 48 | 69.6% |
BINARY_SUBSCR | 21 | 30.4% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 69 | 100.0% |
Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 428,001 | 100.0% |
CALL | 2 | 0.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 423,272 | 98.9% |
RESUME_CHECK | 4,731 | 1.1% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 420,103 | 100.0% |
CALL | 23 | 0.0% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 420,126 | 100.0% |
Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 8,314 | 100.0% |
CALL | 2 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 4,158 | 50.0% |
STORE_FAST | 4,158 | 50.0% |
Successors and predecessors for CALL_LIST_APPEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 415,898 | 100.0% |
CALL | 1 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 415,898 | 100.0% |
LOAD_GLOBAL | 1 | 0.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 48 | 69.6% |
CALL | 21 | 30.4% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 48 | 69.6% |
UNPACK_SEQUENCE | 21 | 30.4% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors | Count | Percentage |
---|---|---|
BUILD_TUPLE | 48 | 69.6% |
CALL | 21 | 30.4% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 69 | 100.0% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 8,410 | 98.7% |
CALL | 65 | 0.8% |
LOAD_FAST_LOAD_FAST | 48 | 0.6% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,158 | 48.8% |
STORE_FAST | 4,158 | 48.8% |
POP_TOP | 69 | 0.8% |
RETURN_VALUE | 69 | 0.8% |
STORE_DEREF | 69 | 0.8% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,322,295 | 95.2% |
LOAD_FAST_LOAD_FAST | 420,151 | 4.8% |
CALL | 88 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 48 | 0.0% |
LOAD_CONST_IMMORTAL | 48 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 8,742,561 | 100.0% |
COPY_FREE_VARS | 69 | 0.0% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 48 | 69.6% |
CALL | 21 | 30.4% |
Successors | Count | Percentage |
---|---|---|
MAKE_CELL | 69 | 100.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 415,898 | 99.0% |
BINARY_OP_MULTIPLY_INT | 4,157 | 1.0% |
COMPARE_OP | 2 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 420,057 | 100.0% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 420,126 | 97.1% |
JUMP_BACKWARD | 12,346 | 2.9% |
FOR_ITER | 3 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 432,161 | 99.9% |
LOAD_FAST | 314 | 0.1% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 8,322,345 | 100.0% |
LOAD_FAST | 165 | 0.0% |
LOAD_ATTR | 64 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 8,322,297 | 100.0% |
LOAD_ATTR_METHOD_NO_DICT | 96 | 0.0% |
TO_BOOL | 69 | 0.0% |
CALL_PY_EXACT_ARGS | 48 | 0.0% |
LOAD_ATTR | 42 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 415,898 | 100.0% |
LOAD_ATTR_INSTANCE_VALUE | 96 | 0.0% |
LOAD_ATTR | 43 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 415,899 | 100.0% |
LOAD_FAST_LOAD_FAST | 69 | 0.0% |
CALL_METHOD_DESCRIPTOR_NOARGS | 48 | 0.0% |
CALL | 21 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,322,391 | 100.0% |
LOAD_ATTR | 44 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,322,366 | 100.0% |
LOAD_FAST_LOAD_FAST | 69 | 0.0% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 16,724 | 99.7% |
LOAD_ATTR | 46 | 0.3% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 16,770 | 100.0% |
Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 8,348,474 | 99.8% |
RESUME_CHECK | 13,088 | 0.2% |
POP_TOP | 4,509 | 0.1% |
STORE_FAST | 210 | 0.0% |
LOAD_FAST | 140 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 8,339,897 | 99.7% |
LOAD_FAST | 26,178 | 0.3% |
STORE_FAST | 140 | 0.0% |
LOAD_CONST_IMMORTAL | 140 | 0.0% |
IS_OP | 70 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 420,103 | 100.0% |
LOAD_GLOBAL | 23 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 420,126 | 100.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 436,363 | 50.5% |
CALL_LIST_APPEND | 415,898 | 48.1% |
POP_TOP | 4,157 | 0.5% |
DELETE_FAST | 4,157 | 0.5% |
LOAD_FAST | 4,157 | 0.5% |
Successors | Count | Percentage |
---|---|---|
CALL_ALLOC_AND_ENTER_INIT | 428,001 | 49.5% |
LOAD_FAST_LOAD_FAST | 420,126 | 48.6% |
LOAD_ATTR_MODULE | 16,724 | 1.9% |
LOAD_ATTR | 46 | 0.0% |
CALL | 2 | 0.0% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 8,742,561 | 99.8% |
ENTER_EXECUTOR | 8,355 | 0.1% |
CALL_ALLOC_AND_ENTER_INIT | 4,731 | 0.1% |
CACHE | 70 | 0.0% |
CALL_FUNCTION_EX | 69 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 8,322,298 | 95.0% |
LOAD_FAST | 416,106 | 4.8% |
LOAD_CONST_IMMORTAL | 13,088 | 0.1% |
BUILD_LIST | 4,158 | 0.0% |
LOAD_GLOBAL_MODULE | 96 | 0.0% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 8,322,297 | 49.9% |
LOAD_ATTR_INSTANCE_VALUE | 8,322,297 | 49.9% |
LOAD_FAST | 26,174 | 0.2% |
STORE_ATTR | 4 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 8,348,474 | 50.1% |
LOAD_FAST_LOAD_FAST | 8,322,298 | 49.9% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 48 | 69.6% |
TO_BOOL | 21 | 30.4% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 69 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 48 | 69.6% |
UNPACK_SEQUENCE | 21 | 30.4% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 69 | 100.0% |
Successors and predecessors for ENTER_EXECUTOR
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 8,313,904 | 90.8% |
CALL_ALLOC_AND_ENTER_INIT | 423,272 | 4.6% |
POP_TOP | 411,804 | 4.5% |
ENTER_EXECUTOR | 4,261 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 9,132,411 | 99.8% |
RESUME_CHECK | 8,355 | 0.1% |
POP_TOP | 8,214 | 0.1% |
ENTER_EXECUTOR | 4,261 | 0.0% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2 | 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. |
7 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
16,562 | 99.5% |
miss
ⓘSpecialized instructions that deopt. |
67 | 0.4% |
Success | Count | Ratio |
---|---|---|
Success | 4 | 80.0% |
Failure | 1 | 20.0% |
Failure kind | Count | Ratio |
---|---|---|
add different types | 1 | 100.0% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1 | 1.1% |
hit
ⓘSpecialized instructions that complete. |
69 | 75.8% |
Success | Count | Ratio |
---|---|---|
Success | 21 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
24 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
10,015,112 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 244 | 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. |
2 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
420,057 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 2 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for FOR_ITER family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
73 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
432,475 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 3 | 60.0% |
Failure | 2 | 40.0% |
Failure kind | Count | Ratio |
---|---|---|
dict values | 2 | 100.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
88 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
17,077,816 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 197 | 90.0% |
Failure | 22 | 10.0% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
14 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
1,285,025 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 94 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for STORE_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
4 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
16,670,772 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 8 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for TO_BOOL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
71 | 39.0% |
hit
ⓘSpecialized instructions that complete. |
69 | 37.9% |
Success | Count | Ratio |
---|---|---|
Success | 21 | 50.0% |
Failure | 21 | 50.0% |
Failure kind | Count | Ratio |
---|---|---|
sequence | 21 | 100.0% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1 | 1.1% |
hit
ⓘSpecialized instructions that complete. |
69 | 75.8% |
Success | Count | Ratio |
---|---|---|
Success | 21 | 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. |
116,237,787 | 64.8% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
942 | 0.0% |
Specialized hits
ⓘSpecialized instructions, e.g. |
63,044,844 | 35.2% |
Specialized misses
ⓘSpecialized instructions, e.g. |
4,332 | 0.0% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
LOAD_ATTR | 88 | 30.9% |
FOR_ITER | 73 | 25.6% |
TO_BOOL | 71 | 24.9% |
CALL | 24 | 8.4% |
LOAD_GLOBAL | 14 | 4.9% |
BINARY_OP | 7 | 2.5% |
STORE_ATTR | 4 | 1.4% |
COMPARE_OP | 2 | 0.7% |
BINARY_SUBSCR | 1 | 0.4% |
UNPACK_SEQUENCE | 1 | 0.4% |
Breakdown of misses (specialized deopts) instruction counts by family
Name | Count | Ratio |
---|---|---|
RESUME | 4,265 | 49.6% |
RESUME_CHECK | 4,265 | 49.6% |
BINARY_OP_ADD_FLOAT | 67 | 0.8% |
CACHE | 0 | 0.0% |
EXIT_INIT_CHECK | 0 | 0.0% |
GET_ITER | 0 | 0.0% |
MAKE_FUNCTION | 0 | 0.0% |
NOP | 0 | 0.0% |
POP_TOP | 0 | 0.0% |
PUSH_NULL | 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 | 72 | 0.0% |
Calls to Python functions inlined | 17,888,277 | 100.0% |
Calls via PyEval_EvalFrame (total) | 72 | 0.0% |
Calls via PyEval_EvalFrame (vector) | 72 | 0.0% |
Calls via PyEval_EvalFrame (generator) | 0 | 0.0% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 72 | 0.0% |
Calls via PyEval_EvalFrame (build class) | 0 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function ex) | 70 | 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 | 26,622,247 | 148.8% |
Allocations, frees and dict materializatons
Below, "allocations" means "allocations that are not from a freelist". Total allocations = "Allocations from freelist" + "Allocations".
"Inline values" is the number of values arrays inlined into objects.
The cache hit/miss numbers are for the MRO cache, split into dunder and other names.
Count | Ratio | |
---|---|---|
Allocations from freelist | 4,312 | 0.0% |
Frees to freelist | 21,468 | |
Allocations | 9,616,545 | 100.0% |
Allocations to 512 bytes | 9,616,541 | 100.0% |
Allocations to 4 kbytes | 4 | 0.0% |
Allocations over 4 kbytes | 0 | 0.0% |
Frees | 9,625,413 | |
Inline values | 8,733,900 | |
Interpreter mortal increfs | 160,165,897 | 84.8% |
Interpreter mortal decrefs | 151,869,550 | 60.1% |
Mortal increfs | 17,048,887 | 9.0% |
Mortal decrefs | 34,966,640 | 13.8% |
Interpreter immortal increfs | 10,423,775 | 5.5% |
Interpreter immortal decrefs | 64,090,702 | 25.4% |
Immortal increfs | 1,303,404 | 0.7% |
Immortal decrefs | 1,702,211 | 0.7% |
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 | 237 | |
Method cache misses | 32 | |
Method cache collisions | 19 | |
Method cache dunder hits | 2 | |
Method cache dunder misses | 2 |
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 | 4,159 | 0 | 397,080,589 | 85,142,875 | 0 |
2 | 8,318 | 8,734,272 | 1,865,791,386 | 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. |
2,251 | |
Traces created
ⓘThe number of traces that were successfully created. |
4 | 0.2% |
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. |
2,249 | 99.9% |
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. |
2,247 | 99.8% |
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 |
17,862,383 | |
Uops executed
ⓘThe total number of uops (micro-operations) that were executed |
272,355,672 | 1,524.7% |
Count | Ratio | |
---|---|---|
Optimizer attempts
ⓘThe number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run. |
4 | |
Optimizer successes
ⓘThe number of traces that were successfully optimized. |
4 | 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 | 3 | 75.0% |
<= 64 | 1 | 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 | 3 | 75.0% |
<= 32 | 0 | 0.0% |
<= 64 | 1 | 25.0% |
trace run length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 4,261 | 0.0% |
uop execution stats
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
_LOAD_CONST_INLINE_BORROW | 26,985,635 | 9.9% | 9.9% | |
_LOAD_FAST_0 | 19,088,026 | 7.0% | 16.9% | |
_GUARD_DORV_NO_DICT | 18,264,824 | 6.7% | 23.6% | |
_STORE_ATTR_INSTANCE_VALUE | 18,264,824 | 6.7% | 30.3% | |
_MAKE_WARM | 17,862,383 | 6.6% | 36.9% | |
_START_EXECUTOR | 17,862,383 | 6.6% | 43.4% | |
_SET_IP | 17,443,206 | 6.4% | 49.9% | |
_GUARD_TYPE_VERSION | 9,955,614 | 3.7% | 53.5% | |
_EXIT_TRACE | 9,552,227 | 3.5% | 57.0% | |
_GUARD_NOT_EXHAUSTED_RANGE | 8,725,710 | 3.2% | 60.2% | 4.8% |
_CHECK_PERIODIC | 8,725,710 | 3.2% | 63.4% | |
_CHECK_VALIDITY | 8,725,710 | 3.2% | 66.6% | |
_ITER_CHECK_RANGE | 8,725,710 | 3.2% | 69.8% | |
_TIER2_RESUME_CHECK | 8,725,072 | 3.2% | 73.0% | 0.0% |
_PUSH_FRAME | 8,717,496 | 3.2% | 76.2% | |
_CHECK_AND_ALLOCATE_OBJECT | 8,305,895 | 3.0% | 79.3% | |
_CHECK_FUNCTION | 8,305,895 | 3.0% | 82.3% | |
_CREATE_INIT_FRAME | 8,305,895 | 3.0% | 85.4% | |
_DYNAMIC_EXIT | 8,305,895 | 3.0% | 88.4% | |
_ITER_NEXT_RANGE | 8,305,895 | 3.0% | 91.5% | |
_LOAD_CONST_INLINE_WITH_NULL | 8,305,895 | 3.0% | 94.5% | |
_STORE_FAST_3 | 8,305,895 | 3.0% | 97.6% | |
_POP_TOP | 823,202 | 0.3% | 97.9% | |
_RETURN_VALUE | 411,601 | 0.2% | 98.0% | |
_RESUME_CHECK | 411,601 | 0.2% | 98.2% | |
_CHECK_FUNCTION_EXACT_ARGS | 411,601 | 0.2% | 98.3% | |
_CHECK_FUNCTION_VERSION | 411,601 | 0.2% | 98.5% | |
_CHECK_MANAGED_OBJECT_HAS_VALUES | 411,601 | 0.2% | 98.6% | |
_CHECK_STACK_SPACE_OPERAND | 411,601 | 0.2% | 98.8% | |
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT | 411,601 | 0.2% | 98.9% | |
_GUARD_KEYS_VERSION | 411,601 | 0.2% | 99.1% | |
_INIT_CALL_PY_EXACT_ARGS_1 | 411,601 | 0.2% | 99.2% | |
_LOAD_ATTR_INSTANCE_VALUE_0 | 411,601 | 0.2% | 99.4% | |
_LOAD_ATTR_METHOD_WITH_VALUES | 411,601 | 0.2% | 99.5% | |
_LOAD_FAST_1 | 411,601 | 0.2% | 99.7% | |
_LOAD_FAST_2 | 411,601 | 0.2% | 99.8% | |
_SAVE_RETURN_OFFSET | 411,601 | 0.2% | 100.0% | |
_DEOPT | 4,261 | 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 |
---|---|---|---|
_GUARD_DORV_NO_DICT _STORE_ATTR_INSTANCE_VALUE | 18,264,824 | 6.7% | 6.7% |
_START_EXECUTOR _MAKE_WARM | 17,862,383 | 6.6% | 13.3% |
_STORE_ATTR_INSTANCE_VALUE _LOAD_CONST_INLINE_BORROW | 17,853,223 | 6.6% | 19.8% |
_LOAD_CONST_INLINE_BORROW _LOAD_FAST_0 | 17,441,622 | 6.4% | 26.2% |
_GUARD_TYPE_VERSION _GUARD_DORV_NO_DICT | 9,544,013 | 3.5% | 29.7% |
_LOAD_CONST_INLINE_BORROW _EXIT_TRACE | 9,132,412 | 3.4% | 33.1% |
_LOAD_FAST_0 _GUARD_TYPE_VERSION | 9,132,412 | 3.4% | 36.4% |
_SET_IP _CHECK_PERIODIC | 8,725,710 | 3.2% | 39.6% |
_CHECK_PERIODIC _CHECK_VALIDITY | 8,725,710 | 3.2% | 42.8% |
_CHECK_VALIDITY _ITER_CHECK_RANGE | 8,725,710 | 3.2% | 46.0% |
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE | 8,725,710 | 3.2% | 49.2% |
_MAKE_WARM _SET_IP | 8,725,710 | 3.2% | 52.5% |
_MAKE_WARM _TIER2_RESUME_CHECK | 8,725,072 | 3.2% | 55.7% |
_LOAD_FAST_0 _GUARD_DORV_NO_DICT | 8,720,811 | 3.2% | 58.9% |
_TIER2_RESUME_CHECK _LOAD_CONST_INLINE_BORROW | 8,720,811 | 3.2% | 62.1% |
_SET_IP _CHECK_AND_ALLOCATE_OBJECT | 8,305,895 | 3.0% | 65.1% |
_CHECK_AND_ALLOCATE_OBJECT _CREATE_INIT_FRAME | 8,305,895 | 3.0% | 68.2% |
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL | 8,305,895 | 3.0% | 71.2% |
_CREATE_INIT_FRAME _PUSH_FRAME | 8,305,895 | 3.0% | 74.3% |
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE | 8,305,895 | 3.0% | 77.3% |
_ITER_NEXT_RANGE _STORE_FAST_3 | 8,305,895 | 3.0% | 80.4% |
_LOAD_CONST_INLINE_WITH_NULL _SET_IP | 8,305,895 | 3.0% | 83.4% |
_PUSH_FRAME _DYNAMIC_EXIT | 8,305,895 | 3.0% | 86.5% |
_STORE_FAST_3 _CHECK_FUNCTION | 8,305,895 | 3.0% | 89.5% |
_GUARD_NOT_EXHAUSTED_RANGE _EXIT_TRACE | 419,815 | 0.2% | 89.7% |
_POP_TOP _LOAD_CONST_INLINE_BORROW | 411,601 | 0.2% | 89.8% |
_POP_TOP _LOAD_FAST_2 | 411,601 | 0.2% | 90.0% |
_RETURN_VALUE _POP_TOP | 411,601 | 0.2% | 90.1% |
_RESUME_CHECK _LOAD_FAST_1 | 411,601 | 0.2% | 90.3% |
_SET_IP _CHECK_FUNCTION_VERSION | 411,601 | 0.2% | 90.4% |
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND | 411,601 | 0.2% | 90.6% |
_CHECK_FUNCTION_VERSION _CHECK_FUNCTION_EXACT_ARGS | 411,601 | 0.2% | 90.7% |
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 | 411,601 | 0.2% | 90.9% |
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_1 | 411,601 | 0.2% | 91.0% |
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION | 411,601 | 0.2% | 91.2% |
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES | 411,601 | 0.2% | 91.3% |
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT | 411,601 | 0.2% | 91.5% |
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET | 411,601 | 0.2% | 91.6% |
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TYPE_VERSION | 411,601 | 0.2% | 91.8% |
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_0 | 411,601 | 0.2% | 91.9% |
_LOAD_CONST_INLINE_BORROW _RETURN_VALUE | 411,601 | 0.2% | 92.1% |
_LOAD_FAST_0 _SET_IP | 411,601 | 0.2% | 92.2% |
_LOAD_FAST_0 _CHECK_MANAGED_OBJECT_HAS_VALUES | 411,601 | 0.2% | 92.4% |
_LOAD_FAST_0 _LOAD_FAST_0 | 411,601 | 0.2% | 92.5% |
_LOAD_FAST_1 _LOAD_FAST_0 | 411,601 | 0.2% | 92.7% |
_LOAD_FAST_2 _GUARD_TYPE_VERSION | 411,601 | 0.2% | 92.8% |
_MAKE_WARM _POP_TOP | 411,601 | 0.2% | 93.0% |
_PUSH_FRAME _RESUME_CHECK | 411,601 | 0.2% | 93.1% |
_SAVE_RETURN_OFFSET _PUSH_FRAME | 411,601 | 0.2% | 93.3% |
_STORE_ATTR_INSTANCE_VALUE _LOAD_FAST_0 | 411,601 | 0.2% | 93.4% |
_TIER2_RESUME_CHECK _DEOPT | 4,261 | 0.0% | 93.4% |
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 | 21 |
Stats gathered on: 2024-12-15