- benchmark: sqlite_synth
- fork: python
- ref: a19bb261a327e1008f219b62f6465941c981899b
- commit hash: a19bb26
- commit date: 2024-06-15T19:10:50+00:00
Execution counts for Tier 1 instructions.
The "miss ratio" column shows the percentage of times the instruction executed that it deoptimized. When this happens, the base unspecialized instruction is not counted.
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
LOAD_FAST | 20,976,160 | 19.0% | 19.0% | |
COPY | 10,486,160 | 9.5% | 28.6% | |
SWAP | 10,486,160 | 9.5% | 38.1% | |
LOAD_ATTR_INSTANCE_VALUE | 10,485,840 | 9.5% | 47.6% | |
STORE_ATTR_INSTANCE_VALUE | 10,485,840 | 9.5% | 57.1% | |
BINARY_OP_ADD_INT | 10,485,720 | 9.5% | 66.7% | |
LOAD_CONST | 5,244,480 | 4.8% | 71.4% | |
LOAD_GLOBAL_BUILTIN | 5,244,460 | 4.8% | 76.2% | |
RESUME_CHECK | 5,243,340 | 4.8% | 80.9% | |
INTERPRETER_EXIT | 5,243,200 | 4.8% | 85.7% | |
RETURN_CONST | 5,242,960 | 4.8% | 90.5% | |
POP_JUMP_IF_NONE | 5,242,880 | 4.8% | 95.2% | |
CALL_LEN | 5,242,860 | 4.8% | 100.0% | |
STORE_FAST | 2,140 | 0.0% | 100.0% | |
POP_TOP | 1,780 | 0.0% | 100.0% | |
LOAD_GLOBAL_MODULE | 1,360 | 0.0% | 100.0% | |
PUSH_NULL | 1,280 | 0.0% | 100.0% | |
POP_JUMP_IF_FALSE | 1,280 | 0.0% | 100.0% | |
LOAD_FAST_LOAD_FAST | 1,180 | 0.0% | 100.0% | |
LOAD_ATTR_MODULE | 1,000 | 0.0% | 100.0% | |
JUMP_BACKWARD | 980 | 0.0% | 100.0% | |
LOAD_ATTR_METHOD_NO_DICT | 940 | 0.0% | 100.0% | |
CALL | 860 | 0.0% | 100.0% | |
LOAD_ATTR | 860 | 0.0% | 100.0% | |
CALL_BUILTIN_O | 760 | 0.0% | 100.0% | |
COMPARE_OP_FLOAT | 760 | 0.0% | 100.0% | |
CALL_BUILTIN_FAST | 620 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_FAST | 620 | 0.0% | 100.0% | |
LOAD_DEREF | 560 | 0.0% | 100.0% | |
FOR_ITER | 500 | 0.0% | 100.0% | |
RETURN_VALUE | 480 | 0.0% | 100.0% | |
BUILD_LIST | 480 | 0.0% | 100.0% | |
LOAD_GLOBAL | 480 | 0.0% | 100.0% | |
FOR_ITER_TUPLE | 440 | 0.0% | 100.0% | |
STORE_FAST_STORE_FAST | 400 | 0.0% | 100.0% | |
NOP | 380 | 0.0% | 100.0% | |
ENTER_EXECUTOR | 380 | 0.0% | 100.0% | |
CALL_NON_PY_GENERAL | 380 | 0.0% | 100.0% | |
CALL_STR_1 | 380 | 0.0% | 100.0% | |
FOR_ITER_RANGE | 380 | 0.0% | 100.0% | |
UNPACK_SEQUENCE_TUPLE | 380 | 0.0% | 100.0% | |
STORE_ATTR | 360 | 0.0% | 100.0% | |
CHECK_EXC_MATCH | 320 | 0.0% | 100.0% | |
GET_ITER | 320 | 0.0% | 100.0% | |
POP_EXCEPT | 320 | 0.0% | 100.0% | |
PUSH_EXC_INFO | 320 | 0.0% | 100.0% | |
BINARY_OP | 220 | 0.0% | 100.0% | |
MAKE_FUNCTION | 160 | 0.0% | 100.0% | |
BUILD_TUPLE | 160 | 0.0% | 100.0% | |
CALL_FUNCTION_EX | 160 | 0.0% | 100.0% | |
COPY_FREE_VARS | 160 | 0.0% | 100.0% | |
MAKE_CELL | 160 | 0.0% | 100.0% | |
SET_FUNCTION_ATTRIBUTE | 160 | 0.0% | 100.0% | |
CALL_BUILTIN_CLASS | 120 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 120 | 0.0% | 100.0% | |
RESUME | 100 | 0.0% | 100.0% | |
BUILD_MAP | 80 | 0.0% | 100.0% | |
CALL_INTRINSIC_1 | 80 | 0.0% | 100.0% | |
COMPARE_OP | 80 | 0.0% | 100.0% | |
JUMP_FORWARD | 80 | 0.0% | 100.0% | |
LIST_EXTEND | 80 | 0.0% | 100.0% | |
CALL_ISINSTANCE | 80 | 0.0% | 100.0% | |
CALL_PY_GENERAL | 80 | 0.0% | 100.0% | |
COMPARE_OP_INT | 80 | 0.0% | 100.0% | |
TO_BOOL_BOOL | 80 | 0.0% | 100.0% | |
BINARY_OP_SUBTRACT_FLOAT | 60 | 0.0% | 100.0% | |
BINARY_SUBSCR_TUPLE_INT | 60 | 0.0% | 100.0% | |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 60 | 0.0% | 100.0% | |
BINARY_SUBSCR | 40 | 0.0% | 100.0% | |
UNPACK_SEQUENCE | 40 | 0.0% | 100.0% |
Pair counts for top 100 opcode pairs
Pairs of specialized operations that deoptimize and are then followed by the corresponding unspecialized instruction are not counted as pairs.
Pair | Count | Self | Cumulative |
---|---|---|---|
LOAD_FAST COPY | 10,485,760 | 9.5% | 9.5% |
BINARY_OP_ADD_INT SWAP | 10,485,720 | 9.5% | 19.0% |
COPY LOAD_ATTR_INSTANCE_VALUE | 10,485,680 | 9.5% | 28.6% |
SWAP STORE_ATTR_INSTANCE_VALUE | 10,485,680 | 9.5% | 38.1% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 5,243,360 | 4.8% | 42.8% |
RESUME_CHECK LOAD_FAST | 5,243,000 | 4.8% | 47.6% |
CACHE RESUME_CHECK | 5,242,980 | 4.8% | 52.4% |
RETURN_CONST INTERPRETER_EXIT | 5,242,960 | 4.8% | 57.1% |
STORE_ATTR_INSTANCE_VALUE RETURN_CONST | 5,242,920 | 4.8% | 61.9% |
LOAD_FAST POP_JUMP_IF_NONE | 5,242,880 | 4.8% | 66.6% |
POP_JUMP_IF_NONE LOAD_FAST | 5,242,880 | 4.8% | 71.4% |
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_BUILTIN | 5,242,880 | 4.8% | 76.2% |
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST | 5,242,860 | 4.8% | 80.9% |
STORE_ATTR_INSTANCE_VALUE LOAD_FAST | 5,242,860 | 4.8% | 85.7% |
LOAD_CONST BINARY_OP_ADD_INT | 5,242,840 | 4.8% | 90.4% |
LOAD_FAST CALL_LEN | 5,242,840 | 4.8% | 95.2% |
CALL_LEN BINARY_OP_ADD_INT | 5,242,840 | 4.8% | 100.0% |
PUSH_NULL LOAD_FAST | 960 | 0.0% | 100.0% |
LOAD_ATTR_MODULE PUSH_NULL | 940 | 0.0% | 100.0% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 880 | 0.0% | 100.0% |
STORE_FAST LOAD_GLOBAL_MODULE | 760 | 0.0% | 100.0% |
COMPARE_OP_FLOAT POP_JUMP_IF_FALSE | 760 | 0.0% | 100.0% |
LOAD_ATTR_METHOD_NO_DICT LOAD_CONST | 740 | 0.0% | 100.0% |
LOAD_FAST CALL_BUILTIN_O | 720 | 0.0% | 100.0% |
STORE_FAST LOAD_FAST | 720 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT | 680 | 0.0% | 100.0% |
LOAD_GLOBAL_BUILTIN LOAD_FAST_LOAD_FAST | 620 | 0.0% | 100.0% |
POP_TOP LOAD_FAST | 500 | 0.0% | 100.0% |
CALL_METHOD_DESCRIPTOR_FAST POP_TOP | 500 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR | 440 | 0.0% | 100.0% |
LOAD_CONST LOAD_FAST_LOAD_FAST | 400 | 0.0% | 100.0% |
LOAD_FAST SWAP | 400 | 0.0% | 100.0% |
POP_JUMP_IF_FALSE LOAD_FAST | 400 | 0.0% | 100.0% |
STORE_FAST_STORE_FAST STORE_FAST | 400 | 0.0% | 100.0% |
SWAP COPY | 400 | 0.0% | 100.0% |
LOAD_FAST_LOAD_FAST CALL_BUILTIN_FAST | 380 | 0.0% | 100.0% |
CALL_BUILTIN_O LOAD_FAST | 380 | 0.0% | 100.0% |
CALL_BUILTIN_O STORE_FAST | 380 | 0.0% | 100.0% |
CALL_STR_1 BUILD_LIST | 380 | 0.0% | 100.0% |
FOR_ITER_RANGE STORE_FAST | 380 | 0.0% | 100.0% |
FOR_ITER_TUPLE STORE_FAST | 380 | 0.0% | 100.0% |
UNPACK_SEQUENCE_TUPLE STORE_FAST_STORE_FAST | 380 | 0.0% | 100.0% |
BUILD_LIST CALL_METHOD_DESCRIPTOR_FAST | 360 | 0.0% | 100.0% |
COPY COMPARE_OP_FLOAT | 360 | 0.0% | 100.0% |
FOR_ITER UNPACK_SEQUENCE_TUPLE | 360 | 0.0% | 100.0% |
LOAD_FAST CALL_STR_1 | 360 | 0.0% | 100.0% |
LOAD_FAST COMPARE_OP_FLOAT | 360 | 0.0% | 100.0% |
LOAD_FAST_LOAD_FAST LOAD_GLOBAL_BUILTIN | 360 | 0.0% | 100.0% |
POP_TOP JUMP_BACKWARD | 340 | 0.0% | 100.0% |
JUMP_BACKWARD FOR_ITER | 340 | 0.0% | 100.0% |
POP_JUMP_IF_FALSE JUMP_BACKWARD | 340 | 0.0% | 100.0% |
CHECK_EXC_MATCH POP_JUMP_IF_FALSE | 320 | 0.0% | 100.0% |
POP_TOP POP_EXCEPT | 320 | 0.0% | 100.0% |
PUSH_EXC_INFO LOAD_GLOBAL_BUILTIN | 320 | 0.0% | 100.0% |
POP_JUMP_IF_FALSE POP_TOP | 320 | 0.0% | 100.0% |
LOAD_GLOBAL_BUILTIN CHECK_EXC_MATCH | 320 | 0.0% | 100.0% |
NOP LOAD_GLOBAL_BUILTIN | 300 | 0.0% | 100.0% |
POP_EXCEPT JUMP_BACKWARD | 300 | 0.0% | 100.0% |
POP_TOP ENTER_EXECUTOR | 300 | 0.0% | 100.0% |
JUMP_BACKWARD FOR_ITER_RANGE | 300 | 0.0% | 100.0% |
STORE_FAST NOP | 300 | 0.0% | 100.0% |
JUMP_BACKWARD FOR_ITER_TUPLE | 280 | 0.0% | 100.0% |
CALL_NON_PY_GENERAL POP_TOP | 260 | 0.0% | 100.0% |
RETURN_VALUE INTERPRETER_EXIT | 240 | 0.0% | 100.0% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 240 | 0.0% | 100.0% |
ENTER_EXECUTOR POP_TOP | 220 | 0.0% | 100.0% |
LOAD_CONST CALL | 200 | 0.0% | 100.0% |
LOAD_FAST CALL | 200 | 0.0% | 100.0% |
LOAD_ATTR PUSH_NULL | 180 | 0.0% | 100.0% |
LOAD_ATTR LOAD_ATTR_METHOD_NO_DICT | 180 | 0.0% | 100.0% |
LOAD_GLOBAL_MODULE LOAD_ATTR | 180 | 0.0% | 100.0% |
GET_ITER FOR_ITER_TUPLE | 160 | 0.0% | 100.0% |
MAKE_FUNCTION SET_FUNCTION_ATTRIBUTE | 160 | 0.0% | 100.0% |
RETURN_VALUE RETURN_VALUE | 160 | 0.0% | 100.0% |
BUILD_TUPLE LOAD_CONST | 160 | 0.0% | 100.0% |
CALL STORE_FAST | 160 | 0.0% | 100.0% |
ENTER_EXECUTOR PUSH_EXC_INFO | 160 | 0.0% | 100.0% |
LOAD_ATTR LOAD_CONST | 160 | 0.0% | 100.0% |
LOAD_CONST MAKE_FUNCTION | 160 | 0.0% | 100.0% |
LOAD_CONST LOAD_CONST | 160 | 0.0% | 100.0% |
LOAD_CONST LOAD_FAST | 160 | 0.0% | 100.0% |
LOAD_CONST CALL_METHOD_DESCRIPTOR_FAST | 160 | 0.0% | 100.0% |
LOAD_DEREF PUSH_NULL | 160 | 0.0% | 100.0% |
LOAD_FAST GET_ITER | 160 | 0.0% | 100.0% |
LOAD_FAST RETURN_VALUE | 160 | 0.0% | 100.0% |
LOAD_FAST BUILD_TUPLE | 160 | 0.0% | 100.0% |
LOAD_FAST LOAD_FAST | 160 | 0.0% | 100.0% |
LOAD_FAST STORE_ATTR | 160 | 0.0% | 100.0% |
LOAD_FAST CALL_BUILTIN_FAST | 160 | 0.0% | 100.0% |
LOAD_FAST_LOAD_FAST LOAD_FAST | 160 | 0.0% | 100.0% |
LOAD_GLOBAL LOAD_GLOBAL_MODULE | 160 | 0.0% | 100.0% |
CALL_BUILTIN_FAST POP_TOP | 160 | 0.0% | 100.0% |
CALL_BUILTIN_FAST STORE_FAST | 160 | 0.0% | 100.0% |
CALL POP_TOP | 140 | 0.0% | 100.0% |
COPY_FREE_VARS RESUME_CHECK | 140 | 0.0% | 100.0% |
LOAD_GLOBAL LOAD_ATTR | 140 | 0.0% | 100.0% |
CALL_BUILTIN_FAST PUSH_EXC_INFO | 140 | 0.0% | 100.0% |
PUSH_NULL CALL | 120 | 0.0% | 100.0% |
PUSH_NULL CALL_NON_PY_GENERAL | 120 | 0.0% | 100.0% |
LOAD_ATTR LOAD_ATTR_MODULE | 120 | 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 | 5,242,980 | 100.0% |
COPY_FREE_VARS | 80 | 0.0% |
MAKE_CELL | 80 | 0.0% |
RESUME | 60 | 0.0% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 40 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 20 | 50.0% |
BINARY_SUBSCR_TUPLE_INT | 20 | 50.0% |
Successors and predecessors for CHECK_EXC_MATCH
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 320 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 320 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 160 | 50.0% |
CALL_BUILTIN_CLASS | 60 | 18.8% |
CALL_METHOD_DESCRIPTOR_FAST | 60 | 18.8% |
CALL | 40 | 12.5% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_TUPLE | 160 | 50.0% |
FOR_ITER | 100 | 31.2% |
FOR_ITER_RANGE | 60 | 18.8% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_CONST | 5,242,960 | 100.0% |
RETURN_VALUE | 240 | 0.0% |
Successors and predecessors for MAKE_FUNCTION
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 160 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SET_FUNCTION_ATTRIBUTE | 160 | 100.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 300 | 78.9% |
POP_TOP | 80 | 21.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 300 | 78.9% |
LOAD_DEREF | 80 | 21.1% |
Successors and predecessors for POP_EXCEPT
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 320 | 100.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 300 | 93.8% |
ENTER_EXECUTOR | 20 | 6.2% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_FAST | 500 | 28.1% |
POP_JUMP_IF_FALSE | 320 | 18.0% |
CALL_NON_PY_GENERAL | 260 | 14.6% |
ENTER_EXECUTOR | 220 | 12.4% |
CALL_BUILTIN_FAST | 160 | 9.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 500 | 28.1% |
JUMP_BACKWARD | 340 | 19.1% |
POP_EXCEPT | 320 | 18.0% |
ENTER_EXECUTOR | 300 | 16.9% |
NOP | 80 | 4.5% |
Successors and predecessors for PUSH_EXC_INFO
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 160 | 50.0% |
CALL_BUILTIN_FAST | 140 | 43.8% |
JUMP_BACKWARD | 20 | 6.2% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 320 | 100.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 940 | 73.4% |
LOAD_ATTR | 180 | 14.1% |
LOAD_DEREF | 160 | 12.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 960 | 75.0% |
CALL | 120 | 9.4% |
CALL_NON_PY_GENERAL | 120 | 9.4% |
LOAD_CONST | 80 | 6.2% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 160 | 33.3% |
LOAD_FAST | 160 | 33.3% |
BINARY_OP | 100 | 20.8% |
BINARY_OP_SUBTRACT_FLOAT | 60 | 12.5% |
Successors | Count | Percentage |
---|---|---|
INTERPRETER_EXIT | 240 | 50.0% |
RETURN_VALUE | 160 | 33.3% |
LOAD_GLOBAL | 40 | 8.3% |
LOAD_GLOBAL_MODULE | 40 | 8.3% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 60 | 27.3% |
CALL | 40 | 18.2% |
LOAD_CONST | 40 | 18.2% |
LOAD_FAST | 40 | 18.2% |
BINARY_OP | 20 | 9.1% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 100 | 45.5% |
SWAP | 40 | 18.2% |
BINARY_OP_ADD_INT | 40 | 18.2% |
BINARY_OP | 20 | 9.1% |
BINARY_OP_SUBTRACT_FLOAT | 20 | 9.1% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
CALL_STR_1 | 380 | 79.2% |
LOAD_FAST | 80 | 16.7% |
CALL | 20 | 4.2% |
Successors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_FAST | 360 | 75.0% |
LOAD_DEREF | 80 | 16.7% |
CALL | 40 | 8.3% |
Successors and predecessors for BUILD_MAP
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_FAST | 80 | 100.0% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 160 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST | 160 | 100.0% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 200 | 23.3% |
LOAD_FAST | 200 | 23.3% |
PUSH_NULL | 120 | 14.0% |
LOAD_GLOBAL_MODULE | 100 | 11.6% |
LOAD_ATTR | 80 | 9.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 160 | 18.6% |
POP_TOP | 140 | 16.3% |
CALL_METHOD_DESCRIPTOR_FAST | 100 | 11.6% |
CALL_NON_PY_GENERAL | 100 | 11.6% |
GET_ITER | 40 | 4.7% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
CALL_INTRINSIC_1 | 80 | 50.0% |
LOAD_FAST | 80 | 50.0% |
Successors | Count | Percentage |
---|---|---|
COPY_FREE_VARS | 80 | 50.0% |
RESUME_CHECK | 60 | 37.5% |
RESUME | 20 | 12.5% |
Successors and predecessors for CALL_INTRINSIC_1
Predecessors | Count | Percentage |
---|---|---|
LIST_EXTEND | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_FUNCTION_EX | 80 | 100.0% |
Successors and predecessors for COMPARE_OP
Predecessors | Count | Percentage |
---|---|---|
COPY | 40 | 50.0% |
LOAD_FAST | 40 | 50.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 40 | 50.0% |
COMPARE_OP_FLOAT | 40 | 50.0% |
Successors and predecessors for COPY
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 10,485,760 | 100.0% |
SWAP | 400 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 10,485,680 | 100.0% |
COMPARE_OP_FLOAT | 360 | 0.0% |
LOAD_ATTR | 80 | 0.0% |
COMPARE_OP | 40 | 0.0% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CACHE | 80 | 50.0% |
CALL_FUNCTION_EX | 80 | 50.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 140 | 87.5% |
RESUME | 20 | 12.5% |
Successors and predecessors for ENTER_EXECUTOR
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 300 | 78.9% |
POP_JUMP_IF_FALSE | 60 | 15.8% |
POP_EXCEPT | 20 | 5.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 220 | 57.9% |
PUSH_EXC_INFO | 160 | 42.1% |
Successors and predecessors for FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 340 | 68.0% |
GET_ITER | 100 | 20.0% |
FOR_ITER | 60 | 12.0% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TUPLE | 360 | 72.0% |
FOR_ITER | 60 | 12.0% |
UNPACK_SEQUENCE | 40 | 8.0% |
STORE_FAST | 20 | 4.0% |
FOR_ITER_RANGE | 20 | 4.0% |
Successors and predecessors for JUMP_BACKWARD
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 340 | 34.7% |
POP_JUMP_IF_FALSE | 340 | 34.7% |
POP_EXCEPT | 300 | 30.6% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER | 340 | 34.7% |
FOR_ITER_RANGE | 300 | 30.6% |
FOR_ITER_TUPLE | 280 | 28.6% |
POP_TOP | 40 | 4.1% |
PUSH_EXC_INFO | 20 | 2.0% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 80 | 100.0% |
Successors and predecessors for LIST_EXTEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_DEREF | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_INTRINSIC_1 | 80 | 100.0% |
Successors and predecessors for LOAD_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 440 | 51.2% |
LOAD_GLOBAL_MODULE | 180 | 20.9% |
LOAD_GLOBAL | 140 | 16.3% |
COPY | 80 | 9.3% |
LOAD_ATTR | 20 | 2.3% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 180 | 20.9% |
LOAD_ATTR_METHOD_NO_DICT | 180 | 20.9% |
LOAD_CONST | 160 | 18.6% |
LOAD_ATTR_MODULE | 120 | 14.0% |
CALL | 80 | 9.3% |
Successors and predecessors for LOAD_CONST
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 5,242,860 | 100.0% |
LOAD_ATTR_METHOD_NO_DICT | 740 | 0.0% |
BUILD_TUPLE | 160 | 0.0% |
LOAD_ATTR | 160 | 0.0% |
LOAD_CONST | 160 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_INT | 5,242,840 | 100.0% |
LOAD_FAST_LOAD_FAST | 400 | 0.0% |
CALL | 200 | 0.0% |
MAKE_FUNCTION | 160 | 0.0% |
LOAD_CONST | 160 | 0.0% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
NOP | 80 | 14.3% |
BUILD_LIST | 80 | 14.3% |
LOAD_DEREF | 80 | 14.3% |
LOAD_FAST | 80 | 14.3% |
POP_JUMP_IF_FALSE | 80 | 14.3% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 160 | 28.6% |
LIST_EXTEND | 80 | 14.3% |
LOAD_CONST | 80 | 14.3% |
LOAD_DEREF | 80 | 14.3% |
LOAD_GLOBAL_BUILTIN | 80 | 14.3% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 5,243,360 | 25.0% |
RESUME_CHECK | 5,243,000 | 25.0% |
POP_JUMP_IF_NONE | 5,242,880 | 25.0% |
STORE_ATTR_INSTANCE_VALUE | 5,242,860 | 25.0% |
PUSH_NULL | 960 | 0.0% |
Successors | Count | Percentage |
---|---|---|
COPY | 10,485,760 | 50.0% |
POP_JUMP_IF_NONE | 5,242,880 | 25.0% |
CALL_LEN | 5,242,840 | 25.0% |
CALL_BUILTIN_O | 720 | 0.0% |
LOAD_ATTR_METHOD_NO_DICT | 680 | 0.0% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 620 | 52.5% |
LOAD_CONST | 400 | 33.9% |
POP_TOP | 80 | 6.8% |
LOAD_GLOBAL_MODULE | 80 | 6.8% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_FAST | 380 | 32.2% |
LOAD_GLOBAL_BUILTIN | 360 | 30.5% |
LOAD_FAST | 160 | 13.6% |
BUILD_MAP | 80 | 6.8% |
STORE_ATTR | 80 | 6.8% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 120 | 25.0% |
POP_TOP | 80 | 16.7% |
LOAD_CONST | 80 | 16.7% |
RETURN_VALUE | 40 | 8.3% |
LOAD_ATTR | 40 | 8.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 160 | 33.3% |
LOAD_ATTR | 140 | 29.2% |
LOAD_FAST | 80 | 16.7% |
LOAD_GLOBAL_BUILTIN | 80 | 16.7% |
CALL | 20 | 4.2% |
Successors and predecessors for MAKE_CELL
Predecessors | Count | Percentage |
---|---|---|
CACHE | 80 | 50.0% |
MAKE_CELL | 80 | 50.0% |
Successors | Count | Percentage |
---|---|---|
MAKE_CELL | 80 | 50.0% |
RESUME_CHECK | 80 | 50.0% |
Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP_FLOAT | 760 | 59.4% |
CHECK_EXC_MATCH | 320 | 25.0% |
COMPARE_OP_INT | 80 | 6.2% |
TO_BOOL_BOOL | 80 | 6.2% |
COMPARE_OP | 40 | 3.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 400 | 31.2% |
JUMP_BACKWARD | 340 | 26.6% |
POP_TOP | 320 | 25.0% |
JUMP_FORWARD | 80 | 6.2% |
LOAD_DEREF | 80 | 6.2% |
Successors and predecessors for POP_JUMP_IF_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,242,880 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,242,880 | 100.0% |
Successors and predecessors for RETURN_CONST
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 5,242,920 | 100.0% |
STORE_ATTR | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
INTERPRETER_EXIT | 5,242,960 | 100.0% |
Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 160 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 80 | 50.0% |
STORE_FAST | 80 | 50.0% |
Successors and predecessors for STORE_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 160 | 44.4% |
LOAD_FAST_LOAD_FAST | 80 | 22.2% |
SWAP | 80 | 22.2% |
STORE_ATTR | 40 | 11.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 100 | 27.8% |
LOAD_GLOBAL_MODULE | 80 | 22.2% |
STORE_ATTR_INSTANCE_VALUE | 80 | 22.2% |
RETURN_CONST | 40 | 11.1% |
STORE_ATTR | 40 | 11.1% |
Successors and predecessors for STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 400 | 18.7% |
CALL_BUILTIN_O | 380 | 17.8% |
FOR_ITER_RANGE | 380 | 17.8% |
FOR_ITER_TUPLE | 380 | 17.8% |
CALL | 160 | 7.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 760 | 35.5% |
LOAD_FAST | 720 | 33.6% |
NOP | 300 | 14.0% |
LOAD_GLOBAL_BUILTIN | 240 | 11.2% |
LOAD_GLOBAL | 120 | 5.6% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TUPLE | 380 | 95.0% |
UNPACK_SEQUENCE | 20 | 5.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 400 | 100.0% |
Successors and predecessors for SWAP
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_INT | 10,485,720 | 100.0% |
LOAD_FAST | 400 | 0.0% |
BINARY_OP | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 10,485,680 | 100.0% |
COPY | 400 | 0.0% |
STORE_ATTR | 80 | 0.0% |
Successors and predecessors for UNPACK_SEQUENCE
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER | 40 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 20 | 50.0% |
UNPACK_SEQUENCE_TUPLE | 20 | 50.0% |
Successors and predecessors for RESUME
Predecessors | Count | Percentage |
---|---|---|
CACHE | 60 | 60.0% |
CALL_FUNCTION_EX | 20 | 20.0% |
COPY_FREE_VARS | 20 | 20.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 40 | 40.0% |
LOAD_CONST | 20 | 20.0% |
LOAD_DEREF | 20 | 20.0% |
LOAD_GLOBAL | 20 | 20.0% |
Successors and predecessors for BINARY_OP_ADD_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 5,242,840 | 50.0% |
CALL_LEN | 5,242,840 | 50.0% |
BINARY_OP | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
SWAP | 10,485,720 | 100.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 40 | 66.7% |
BINARY_OP | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 60 | 100.0% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 40 | 66.7% |
BINARY_SUBSCR | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 60 | 100.0% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
CALL | 40 | 33.3% |
LOAD_FAST | 40 | 33.3% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 33.3% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 60 | 50.0% |
BINARY_OP | 60 | 50.0% |
Successors and predecessors for CALL_BUILTIN_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 380 | 61.3% |
LOAD_FAST | 160 | 25.8% |
BUILD_MAP | 80 | 12.9% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 160 | 25.8% |
STORE_FAST | 160 | 25.8% |
PUSH_EXC_INFO | 140 | 22.6% |
CALL_NON_PY_GENERAL | 80 | 12.9% |
LOAD_ATTR_METHOD_NO_DICT | 80 | 12.9% |
Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 40 | 66.7% |
CALL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for CALL_BUILTIN_O
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 720 | 94.7% |
CALL | 40 | 5.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 380 | 50.0% |
STORE_FAST | 380 | 50.0% |
Successors and predecessors for CALL_ISINSTANCE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 80 | 100.0% |
Successors and predecessors for CALL_LEN
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,242,840 | 100.0% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_INT | 5,242,840 | 100.0% |
BINARY_OP | 20 | 0.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 360 | 58.1% |
LOAD_CONST | 160 | 25.8% |
CALL | 100 | 16.1% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 500 | 80.6% |
GET_ITER | 60 | 9.7% |
STORE_FAST | 60 | 9.7% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 80 | 66.7% |
CALL | 40 | 33.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 60 | 50.0% |
LOAD_CONST | 60 | 50.0% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 120 | 31.6% |
CALL | 100 | 26.3% |
CALL_BUILTIN_FAST | 80 | 21.1% |
LOAD_ATTR_MODULE | 40 | 10.5% |
LOAD_GLOBAL_MODULE | 40 | 10.5% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 260 | 68.4% |
LOAD_FAST | 60 | 15.8% |
STORE_FAST | 60 | 15.8% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 80 | 100.0% |
Successors and predecessors for CALL_STR_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 360 | 94.7% |
CALL | 20 | 5.3% |
Successors | Count | Percentage |
---|---|---|
BUILD_LIST | 380 | 100.0% |
Successors and predecessors for COMPARE_OP_FLOAT
Predecessors | Count | Percentage |
---|---|---|
COPY | 360 | 47.4% |
LOAD_FAST | 360 | 47.4% |
COMPARE_OP | 40 | 5.3% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 760 | 100.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 80 | 100.0% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 300 | 78.9% |
GET_ITER | 60 | 15.8% |
FOR_ITER | 20 | 5.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 380 | 100.0% |
Successors and predecessors for FOR_ITER_TUPLE
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 280 | 63.6% |
GET_ITER | 160 | 36.4% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 380 | 86.4% |
LOAD_FAST | 60 | 13.6% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
COPY | 10,485,680 | 100.0% |
LOAD_ATTR | 80 | 0.0% |
LOAD_FAST | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 5,242,880 | 50.0% |
LOAD_CONST | 5,242,860 | 50.0% |
LOAD_GLOBAL | 40 | 0.0% |
CALL_BUILTIN_CLASS | 40 | 0.0% |
CALL | 20 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 680 | 72.3% |
LOAD_ATTR | 180 | 19.1% |
CALL_BUILTIN_FAST | 80 | 8.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST | 740 | 78.7% |
CALL_METHOD_DESCRIPTOR_NOARGS | 80 | 8.5% |
LOAD_GLOBAL_BUILTIN | 80 | 8.5% |
CALL | 40 | 4.3% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 880 | 88.0% |
LOAD_ATTR | 120 | 12.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 940 | 94.0% |
CALL_NON_PY_GENERAL | 40 | 4.0% |
CALL | 20 | 2.0% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 5,242,880 | 100.0% |
LOAD_FAST_LOAD_FAST | 360 | 0.0% |
PUSH_EXC_INFO | 320 | 0.0% |
NOP | 300 | 0.0% |
STORE_FAST | 240 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,243,360 | 100.0% |
LOAD_FAST_LOAD_FAST | 620 | 0.0% |
CHECK_EXC_MATCH | 320 | 0.0% |
LOAD_DEREF | 80 | 0.0% |
CALL_ISINSTANCE | 80 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 760 | 55.9% |
LOAD_GLOBAL | 160 | 11.8% |
RESUME_CHECK | 120 | 8.8% |
LOAD_CONST | 80 | 5.9% |
LOAD_DEREF | 80 | 5.9% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 880 | 64.7% |
LOAD_ATTR | 180 | 13.2% |
CALL | 100 | 7.4% |
LOAD_FAST | 80 | 5.9% |
LOAD_FAST_LOAD_FAST | 80 | 5.9% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CACHE | 5,242,980 | 100.0% |
COPY_FREE_VARS | 140 | 0.0% |
MAKE_CELL | 80 | 0.0% |
CALL_PY_GENERAL | 80 | 0.0% |
CALL_FUNCTION_EX | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,243,000 | 100.0% |
LOAD_GLOBAL_MODULE | 120 | 0.0% |
LOAD_GLOBAL_BUILTIN | 80 | 0.0% |
LOAD_CONST | 60 | 0.0% |
LOAD_DEREF | 60 | 0.0% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
SWAP | 10,485,680 | 100.0% |
LOAD_FAST | 80 | 0.0% |
STORE_ATTR | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_CONST | 5,242,920 | 50.0% |
LOAD_FAST | 5,242,860 | 50.0% |
LOAD_CONST | 60 | 0.0% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
CALL_ISINSTANCE | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 80 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE_TUPLE
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER | 360 | 94.7% |
UNPACK_SEQUENCE | 20 | 5.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 380 | 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. |
140 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
10,485,780 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 60 | 75.0% |
Failure | 20 | 25.0% |
Failure kind | Count | Ratio |
---|---|---|
true divide different types | 20 | 100.0% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
20 | 20.0% |
hit
ⓘSpecialized instructions that complete. |
60 | 60.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 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. |
460 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
5,245,620 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 380 | 95.0% |
Failure | 20 | 5.0% |
Failure kind | Count | Ratio |
---|---|---|
class no vectorcall | 20 | 100.0% |
specialization stats for COMPARE_OP family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
40 | 4.3% |
hit
ⓘSpecialized instructions that complete. |
840 | 91.3% |
Success | Count | Ratio |
---|---|---|
Success | 40 | 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. |
420 | 31.8% |
hit
ⓘSpecialized instructions that complete. |
820 | 62.1% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 25.0% |
Failure | 60 | 75.0% |
Failure kind | Count | Ratio |
---|---|---|
other | 60 | 100.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
460 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
10,487,780 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 380 | 95.0% |
Failure | 20 | 5.0% |
Failure kind | Count | Ratio |
---|---|---|
module attr not found | 20 | 100.0% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
240 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
5,245,820 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 240 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for POP_JUMP_IF_FALSE family
specialization stats for POP_JUMP_IF_NONE family
specialization stats for STORE_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
240 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
10,485,840 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 80 | 66.7% |
Failure | 40 | 33.3% |
Failure kind | Count | Ratio |
---|---|---|
not managed dict | 40 | 100.0% |
specialization stats for TO_BOOL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
80 | 100.0% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
20 | 4.8% |
hit
ⓘSpecialized instructions that complete. |
380 | 90.5% |
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. |
57,691,820 | 52.4% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
5,247,600 | 4.8% |
Specialized hits
ⓘSpecialized instructions, e.g. |
47,196,820 | 42.9% |
Specialized misses
ⓘSpecialized instructions, e.g. |
0 | 0.0% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
CALL | 460 | 22.5% |
LOAD_ATTR | 460 | 22.5% |
FOR_ITER | 420 | 20.6% |
LOAD_GLOBAL | 240 | 11.8% |
STORE_ATTR | 240 | 11.8% |
BINARY_OP | 140 | 6.9% |
COMPARE_OP | 40 | 2.0% |
BINARY_SUBSCR | 20 | 1.0% |
UNPACK_SEQUENCE | 20 | 1.0% |
BINARY_SLICE | 0 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
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 | 5,243,200 | 100.0% |
Calls to Python functions inlined | 240 | 0.0% |
Calls via PyEval_EvalFrame (total) | 5,243,200 | 100.0% |
Calls via PyEval_EvalFrame (vector) | 5,243,200 | 100.0% |
Calls via PyEval_EvalFrame (generator) | 0 | 0.0% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 5,243,200 | 100.0% |
Calls via PyEval_EvalFrame (build class) | 0 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function ex) | 160 | 0.0% |
Calls via PyEval_EvalFrame (api) | 0 | 0.0% |
Calls via PyEval_EvalFrame (method) | 80 | 0.0% |
Frame objects created | 80 | 0.0% |
Frames pushed | 5,243,440 | 100.0% |
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 | 78,672,540 | 51.8% |
Frees to freelist | 78,672,580 | |
Allocations | 73,292,120 | 48.2% |
Allocations to 512 bytes | 73,292,060 | 48.2% |
Allocations to 4 kbytes | 60 | 0.0% |
Allocations over 4 kbytes | 0 | 0.0% |
Frees | 78,561,313 | |
Inline values | 80 | |
Interpreter increfs | 151,917,640 | 61.7% |
Interpreter decrefs | 183,347,180 | 46.6% |
Increfs | 94,390,501 | 38.3% |
Decrefs | 209,682,231 | 53.4% |
Materialize dict (on request) | 0 | 0.0% |
Materialize dict (new key) | 0 | 0.0% |
Materialize dict (too big) | 0 | 0.0% |
Materialize dict (str subclass) | 0 | 0.0% |
Method cache hits | 5,244,306 | |
Method cache misses | 274 | |
Method cache collisions | 372 | |
Method cache dunder hits | 746 | |
Method cache dunder misses | 234 |
GC collections and effectiveness
Collected/visits gives some measure of efficiency.
Generation | Collections | Objects collected | Object visits |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 |
2 | 0 | 0 | 0 |
statistics about the Tier 2 optimizer
Count | Ratio | |
---|---|---|
Optimization attempts
ⓘThe number of times a potential trace is identified. Specifically, this occurs in the JUMP BACKWARD instruction when the counter reaches a threshold. |
60 | |
Traces created
ⓘThe number of traces that were successfully created. |
60 | 100.0% |
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. |
0 | 0.0% |
Trace too long
ⓘA trace is truncated because it is longer than the instruction buffer. |
0 | 0.0% |
Trace too short
ⓘA potential trace is abandoced because it it too short. |
0 | 0.0% |
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 |
620 | |
Uops executed
ⓘThe total number of uops (micro-operations) that were executed |
314,552,620 | 50,734,293.5% |
Count | Ratio | |
---|---|---|
Optimizer attempts
ⓘThe number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run. |
60 | |
Optimizer successes
ⓘThe number of traces that were successfully optimized. |
60 | 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 | 0 | 0.0% |
<= 64 | 60 | 100.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 | 40 | 66.7% |
<= 64 | 20 | 33.3% |
trace run length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 0 | 0.0% |
<= 8 | 100 | 16.1% |
<= 16 | 180 | 29.0% |
<= 32 | 0 | 0.0% |
<= 64 | 0 | 0.0% |
<= 128 | 0 | 0.0% |
<= 256 | 0 | 0.0% |
<= 512 | 0 | 0.0% |
<= 1,024 | 0 | 0.0% |
<= 2,048 | 0 | 0.0% |
<= 4,096 | 0 | 0.0% |
<= 8,192 | 0 | 0.0% |
<= 16,384 | 0 | 0.0% |
<= 32,768 | 0 | 0.0% |
<= 65,536 | 0 | 0.0% |
<= 131,072 | 0 | 0.0% |
<= 262,144 | 0 | 0.0% |
<= 524,288 | 0 | 0.0% |
<= 1,048,576 | 0 | 0.0% |
<= 2,097,152 | 80 | 12.9% |
<= 4,194,304 | 80 | 12.9% |
uop execution stats
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
_SET_IP | 26,212,660 | 8.3% | 8.3% | |
_CHECK_VALIDITY | 26,212,400 | 8.3% | 16.7% | |
_CHECK_PERIODIC | 20,969,920 | 6.7% | 23.3% | |
_LOAD_CONST_INLINE | 15,727,440 | 5.0% | 28.3% | |
_LOAD_FAST_3 | 15,727,440 | 5.0% | 33.3% | |
_TIER2_RESUME_CHECK | 10,485,400 | 3.3% | 36.7% | |
_CHECK_FUNCTION | 10,485,140 | 3.3% | 40.0% | |
_PUSH_NULL | 10,484,960 | 3.3% | 43.3% | |
_CALL_BUILTIN_O | 10,484,960 | 3.3% | 46.7% | |
_COMPARE_OP_FLOAT | 10,484,960 | 3.3% | 50.0% | |
_GUARD_IS_TRUE_POP | 10,484,960 | 3.3% | 53.3% | |
_JUMP_TO_TOP | 10,484,960 | 3.3% | 56.7% | |
_LOAD_FAST_4 | 5,242,660 | 1.7% | 58.3% | |
_STORE_FAST_4 | 5,242,660 | 1.7% | 60.0% | |
_FOR_ITER_TIER_TWO | 5,242,560 | 1.7% | 61.7% | 0.0% |
_GUARD_NOT_EXHAUSTED_RANGE | 5,242,560 | 1.7% | 63.3% | 0.0% |
_ITER_CHECK_RANGE | 5,242,560 | 1.7% | 65.0% | |
_POP_TOP | 5,242,480 | 1.7% | 66.7% | |
_BUILD_LIST | 5,242,480 | 1.7% | 68.3% | |
_COPY | 5,242,480 | 1.7% | 70.0% | |
_SWAP | 5,242,480 | 1.7% | 71.7% | |
_UNPACK_SEQUENCE_TUPLE | 5,242,480 | 1.7% | 73.3% | |
_CALL_METHOD_DESCRIPTOR_FAST | 5,242,480 | 1.7% | 75.0% | |
_CALL_STR_1 | 5,242,480 | 1.7% | 76.7% | |
_GUARD_BOTH_FLOAT | 5,242,480 | 1.7% | 78.3% | |
_GUARD_TOS_FLOAT | 5,242,480 | 1.7% | 80.0% | |
_GUARD_TYPE_VERSION | 5,242,480 | 1.7% | 81.7% | |
_ITER_NEXT_RANGE | 5,242,480 | 1.7% | 83.3% | |
_LOAD_ATTR_METHOD_NO_DICT | 5,242,480 | 1.7% | 85.0% | |
_LOAD_CONST_INLINE_BORROW_WITH_NULL | 5,242,480 | 1.7% | 86.7% | |
_LOAD_FAST_2 | 5,242,480 | 1.7% | 88.3% | |
_LOAD_FAST_5 | 5,242,480 | 1.7% | 90.0% | |
_LOAD_FAST_6 | 5,242,480 | 1.7% | 91.7% | |
_LOAD_FAST_7 | 5,242,480 | 1.7% | 93.3% | |
_STORE_FAST_3 | 5,242,480 | 1.7% | 95.0% | |
_STORE_FAST_5 | 5,242,480 | 1.7% | 96.7% | |
_STORE_FAST_6 | 5,242,480 | 1.7% | 98.3% | |
_STORE_FAST_7 | 5,242,480 | 1.7% | 100.0% | |
_START_EXECUTOR | 440 | 0.0% | 100.0% | |
_GUARD_NOT_EXHAUSTED_TUPLE | 280 | 0.0% | 100.0% | 35.7% |
_ITER_CHECK_TUPLE | 280 | 0.0% | 100.0% | |
_EXIT_TRACE | 180 | 0.0% | 100.0% | |
_CALL_BUILTIN_FAST | 180 | 0.0% | 100.0% | |
_COLD_EXIT | 180 | 0.0% | 100.0% | |
_ERROR_POP_N | 180 | 0.0% | 100.0% | |
_ITER_NEXT_TUPLE | 180 | 0.0% | 100.0% | |
_LOAD_CONST_INLINE_WITH_NULL | 180 | 0.0% | 100.0% | |
_LOAD_FAST_1 | 180 | 0.0% | 100.0% | |
_DEOPT | 80 | 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 |
---|---|---|---|
_CHECK_PERIODIC _CHECK_VALIDITY | 20,969,920 | 6.7% | 6.7% |
_SET_IP _CALL_BUILTIN_O | 10,484,960 | 3.3% | 10.0% |
_CALL_BUILTIN_O _CHECK_PERIODIC | 10,484,960 | 3.3% | 13.3% |
_CHECK_FUNCTION _LOAD_CONST_INLINE | 10,484,960 | 3.3% | 16.7% |
_COMPARE_OP_FLOAT _GUARD_IS_TRUE_POP | 10,484,960 | 3.3% | 20.0% |
_JUMP_TO_TOP _TIER2_RESUME_CHECK | 10,484,960 | 3.3% | 23.3% |
_LOAD_CONST_INLINE _PUSH_NULL | 10,484,960 | 3.3% | 26.7% |
_LOAD_FAST_3 _SET_IP | 10,484,960 | 3.3% | 30.0% |
_SET_IP _FOR_ITER_TIER_TWO | 5,242,560 | 1.7% | 31.7% |
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE | 5,242,560 | 1.7% | 33.3% |
_TIER2_RESUME_CHECK _SET_IP | 5,242,560 | 1.7% | 35.0% |
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE | 5,242,560 | 1.7% | 36.7% |
_POP_TOP _JUMP_TO_TOP | 5,242,480 | 1.7% | 38.3% |
_PUSH_NULL _LOAD_FAST_3 | 5,242,480 | 1.7% | 40.0% |
_PUSH_NULL _LOAD_FAST_5 | 5,242,480 | 1.7% | 41.7% |
_BUILD_LIST _SET_IP | 5,242,480 | 1.7% | 43.3% |
_COPY _GUARD_BOTH_FLOAT | 5,242,480 | 1.7% | 45.0% |
_SWAP _COPY | 5,242,480 | 1.7% | 46.7% |
_UNPACK_SEQUENCE_TUPLE _STORE_FAST_5 | 5,242,480 | 1.7% | 48.3% |
_SET_IP _CALL_METHOD_DESCRIPTOR_FAST | 5,242,480 | 1.7% | 50.0% |
_SET_IP _CALL_STR_1 | 5,242,480 | 1.7% | 51.7% |
_CALL_METHOD_DESCRIPTOR_FAST _CHECK_PERIODIC | 5,242,480 | 1.7% | 53.3% |
_CALL_STR_1 _CHECK_PERIODIC | 5,242,480 | 1.7% | 55.0% |
_CHECK_VALIDITY _POP_TOP | 5,242,480 | 1.7% | 56.7% |
_CHECK_VALIDITY _BUILD_LIST | 5,242,480 | 1.7% | 58.3% |
_CHECK_VALIDITY _UNPACK_SEQUENCE_TUPLE | 5,242,480 | 1.7% | 60.0% |
_CHECK_VALIDITY _LOAD_FAST_6 | 5,242,480 | 1.7% | 61.7% |
_CHECK_VALIDITY _STORE_FAST_4 | 5,242,480 | 1.7% | 63.3% |
_FOR_ITER_TIER_TWO _CHECK_VALIDITY | 5,242,480 | 1.7% | 65.0% |
_GUARD_BOTH_FLOAT _COMPARE_OP_FLOAT | 5,242,480 | 1.7% | 66.7% |
_GUARD_IS_TRUE_POP _JUMP_TO_TOP | 5,242,480 | 1.7% | 68.3% |
_GUARD_IS_TRUE_POP _LOAD_FAST_7 | 5,242,480 | 1.7% | 70.0% |
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE | 5,242,480 | 1.7% | 71.7% |
_GUARD_TOS_FLOAT _COMPARE_OP_FLOAT | 5,242,480 | 1.7% | 73.3% |
_GUARD_TYPE_VERSION _LOAD_ATTR_METHOD_NO_DICT | 5,242,480 | 1.7% | 75.0% |
_ITER_NEXT_RANGE _STORE_FAST_3 | 5,242,480 | 1.7% | 76.7% |
_LOAD_ATTR_METHOD_NO_DICT _LOAD_CONST_INLINE | 5,242,480 | 1.7% | 78.3% |
_LOAD_CONST_INLINE _LOAD_FAST_3 | 5,242,480 | 1.7% | 80.0% |
_LOAD_CONST_INLINE_BORROW_WITH_NULL _LOAD_FAST_3 | 5,242,480 | 1.7% | 81.7% |
_LOAD_FAST_2 _GUARD_TYPE_VERSION | 5,242,480 | 1.7% | 83.3% |
_LOAD_FAST_3 _LOAD_FAST_4 | 5,242,480 | 1.7% | 85.0% |
_LOAD_FAST_4 _LOAD_CONST_INLINE_BORROW_WITH_NULL | 5,242,480 | 1.7% | 86.7% |
_LOAD_FAST_5 _SET_IP | 5,242,480 | 1.7% | 88.3% |
_LOAD_FAST_6 _SWAP | 5,242,480 | 1.7% | 90.0% |
_LOAD_FAST_7 _GUARD_TOS_FLOAT | 5,242,480 | 1.7% | 91.7% |
_STORE_FAST_3 _CHECK_FUNCTION | 5,242,480 | 1.7% | 93.3% |
_STORE_FAST_4 _LOAD_FAST_2 | 5,242,480 | 1.7% | 95.0% |
_STORE_FAST_5 _STORE_FAST_6 | 5,242,480 | 1.7% | 96.7% |
_STORE_FAST_6 _STORE_FAST_7 | 5,242,480 | 1.7% | 98.3% |
_STORE_FAST_7 _CHECK_FUNCTION | 5,242,480 | 1.7% | 100.0% |
_START_EXECUTOR _TIER2_RESUME_CHECK | 440 | 0.0% | 100.0% |
_ITER_CHECK_TUPLE _GUARD_NOT_EXHAUSTED_TUPLE | 280 | 0.0% | 100.0% |
_TIER2_RESUME_CHECK _ITER_CHECK_TUPLE | 280 | 0.0% | 100.0% |
_SET_IP _CALL_BUILTIN_FAST | 180 | 0.0% | 100.0% |
_CALL_BUILTIN_FAST _ERROR_POP_N | 180 | 0.0% | 100.0% |
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL | 180 | 0.0% | 100.0% |
_GUARD_NOT_EXHAUSTED_TUPLE _ITER_NEXT_TUPLE | 180 | 0.0% | 100.0% |
_ITER_NEXT_TUPLE _STORE_FAST_4 | 180 | 0.0% | 100.0% |
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_1 | 180 | 0.0% | 100.0% |
_LOAD_FAST_1 _LOAD_FAST_4 | 180 | 0.0% | 100.0% |
_LOAD_FAST_4 _SET_IP | 180 | 0.0% | 100.0% |
_STORE_FAST_4 _CHECK_FUNCTION | 180 | 0.0% | 100.0% |
_GUARD_NOT_EXHAUSTED_TUPLE _EXIT_TRACE | 100 | 0.0% | 100.0% |
_FOR_ITER_TIER_TWO _DEOPT | 80 | 0.0% | 100.0% |
_GUARD_NOT_EXHAUSTED_RANGE _EXIT_TRACE | 80 | 0.0% | 100.0% |
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-06-16