- benchmark: chaos
- 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 | 103,874,860 | 15.5% | 15.5% | |
LOAD_ATTR_INSTANCE_VALUE | 66,798,360 | 10.0% | 25.5% | |
LOAD_FAST_LOAD_FAST | 62,789,540 | 9.4% | 34.9% | |
RETURN_VALUE | 35,879,940 | 5.4% | 40.2% | |
STORE_ATTR_INSTANCE_VALUE | 35,210,320 | 5.3% | 45.5% | |
LOAD_CONST | 34,598,360 | 5.2% | 50.7% | |
STORE_FAST | 29,398,620 | 4.4% | 55.1% | |
RESUME_CHECK | 24,009,900 | 3.6% | 58.6% | |
BINARY_OP | 19,211,340 | 2.9% | 61.5% | |
ENTER_EXECUTOR | 18,596,900 | 2.8% | 64.3% | |
BINARY_SUBSCR_LIST_INT | 16,994,220 | 2.5% | 66.8% | |
BINARY_OP_SUBTRACT_INT | 15,201,660 | 2.3% | 69.1% | |
RETURN_CONST | 12,000,480 | 1.8% | 70.9% | |
LOAD_GLOBAL_BUILTIN | 11,581,080 | 1.7% | 72.6% | |
POP_JUMP_IF_FALSE | 11,408,080 | 1.7% | 74.3% | |
COMPARE_OP | 11,204,200 | 1.7% | 76.0% | |
EXIT_INIT_CHECK | 11,200,100 | 1.7% | 77.7% | |
CALL_ALLOC_AND_ENTER_INIT | 11,200,100 | 1.7% | 79.3% | |
BINARY_OP_ADD_FLOAT | 11,200,080 | 1.7% | 81.0% | |
STORE_SUBSCR_LIST_INT | 10,399,980 | 1.6% | 82.6% | |
BINARY_SUBSCR_TUPLE_INT | 10,399,900 | 1.6% | 84.1% | |
CALL_PY_EXACT_ARGS | 8,804,640 | 1.3% | 85.4% | |
LOAD_ATTR_METHOD_WITH_VALUES | 8,800,820 | 1.3% | 86.8% | |
BINARY_OP_ADD_INT | 6,592,000 | 1.0% | 87.7% | |
POP_TOP | 6,150,360 | 0.9% | 88.7% | |
CALL_LEN | 5,789,840 | 0.9% | 89.5% | |
POP_JUMP_IF_TRUE | 5,600,680 | 0.8% | 90.4% | |
SWAP | 5,343,320 | 0.8% | 91.2% | |
CALL_BUILTIN_CLASS | 4,989,340 | 0.7% | 91.9% | |
LOAD_GLOBAL_MODULE | 4,813,120 | 0.7% | 92.6% | |
BUILD_TUPLE | 4,551,600 | 0.7% | 93.3% | |
PUSH_NULL | 4,013,240 | 0.6% | 93.9% | |
INTERPRETER_EXIT | 4,000,220 | 0.6% | 94.5% | |
BINARY_OP_MULTIPLY_FLOAT | 3,999,900 | 0.6% | 95.1% | |
FOR_ITER_RANGE | 3,390,300 | 0.5% | 95.6% | |
GET_ITER | 3,389,000 | 0.5% | 96.1% | |
BINARY_OP_SUBTRACT_FLOAT | 3,200,900 | 0.5% | 96.6% | |
COMPARE_OP_FLOAT | 3,199,920 | 0.5% | 97.1% | |
CALL_BUILTIN_O | 2,412,520 | 0.4% | 97.4% | |
LOAD_ATTR_MODULE | 2,404,480 | 0.4% | 97.8% | |
COMPARE_OP_INT | 1,990,680 | 0.3% | 98.1% | |
BUILD_LIST | 1,600,640 | 0.2% | 98.3% | |
LIST_APPEND | 1,600,480 | 0.2% | 98.6% | |
CALL_NON_PY_GENERAL | 1,600,280 | 0.2% | 98.8% | |
LOAD_FAST_AND_CLEAR | 1,600,160 | 0.2% | 99.0% | |
COPY | 1,600,000 | 0.2% | 99.3% | |
CALL_ISINSTANCE | 800,300 | 0.1% | 99.4% | |
TO_BOOL_BOOL | 800,300 | 0.1% | 99.5% | |
UNARY_NEGATIVE | 800,000 | 0.1% | 99.6% | |
JUMP_FORWARD | 800,000 | 0.1% | 99.8% | |
STORE_FAST_STORE_FAST | 800,000 | 0.1% | 99.9% | |
UNPACK_SEQUENCE_TWO_TUPLE | 799,980 | 0.1% | 100.0% | |
LOAD_ATTR | 11,640 | 0.0% | 100.0% | |
POP_JUMP_IF_NOT_NONE | 4,780 | 0.0% | 100.0% | |
CALL_BOUND_METHOD_GENERAL | 4,380 | 0.0% | 100.0% | |
IS_OP | 4,300 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 4,280 | 0.0% | 100.0% | |
LOAD_ATTR_METHOD_NO_DICT | 4,280 | 0.0% | 100.0% | |
BINARY_SUBSCR | 1,900 | 0.0% | 100.0% | |
JUMP_BACKWARD | 1,800 | 0.0% | 100.0% | |
CALL | 1,520 | 0.0% | 100.0% | |
LOAD_GLOBAL | 1,160 | 0.0% | 100.0% | |
CALL_PY_GENERAL | 460 | 0.0% | 100.0% | |
STORE_ATTR | 360 | 0.0% | 100.0% | |
LOAD_DEREF | 320 | 0.0% | 100.0% | |
COPY_FREE_VARS | 240 | 0.0% | 100.0% | |
RESUME | 220 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_FAST | 160 | 0.0% | 100.0% | 100.0% |
FOR_ITER | 160 | 0.0% | 100.0% | |
CALL_TYPE_1 | 160 | 0.0% | 100.0% | |
LOAD_SUPER_ATTR_METHOD | 160 | 0.0% | 100.0% | |
TO_BOOL_NONE | 140 | 0.0% | 100.0% | |
TO_BOOL | 120 | 0.0% | 100.0% | |
NOP | 80 | 0.0% | 100.0% | |
CALL_FUNCTION_EX | 80 | 0.0% | 100.0% | |
STORE_SUBSCR | 40 | 0.0% | 100.0% | |
UNPACK_SEQUENCE | 40 | 0.0% | 100.0% | |
LOAD_SUPER_ATTR | 20 | 0.0% | 100.0% |
Pair counts for top 100 opcode pairs
Pairs of specialized operations that deoptimize and are then followed by the corresponding unspecialized instruction are not counted as pairs.
Pair | Count | Self | Cumulative |
---|---|---|---|
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 59,594,500 | 8.9% | 8.9% |
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE | 33,600,480 | 5.0% | 13.9% |
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST | 22,605,020 | 3.4% | 17.3% |
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST | 22,400,320 | 3.3% | 20.6% |
RETURN_VALUE STORE_FAST | 17,788,700 | 2.7% | 23.3% |
STORE_FAST LOAD_FAST | 17,614,820 | 2.6% | 25.9% |
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST | 14,401,200 | 2.2% | 28.1% |
LOAD_FAST RETURN_VALUE | 12,009,920 | 1.8% | 29.9% |
RESUME_CHECK LOAD_FAST_LOAD_FAST | 12,000,140 | 1.8% | 31.7% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 11,390,900 | 1.7% | 33.4% |
STORE_ATTR_INSTANCE_VALUE RETURN_CONST | 11,209,580 | 1.7% | 35.0% |
EXIT_INIT_CHECK RETURN_VALUE | 11,200,100 | 1.7% | 36.7% |
RETURN_CONST EXIT_INIT_CHECK | 11,200,100 | 1.7% | 38.4% |
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK | 11,200,100 | 1.7% | 40.1% |
LOAD_CONST BINARY_SUBSCR_TUPLE_INT | 10,399,800 | 1.6% | 41.6% |
STORE_SUBSCR_LIST_INT ENTER_EXECUTOR | 10,399,660 | 1.6% | 43.2% |
RETURN_VALUE LOAD_FAST_LOAD_FAST | 9,600,000 | 1.4% | 44.6% |
ENTER_EXECUTOR CALL_ALLOC_AND_ENTER_INIT | 9,600,000 | 1.4% | 46.0% |
LOAD_FAST_LOAD_FAST STORE_SUBSCR_LIST_INT | 9,600,000 | 1.4% | 47.5% |
LOAD_FAST LOAD_CONST | 8,805,440 | 1.3% | 48.8% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 8,804,640 | 1.3% | 50.1% |
RESUME_CHECK LOAD_FAST | 8,004,880 | 1.2% | 51.3% |
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES | 8,000,720 | 1.2% | 52.5% |
LOAD_CONST BINARY_OP | 8,000,640 | 1.2% | 53.7% |
BINARY_OP_SUBTRACT_INT BINARY_SUBSCR_LIST_INT | 8,000,000 | 1.2% | 54.9% |
BINARY_OP LOAD_FAST | 7,200,360 | 1.1% | 56.0% |
LOAD_FAST_LOAD_FAST LOAD_CONST | 7,200,000 | 1.1% | 57.0% |
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_SUBTRACT_INT | 7,200,000 | 1.1% | 58.1% |
STORE_FAST LOAD_FAST_LOAD_FAST | 6,597,960 | 1.0% | 59.1% |
LOAD_CONST BINARY_OP_SUBTRACT_INT | 6,401,640 | 1.0% | 60.1% |
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS | 6,400,280 | 1.0% | 61.0% |
COMPARE_OP POP_JUMP_IF_FALSE | 6,400,240 | 1.0% | 62.0% |
BINARY_SUBSCR_TUPLE_INT COMPARE_OP | 6,400,000 | 1.0% | 62.9% |
LOAD_ATTR_INSTANCE_VALUE CALL_LEN | 5,789,800 | 0.9% | 63.8% |
POP_JUMP_IF_FALSE LOAD_FAST | 5,625,880 | 0.8% | 64.6% |
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 5,602,840 | 0.8% | 65.5% |
CALL_LEN LOAD_FAST | 5,600,000 | 0.8% | 66.3% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 4,988,600 | 0.7% | 67.0% |
ENTER_EXECUTOR POP_TOP | 4,801,580 | 0.7% | 67.8% |
LOAD_CONST BINARY_OP_ADD_INT | 4,800,700 | 0.7% | 68.5% |
COMPARE_OP POP_JUMP_IF_TRUE | 4,800,520 | 0.7% | 69.2% |
BINARY_OP BINARY_OP_ADD_FLOAT | 4,800,160 | 0.7% | 69.9% |
POP_TOP ENTER_EXECUTOR | 4,800,000 | 0.7% | 70.6% |
BINARY_OP_ADD_FLOAT LOAD_FAST | 4,799,920 | 0.7% | 71.3% |
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST | 4,189,560 | 0.6% | 72.0% |
ENTER_EXECUTOR RETURN_VALUE | 4,178,760 | 0.6% | 72.6% |
PUSH_NULL LOAD_FAST | 4,012,360 | 0.6% | 73.2% |
BUILD_TUPLE RETURN_VALUE | 4,008,280 | 0.6% | 73.8% |
LOAD_FAST BINARY_OP | 4,000,520 | 0.6% | 74.4% |
CACHE RESUME_CHECK | 4,000,140 | 0.6% | 75.0% |
RETURN_VALUE INTERPRETER_EXIT | 4,000,000 | 0.6% | 75.6% |
BINARY_SUBSCR_LIST_INT BUILD_TUPLE | 4,000,000 | 0.6% | 76.2% |
BINARY_SUBSCR_LIST_INT LOAD_FAST | 4,000,000 | 0.6% | 76.8% |
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_BUILTIN | 4,000,000 | 0.6% | 77.4% |
FOR_ITER_RANGE STORE_FAST | 3,390,220 | 0.5% | 77.9% |
CALL_BUILTIN_CLASS GET_ITER | 3,388,860 | 0.5% | 78.4% |
RESUME_CHECK LOAD_GLOBAL_MODULE | 3,204,780 | 0.5% | 78.9% |
BINARY_OP STORE_FAST | 3,201,060 | 0.5% | 79.4% |
BINARY_SUBSCR_LIST_INT COMPARE_OP | 3,200,520 | 0.5% | 79.8% |
POP_JUMP_IF_TRUE LOAD_FAST_LOAD_FAST | 3,200,260 | 0.5% | 80.3% |
BINARY_OP_ADD_INT BINARY_SUBSCR_LIST_INT | 3,200,260 | 0.5% | 80.8% |
COMPARE_OP_FLOAT POP_JUMP_IF_FALSE | 3,199,920 | 0.5% | 81.3% |
BINARY_SUBSCR_TUPLE_INT BINARY_SUBSCR_LIST_INT | 3,199,840 | 0.5% | 81.7% |
LOAD_ATTR_INSTANCE_VALUE COMPARE_OP_FLOAT | 3,199,840 | 0.5% | 82.2% |
LOAD_ATTR_MODULE PUSH_NULL | 2,404,420 | 0.4% | 82.6% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 2,404,340 | 0.4% | 82.9% |
LOAD_FAST CALL_PY_EXACT_ARGS | 2,404,220 | 0.4% | 83.3% |
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST | 2,400,440 | 0.4% | 83.7% |
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_ADD_FLOAT | 2,400,120 | 0.4% | 84.0% |
BINARY_OP_SUBTRACT_INT LOAD_CONST | 2,399,980 | 0.4% | 84.4% |
CALL_BUILTIN_O RETURN_VALUE | 2,399,980 | 0.4% | 84.7% |
BINARY_OP_ADD_FLOAT CALL_BUILTIN_O | 2,399,960 | 0.4% | 85.1% |
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_ADD_FLOAT | 2,399,880 | 0.4% | 85.4% |
COMPARE_OP_INT POP_JUMP_IF_FALSE | 1,800,740 | 0.3% | 85.7% |
LOAD_FAST_LOAD_FAST COMPARE_OP_INT | 1,797,020 | 0.3% | 86.0% |
LOAD_FAST BINARY_SUBSCR_LIST_INT | 1,794,000 | 0.3% | 86.3% |
GET_ITER FOR_ITER_RANGE | 1,788,780 | 0.3% | 86.5% |
BINARY_OP BINARY_OP | 1,608,480 | 0.2% | 86.8% |
LOAD_GLOBAL_MODULE LOAD_FAST | 1,604,380 | 0.2% | 87.0% |
LOAD_ATTR_INSTANCE_VALUE BINARY_OP | 1,601,100 | 0.2% | 87.2% |
BINARY_OP_SUBTRACT_FLOAT LOAD_FAST | 1,600,880 | 0.2% | 87.5% |
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_SUBTRACT_FLOAT | 1,600,800 | 0.2% | 87.7% |
LOAD_FAST CALL_BUILTIN_CLASS | 1,600,200 | 0.2% | 88.0% |
GET_ITER LOAD_FAST_AND_CLEAR | 1,600,160 | 0.2% | 88.2% |
BUILD_LIST SWAP | 1,600,160 | 0.2% | 88.4% |
LOAD_FAST_AND_CLEAR SWAP | 1,600,160 | 0.2% | 88.7% |
SWAP BUILD_LIST | 1,600,160 | 0.2% | 88.9% |
LIST_APPEND ENTER_EXECUTOR | 1,600,140 | 0.2% | 89.2% |
SWAP FOR_ITER_RANGE | 1,600,140 | 0.2% | 89.4% |
CALL_BUILTIN_CLASS STORE_FAST | 1,600,020 | 0.2% | 89.6% |
CALL_NON_PY_GENERAL STORE_FAST | 1,600,020 | 0.2% | 89.9% |
RETURN_VALUE BINARY_OP | 1,600,000 | 0.2% | 90.1% |
LOAD_FAST COPY | 1,600,000 | 0.2% | 90.3% |
LOAD_FAST BINARY_OP_ADD_INT | 1,600,000 | 0.2% | 90.6% |
BINARY_OP_ADD_INT LOAD_FAST | 1,600,000 | 0.2% | 90.8% |
BINARY_OP_ADD_INT CALL_BUILTIN_CLASS | 1,600,000 | 0.2% | 91.1% |
BINARY_OP_SUBTRACT_INT CALL_BUILTIN_CLASS | 1,600,000 | 0.2% | 91.3% |
BINARY_OP_SUBTRACT_INT LOAD_GLOBAL_BUILTIN | 1,600,000 | 0.2% | 91.5% |
BINARY_SUBSCR_LIST_INT LIST_APPEND | 1,600,000 | 0.2% | 91.8% |
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST | 1,600,000 | 0.2% | 92.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 | 4,000,140 | 100.0% |
RESUME | 80 | 0.0% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 1,480 | 77.9% |
BINARY_SUBSCR | 180 | 9.5% |
LOAD_FAST | 120 | 6.3% |
BINARY_SUBSCR_TUPLE_INT | 80 | 4.2% |
LOAD_FAST_LOAD_FAST | 40 | 2.1% |
Successors | Count | Percentage |
---|---|---|
CALL_BOUND_METHOD_GENERAL | 1,240 | 65.3% |
BINARY_SUBSCR | 180 | 9.5% |
BINARY_SUBSCR_LIST_INT | 160 | 8.4% |
BINARY_SUBSCR_TUPLE_INT | 100 | 5.3% |
BINARY_OP | 80 | 4.2% |
Successors and predecessors for EXIT_INIT_CHECK
Predecessors | Count | Percentage |
---|---|---|
RETURN_CONST | 11,200,100 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 11,200,100 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 3,388,860 | 100.0% |
LOAD_FAST | 80 | 0.0% |
CALL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_RANGE | 1,788,780 | 52.8% |
LOAD_FAST_AND_CLEAR | 1,600,160 | 47.2% |
FOR_ITER | 60 | 0.0% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 4,000,000 | 100.0% |
RETURN_CONST | 220 | 0.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_DEREF | 80 | 100.0% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 4,801,580 | 78.1% |
RETURN_CONST | 800,160 | 13.0% |
SWAP | 543,000 | 8.8% |
STORE_FAST | 5,200 | 0.1% |
CALL_NON_PY_GENERAL | 200 | 0.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 4,800,000 | 78.0% |
LOAD_FAST | 805,360 | 13.1% |
RETURN_VALUE | 543,000 | 8.8% |
LOAD_GLOBAL_BUILTIN | 1,360 | 0.0% |
JUMP_BACKWARD | 160 | 0.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 2,404,420 | 59.9% |
BINARY_SUBSCR_LIST_INT | 1,599,960 | 39.9% |
LOAD_FAST | 8,620 | 0.2% |
LOAD_ATTR | 120 | 0.0% |
LOAD_DEREF | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,012,360 | 100.0% |
LOAD_GLOBAL_BUILTIN | 440 | 0.0% |
CALL_NON_PY_GENERAL | 240 | 0.0% |
CALL | 160 | 0.0% |
LOAD_GLOBAL | 40 | 0.0% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 12,009,920 | 33.5% |
EXIT_INIT_CHECK | 11,200,100 | 31.2% |
ENTER_EXECUTOR | 4,178,760 | 11.6% |
BUILD_TUPLE | 4,008,280 | 11.2% |
CALL_BUILTIN_O | 2,399,980 | 6.7% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 17,788,700 | 49.6% |
LOAD_FAST_LOAD_FAST | 9,600,000 | 26.8% |
INTERPRETER_EXIT | 4,000,000 | 11.1% |
BINARY_OP | 1,600,000 | 4.5% |
LOAD_CONST | 800,000 | 2.2% |
Successors and predecessors for STORE_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP | 20 | 50.0% |
BINARY_OP_SUBTRACT_INT | 20 | 50.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 20 | 50.0% |
STORE_SUBSCR_LIST_INT | 20 | 50.0% |
Successors and predecessors for TO_BOOL
Predecessors | Count | Percentage |
---|---|---|
CALL_ISINSTANCE | 60 | 50.0% |
LOAD_FAST | 40 | 33.3% |
CALL | 20 | 16.7% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 60 | 50.0% |
POP_JUMP_IF_FALSE | 20 | 16.7% |
POP_JUMP_IF_TRUE | 20 | 16.7% |
TO_BOOL_NONE | 20 | 16.7% |
Successors and predecessors for UNARY_NEGATIVE
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 799,980 | 100.0% |
LOAD_ATTR | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 800,000 | 100.0% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 8,000,640 | 41.6% |
LOAD_FAST | 4,000,520 | 20.8% |
BINARY_OP | 1,608,480 | 8.4% |
LOAD_ATTR_INSTANCE_VALUE | 1,601,100 | 8.3% |
RETURN_VALUE | 1,600,000 | 8.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 7,200,360 | 37.5% |
BINARY_OP_ADD_FLOAT | 4,800,160 | 25.0% |
STORE_FAST | 3,201,060 | 16.7% |
BINARY_OP | 1,608,480 | 8.4% |
RETURN_VALUE | 800,000 | 4.2% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
SWAP | 1,600,160 | 100.0% |
LOAD_CONST | 480 | 0.0% |
Successors | Count | Percentage |
---|---|---|
SWAP | 1,600,160 | 100.0% |
LOAD_FAST | 480 | 0.0% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 4,000,000 | 87.9% |
RETURN_VALUE | 551,280 | 12.1% |
LOAD_GLOBAL_BUILTIN | 320 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 4,008,280 | 88.1% |
SWAP | 543,000 | 11.9% |
CALL_ISINSTANCE | 280 | 0.0% |
CALL | 40 | 0.0% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 540 | 35.5% |
LOAD_ATTR | 180 | 11.8% |
PUSH_NULL | 160 | 10.5% |
BINARY_OP | 120 | 7.9% |
LOAD_ATTR_METHOD_WITH_VALUES | 100 | 6.6% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 260 | 17.1% |
CALL_BUILTIN_CLASS | 140 | 9.2% |
CALL_PY_EXACT_ARGS | 140 | 9.2% |
RESUME | 120 | 7.9% |
CALL_NON_PY_GENERAL | 120 | 7.9% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
COPY_FREE_VARS | 80 | 100.0% |
Successors and predecessors for COMPARE_OP
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_TUPLE_INT | 6,400,000 | 57.1% |
BINARY_SUBSCR_LIST_INT | 3,200,520 | 28.6% |
LOAD_CONST | 800,120 | 7.1% |
LOAD_FAST | 800,000 | 7.1% |
COMPARE_OP | 3,160 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 6,400,240 | 57.1% |
POP_JUMP_IF_TRUE | 4,800,520 | 42.8% |
COMPARE_OP | 3,160 | 0.0% |
COMPARE_OP_INT | 200 | 0.0% |
COMPARE_OP_FLOAT | 80 | 0.0% |
Successors and predecessors for COPY
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,600,000 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 1,599,920 | 100.0% |
LOAD_ATTR | 80 | 0.0% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CALL_BOUND_METHOD_GENERAL | 140 | 58.3% |
CALL_FUNCTION_EX | 80 | 33.3% |
CALL | 20 | 8.3% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 220 | 91.7% |
RESUME | 20 | 8.3% |
Successors and predecessors for ENTER_EXECUTOR
Predecessors | Count | Percentage |
---|---|---|
STORE_SUBSCR_LIST_INT | 10,399,660 | 55.9% |
POP_TOP | 4,800,000 | 25.8% |
LIST_APPEND | 1,600,140 | 8.6% |
POP_JUMP_IF_TRUE | 1,596,060 | 8.6% |
COMPARE_OP_INT | 189,940 | 1.0% |
Successors | Count | Percentage |
---|---|---|
CALL_ALLOC_AND_ENTER_INIT | 9,600,000 | 51.6% |
POP_TOP | 4,801,580 | 25.8% |
RETURN_VALUE | 4,178,760 | 22.5% |
ENTER_EXECUTOR | 7,840 | 0.0% |
LOAD_FAST | 4,920 | 0.0% |
Successors and predecessors for FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD | 80 | 50.0% |
GET_ITER | 60 | 37.5% |
SWAP | 20 | 12.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 80 | 50.0% |
FOR_ITER_RANGE | 80 | 50.0% |
Successors and predecessors for IS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 4,280 | 99.5% |
LOAD_GLOBAL | 20 | 0.5% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 4,300 | 100.0% |
Successors and predecessors for JUMP_BACKWARD
Predecessors | Count | Percentage |
---|---|---|
LIST_APPEND | 340 | 18.9% |
POP_JUMP_IF_FALSE | 340 | 18.9% |
STORE_FAST | 340 | 18.9% |
STORE_SUBSCR_LIST_INT | 320 | 17.8% |
POP_JUMP_IF_TRUE | 280 | 15.6% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_RANGE | 1,300 | 72.2% |
LOAD_FAST | 340 | 18.9% |
FOR_ITER | 80 | 4.4% |
POP_JUMP_IF_FALSE | 40 | 2.2% |
POP_TOP | 20 | 1.1% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 799,980 | 100.0% |
STORE_ATTR | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 800,000 | 100.0% |
Successors and predecessors for LIST_APPEND
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 1,600,000 | 100.0% |
BINARY_OP | 480 | 0.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 1,600,140 | 100.0% |
JUMP_BACKWARD | 340 | 0.0% |
Successors and predecessors for LOAD_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 10,920 | 93.8% |
LOAD_ATTR | 240 | 2.1% |
LOAD_GLOBAL | 140 | 1.2% |
LOAD_GLOBAL_MODULE | 140 | 1.2% |
COPY | 80 | 0.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,900 | 42.1% |
STORE_FAST | 4,320 | 37.1% |
LOAD_ATTR_INSTANCE_VALUE | 1,100 | 9.5% |
BINARY_OP | 300 | 2.6% |
LOAD_ATTR | 240 | 2.1% |
Successors and predecessors for LOAD_CONST
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 14,401,200 | 41.6% |
LOAD_FAST | 8,805,440 | 25.5% |
LOAD_FAST_LOAD_FAST | 7,200,000 | 20.8% |
BINARY_OP_SUBTRACT_INT | 2,399,980 | 6.9% |
RETURN_VALUE | 800,000 | 2.3% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_TUPLE_INT | 10,399,800 | 30.1% |
BINARY_OP | 8,000,640 | 23.1% |
BINARY_OP_SUBTRACT_INT | 6,401,640 | 18.5% |
BINARY_OP_ADD_INT | 4,800,700 | 13.9% |
BINARY_OP_ADD_FLOAT | 1,599,920 | 4.6% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 160 | 50.0% |
NOP | 80 | 25.0% |
STORE_FAST | 80 | 25.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 160 | 50.0% |
PUSH_NULL | 80 | 25.0% |
STORE_FAST | 80 | 25.0% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 22,605,020 | 21.8% |
STORE_FAST | 17,614,820 | 17.0% |
LOAD_GLOBAL_BUILTIN | 11,390,900 | 11.0% |
RESUME_CHECK | 8,004,880 | 7.7% |
BINARY_OP | 7,200,360 | 6.9% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 59,594,500 | 57.4% |
RETURN_VALUE | 12,009,920 | 11.6% |
LOAD_CONST | 8,805,440 | 8.5% |
LOAD_ATTR_METHOD_WITH_VALUES | 8,000,720 | 7.7% |
BINARY_OP | 4,000,520 | 3.9% |
Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 1,600,160 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SWAP | 1,600,160 | 100.0% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 22,400,320 | 35.7% |
RESUME_CHECK | 12,000,140 | 19.1% |
RETURN_VALUE | 9,600,000 | 15.3% |
STORE_FAST | 6,597,960 | 10.5% |
POP_JUMP_IF_FALSE | 4,189,560 | 6.7% |
Successors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 33,600,480 | 53.5% |
STORE_SUBSCR_LIST_INT | 9,600,000 | 15.3% |
LOAD_CONST | 7,200,000 | 11.5% |
LOAD_ATTR_INSTANCE_VALUE | 5,602,840 | 8.9% |
COMPARE_OP_INT | 1,797,020 | 2.9% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 200 | 17.2% |
LOAD_FAST | 160 | 13.8% |
RESUME | 140 | 12.1% |
LOAD_GLOBAL_BUILTIN | 140 | 12.1% |
RESUME_CHECK | 140 | 12.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 440 | 37.9% |
LOAD_FAST | 260 | 22.4% |
LOAD_GLOBAL_MODULE | 260 | 22.4% |
LOAD_ATTR | 140 | 12.1% |
CALL | 20 | 1.7% |
Successors and predecessors for LOAD_SUPER_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 20 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_SUPER_ATTR_METHOD | 20 | 100.0% |
Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP | 6,400,240 | 56.1% |
COMPARE_OP_FLOAT | 3,199,920 | 28.0% |
COMPARE_OP_INT | 1,800,740 | 15.8% |
IS_OP | 4,300 | 0.0% |
ENTER_EXECUTOR | 2,520 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,625,880 | 49.3% |
LOAD_FAST_LOAD_FAST | 4,189,560 | 36.7% |
LOAD_CONST | 800,000 | 7.0% |
RETURN_CONST | 790,720 | 6.9% |
ENTER_EXECUTOR | 1,180 | 0.0% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,780 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,780 | 100.0% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP | 4,800,520 | 85.7% |
TO_BOOL_BOOL | 800,140 | 14.3% |
TO_BOOL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 3,200,260 | 57.1% |
ENTER_EXECUTOR | 1,596,060 | 28.5% |
LOAD_GLOBAL_MODULE | 799,960 | 14.3% |
LOAD_FAST | 3,920 | 0.1% |
JUMP_BACKWARD | 280 | 0.0% |
Successors and predecessors for RETURN_CONST
Predecessors | Count | Percentage |
---|---|---|
STORE_ATTR_INSTANCE_VALUE | 11,209,580 | 93.4% |
POP_JUMP_IF_FALSE | 790,720 | 6.6% |
STORE_ATTR | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
EXIT_INIT_CHECK | 11,200,100 | 93.3% |
POP_TOP | 800,160 | 6.7% |
INTERPRETER_EXIT | 220 | 0.0% |
Successors and predecessors for STORE_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 240 | 66.7% |
SWAP | 80 | 22.2% |
STORE_ATTR | 40 | 11.1% |
Successors | Count | Percentage |
---|---|---|
RETURN_CONST | 180 | 50.0% |
STORE_ATTR_INSTANCE_VALUE | 80 | 22.2% |
LOAD_FAST | 40 | 11.1% |
STORE_ATTR | 40 | 11.1% |
JUMP_FORWARD | 20 | 5.6% |
Successors and predecessors for STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 17,788,700 | 60.5% |
FOR_ITER_RANGE | 3,390,220 | 11.5% |
BINARY_OP | 3,201,060 | 10.9% |
CALL_BUILTIN_CLASS | 1,600,020 | 5.4% |
CALL_NON_PY_GENERAL | 1,600,020 | 5.4% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 17,614,820 | 59.9% |
LOAD_FAST_LOAD_FAST | 6,597,960 | 22.4% |
LOAD_GLOBAL_BUILTIN | 4,988,600 | 17.0% |
LOAD_CONST | 189,080 | 0.6% |
POP_TOP | 5,200 | 0.0% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 799,980 | 100.0% |
UNPACK_SEQUENCE | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 800,000 | 100.0% |
Successors and predecessors for SWAP
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 1,600,160 | 29.9% |
LOAD_FAST_AND_CLEAR | 1,600,160 | 29.9% |
BINARY_OP_ADD_FLOAT | 1,599,960 | 29.9% |
BUILD_TUPLE | 543,000 | 10.2% |
BINARY_OP | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BUILD_LIST | 1,600,160 | 29.9% |
FOR_ITER_RANGE | 1,600,140 | 29.9% |
STORE_ATTR_INSTANCE_VALUE | 1,599,920 | 29.9% |
POP_TOP | 543,000 | 10.2% |
STORE_ATTR | 80 | 0.0% |
Successors and predecessors for UNPACK_SEQUENCE
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 40 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 20 | 50.0% |
UNPACK_SEQUENCE_TWO_TUPLE | 20 | 50.0% |
Successors and predecessors for RESUME
Predecessors | Count | Percentage |
---|---|---|
CALL | 120 | 54.5% |
CACHE | 80 | 36.4% |
COPY_FREE_VARS | 20 | 9.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL | 140 | 63.6% |
LOAD_FAST | 60 | 27.3% |
LOAD_FAST_LOAD_FAST | 20 | 9.1% |
Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP | 4,800,160 | 42.9% |
LOAD_ATTR_INSTANCE_VALUE | 2,400,120 | 21.4% |
BINARY_OP_MULTIPLY_FLOAT | 2,399,880 | 21.4% |
LOAD_CONST | 1,599,920 | 14.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,799,920 | 42.9% |
CALL_BUILTIN_O | 2,399,960 | 21.4% |
SWAP | 1,599,960 | 14.3% |
STORE_FAST | 799,980 | 7.1% |
CALL_ALLOC_AND_ENTER_INIT | 799,960 | 7.1% |
Successors and predecessors for BINARY_OP_ADD_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 4,800,700 | 72.8% |
LOAD_FAST | 1,600,000 | 24.3% |
BINARY_SUBSCR_LIST_INT | 191,240 | 2.9% |
BINARY_OP | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 3,200,260 | 48.5% |
LOAD_FAST | 1,600,000 | 24.3% |
CALL_BUILTIN_CLASS | 1,600,000 | 24.3% |
COMPARE_OP_INT | 188,880 | 2.9% |
STORE_FAST | 2,380 | 0.0% |
Successors and predecessors for BINARY_OP_MULTIPLY_FLOAT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_SUBTRACT_FLOAT | 1,599,920 | 40.0% |
LOAD_ATTR_INSTANCE_VALUE | 1,599,920 | 40.0% |
LOAD_FAST_LOAD_FAST | 799,960 | 20.0% |
BINARY_OP | 100 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_FLOAT | 2,399,880 | 60.0% |
LOAD_FAST | 1,599,960 | 40.0% |
BINARY_OP | 60 | 0.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 1,600,800 | 50.0% |
LOAD_CONST | 1,599,920 | 50.0% |
BINARY_OP | 140 | 0.0% |
LOAD_FAST | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,600,880 | 50.0% |
BINARY_OP_MULTIPLY_FLOAT | 1,599,920 | 50.0% |
STORE_FAST | 60 | 0.0% |
BINARY_OP | 40 | 0.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 7,200,000 | 47.4% |
LOAD_CONST | 6,401,640 | 42.1% |
LOAD_FAST_LOAD_FAST | 1,599,920 | 10.5% |
BINARY_OP | 100 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 8,000,000 | 52.6% |
LOAD_CONST | 2,399,980 | 15.8% |
CALL_BUILTIN_CLASS | 1,600,000 | 10.5% |
LOAD_GLOBAL_BUILTIN | 1,600,000 | 10.5% |
STORE_FAST | 800,440 | 5.3% |
Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_SUBTRACT_INT | 8,000,000 | 47.1% |
BINARY_OP_ADD_INT | 3,200,260 | 18.8% |
BINARY_SUBSCR_TUPLE_INT | 3,199,840 | 18.8% |
LOAD_FAST | 1,794,000 | 10.6% |
LOAD_FAST_LOAD_FAST | 799,960 | 4.7% |
Successors | Count | Percentage |
---|---|---|
BUILD_TUPLE | 4,000,000 | 23.5% |
LOAD_FAST | 4,000,000 | 23.5% |
COMPARE_OP | 3,200,520 | 18.8% |
LIST_APPEND | 1,600,000 | 9.4% |
PUSH_NULL | 1,599,960 | 9.4% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 10,399,800 | 100.0% |
BINARY_SUBSCR | 100 | 0.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP | 6,400,000 | 61.5% |
BINARY_SUBSCR_LIST_INT | 3,199,840 | 30.8% |
BINARY_OP | 799,980 | 7.7% |
BINARY_SUBSCR | 80 | 0.0% |
Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 9,600,000 | 85.7% |
BINARY_OP | 799,960 | 7.1% |
BINARY_OP_ADD_FLOAT | 799,960 | 7.1% |
LOAD_CONST | 120 | 0.0% |
CALL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 11,200,100 | 100.0% |
Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_LIST_INT | 2,500 | 57.1% |
BINARY_SUBSCR | 1,240 | 28.3% |
BINARY_OP_ADD_INT | 440 | 10.0% |
LOAD_FAST | 120 | 2.7% |
CALL | 80 | 1.8% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 4,240 | 96.8% |
COPY_FREE_VARS | 140 | 3.2% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,600,200 | 32.1% |
BINARY_OP_ADD_INT | 1,600,000 | 32.1% |
BINARY_OP_SUBTRACT_INT | 1,600,000 | 32.1% |
CALL_LEN | 188,560 | 3.8% |
LOAD_ATTR_INSTANCE_VALUE | 440 | 0.0% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 3,388,860 | 67.9% |
STORE_FAST | 1,600,020 | 32.1% |
LOAD_CONST | 460 | 0.0% |
Successors and predecessors for CALL_BUILTIN_O
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_FLOAT | 2,399,960 | 99.5% |
LOAD_FAST | 12,480 | 0.5% |
CALL | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,399,980 | 99.5% |
STORE_FAST | 12,540 | 0.5% |
Successors and predecessors for CALL_ISINSTANCE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 799,960 | 100.0% |
BUILD_TUPLE | 280 | 0.0% |
CALL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 800,240 | 100.0% |
TO_BOOL | 60 | 0.0% |
Successors and predecessors for CALL_LEN
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 5,789,800 | 100.0% |
CALL | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,600,000 | 96.7% |
CALL_BUILTIN_CLASS | 188,560 | 3.3% |
LOAD_CONST | 1,260 | 0.0% |
CALL | 20 | 0.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 140 | 87.5% |
CALL | 20 | 12.5% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 160 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 4,260 | 99.5% |
CALL | 20 | 0.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 4,280 | 100.0% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 799,960 | 50.0% |
BINARY_OP_ADD_FLOAT | 799,960 | 50.0% |
PUSH_NULL | 240 | 0.0% |
CALL | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,600,020 | 100.0% |
POP_TOP | 200 | 0.0% |
LOAD_FAST | 60 | 0.0% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_WITH_VALUES | 6,400,280 | 72.7% |
LOAD_FAST | 2,404,220 | 27.3% |
CALL | 140 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 8,804,640 | 100.0% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 440 | 95.7% |
CALL | 20 | 4.3% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 460 | 100.0% |
Successors and predecessors for CALL_TYPE_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST | 140 | 87.5% |
CALL | 20 | 12.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 140 | 87.5% |
LOAD_GLOBAL | 20 | 12.5% |
Successors and predecessors for COMPARE_OP_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 3,199,840 | 100.0% |
COMPARE_OP | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 3,199,920 | 100.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 1,797,020 | 90.3% |
BINARY_OP_ADD_INT | 188,880 | 9.5% |
LOAD_CONST | 4,580 | 0.2% |
COMPARE_OP | 200 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 1,800,740 | 90.5% |
ENTER_EXECUTOR | 189,940 | 9.5% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 1,788,780 | 52.8% |
SWAP | 1,600,140 | 47.2% |
JUMP_BACKWARD | 1,300 | 0.0% |
FOR_ITER | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 3,390,220 | 100.0% |
LOAD_FAST | 80 | 0.0% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 59,594,500 | 89.2% |
LOAD_FAST_LOAD_FAST | 5,602,840 | 8.4% |
COPY | 1,599,920 | 2.4% |
LOAD_ATTR | 1,100 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 22,605,020 | 33.8% |
LOAD_CONST | 14,401,200 | 21.6% |
BINARY_OP_SUBTRACT_INT | 7,200,000 | 10.8% |
CALL_LEN | 5,789,800 | 8.7% |
LOAD_GLOBAL_BUILTIN | 4,000,000 | 6.0% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,260 | 99.5% |
LOAD_ATTR | 20 | 0.5% |
Successors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 4,260 | 99.5% |
CALL | 20 | 0.5% |
Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,000,720 | 90.9% |
BINARY_SUBSCR_LIST_INT | 799,960 | 9.1% |
LOAD_ATTR | 140 | 0.0% |
Successors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 6,400,280 | 72.7% |
LOAD_FAST | 2,400,440 | 27.3% |
CALL | 100 | 0.0% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 2,404,340 | 100.0% |
LOAD_ATTR | 140 | 0.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 2,404,420 | 100.0% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 4,988,600 | 43.1% |
LOAD_ATTR_INSTANCE_VALUE | 4,000,000 | 34.5% |
BINARY_OP_SUBTRACT_INT | 1,600,000 | 13.8% |
RESUME_CHECK | 799,960 | 6.9% |
LOAD_GLOBAL_BUILTIN | 189,400 | 1.6% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 11,390,900 | 98.4% |
LOAD_GLOBAL_BUILTIN | 189,400 | 1.6% |
BUILD_TUPLE | 320 | 0.0% |
LOAD_CONST | 160 | 0.0% |
LOAD_DEREF | 160 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 3,204,780 | 66.6% |
LOAD_FAST | 806,720 | 16.8% |
POP_JUMP_IF_TRUE | 799,960 | 16.6% |
BINARY_OP_SUBTRACT_INT | 1,240 | 0.0% |
LOAD_GLOBAL | 260 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 2,404,340 | 50.0% |
LOAD_FAST | 1,604,380 | 33.3% |
CALL_ISINSTANCE | 799,960 | 16.6% |
IS_OP | 4,280 | 0.1% |
LOAD_ATTR | 140 | 0.0% |
Successors and predecessors for LOAD_SUPER_ATTR_METHOD
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 140 | 87.5% |
LOAD_SUPER_ATTR | 20 | 12.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 160 | 100.0% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CALL_ALLOC_AND_ENTER_INIT | 11,200,100 | 46.6% |
CALL_PY_EXACT_ARGS | 8,804,640 | 36.7% |
CACHE | 4,000,140 | 16.7% |
CALL_BOUND_METHOD_GENERAL | 4,240 | 0.0% |
CALL_PY_GENERAL | 460 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 12,000,140 | 50.0% |
LOAD_FAST | 8,004,880 | 33.3% |
LOAD_GLOBAL_MODULE | 3,204,780 | 13.3% |
LOAD_GLOBAL_BUILTIN | 799,960 | 3.3% |
LOAD_GLOBAL | 140 | 0.0% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 33,600,480 | 95.4% |
SWAP | 1,599,920 | 4.5% |
LOAD_FAST | 9,840 | 0.0% |
STORE_ATTR | 80 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 22,400,320 | 63.6% |
RETURN_CONST | 11,209,580 | 31.8% |
LOAD_FAST | 800,440 | 2.3% |
JUMP_FORWARD | 799,980 | 2.3% |
Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 9,600,000 | 92.3% |
BINARY_OP_SUBTRACT_INT | 799,960 | 7.7% |
STORE_SUBSCR | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 10,399,660 | 100.0% |
JUMP_BACKWARD | 320 | 0.0% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
CALL_ISINSTANCE | 800,240 | 100.0% |
TO_BOOL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 800,140 | 100.0% |
POP_JUMP_IF_FALSE | 160 | 0.0% |
Successors and predecessors for TO_BOOL_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 120 | 85.7% |
TO_BOOL | 20 | 14.3% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 140 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 799,960 | 100.0% |
UNPACK_SEQUENCE | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 799,980 | 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. |
19,202,400 | 32.3% |
hit
ⓘSpecialized instructions that complete. |
40,194,540 | 67.7% |
Success | Count | Ratio |
---|---|---|
Success | 640 | 7.2% |
Failure | 8,300 | 92.8% |
Failure kind | Count | Ratio |
---|---|---|
multiply different types | 2,720 | 32.8% |
power | 2,340 | 28.2% |
true divide float | 1,640 | 19.8% |
add different types | 380 | 4.6% |
add other | 380 | 4.6% |
subtract other | 380 | 4.6% |
true divide other | 380 | 4.6% |
true divide different types | 80 | 1.0% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,540 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
27,394,120 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 260 | 72.2% |
Failure | 100 | 27.8% |
Failure kind | Count | Ratio |
---|---|---|
out of range | 100 | 100.0% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
880 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
34,001,180 | 100.0% |
miss
ⓘSpecialized instructions that deopt. |
160 | 0.0% |
Success | Count | Ratio |
---|---|---|
Success | 800 | 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. |
11,200,760 | 68.3% |
hit
ⓘSpecialized instructions that complete. |
5,190,600 | 31.7% |
Success | Count | Ratio |
---|---|---|
Success | 280 | 8.1% |
Failure | 3,160 | 91.9% |
Failure kind | Count | Ratio |
---|---|---|
float long | 3,160 | 100.0% |
specialization stats for FOR_ITER family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
80 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
3,390,300 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 80 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
10,000 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
78,007,940 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 1,400 | 85.4% |
Failure | 240 | 14.6% |
Failure kind | Count | Ratio |
---|---|---|
method | 120 | 50.0% |
not managed dict | 120 | 50.0% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
460 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
16,394,200 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 700 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for LOAD_SUPER_ATTR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
160 | 88.9% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for POP_JUMP_IF_FALSE family
specialization stats for POP_JUMP_IF_NOT_NONE family
specialization stats for POP_JUMP_IF_TRUE 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. |
35,210,320 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 80 | 66.7% |
Failure | 40 | 33.3% |
Failure kind | Count | Ratio |
---|---|---|
non string or split | 40 | 100.0% |
specialization stats for STORE_SUBSCR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
20 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
10,399,980 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 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. |
40 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
800,440 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 80 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
20 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
799,980 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 100.0% |
Failure | 0 | 0.0% |
specialization effectiveness
All entries are execution counts. Should add up to the total number of Tier 1 instructions executed.
Instructions | Count | Ratio |
---|---|---|
Basic
ⓘInstructions that are not and cannot be specialized, e.g. |
344,594,860 | 51.5% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
47,446,040 | 7.1% |
Specialized hits
ⓘSpecialized instructions, e.g. |
277,398,780 | 41.4% |
Specialized misses
ⓘSpecialized instructions, e.g. |
160 | 0.0% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
BINARY_OP | 19,202,400 | 63.1% |
COMPARE_OP | 11,200,760 | 36.8% |
LOAD_ATTR | 10,000 | 0.0% |
BINARY_SUBSCR | 1,540 | 0.0% |
CALL | 880 | 0.0% |
LOAD_GLOBAL | 460 | 0.0% |
STORE_ATTR | 240 | 0.0% |
FOR_ITER | 80 | 0.0% |
TO_BOOL | 40 | 0.0% |
STORE_SUBSCR | 20 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
Name | Count | Ratio |
---|---|---|
CALL_METHOD_DESCRIPTOR_FAST | 160 | 100.0% |
CACHE | 0 | 0.0% |
EXIT_INIT_CHECK | 0 | 0.0% |
GET_ITER | 0 | 0.0% |
INTERPRETER_EXIT | 0 | 0.0% |
NOP | 0 | 0.0% |
POP_TOP | 0 | 0.0% |
PUSH_NULL | 0 | 0.0% |
RETURN_VALUE | 0 | 0.0% |
UNARY_NEGATIVE | 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 | 4,000,220 | 10.4% |
Calls to Python functions inlined | 34,400,340 | 89.6% |
Calls via PyEval_EvalFrame (total) | 4,000,220 | 10.4% |
Calls via PyEval_EvalFrame (vector) | 4,000,220 | 10.4% |
Calls via PyEval_EvalFrame (generator) | 0 | 0.0% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 4,000,220 | 10.4% |
Calls via PyEval_EvalFrame (build class) | 0 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 2,400,000 | 6.2% |
Calls via PyEval_EvalFrame (function ex) | 80 | 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 | 49,600,660 | 129.2% |
Allocations, frees and dict materializatons
Below, "allocations" means "allocations that are not from a freelist". Total allocations = "Allocations from freelist" + "Allocations".
"Inline values" is the number of values arrays inlined into objects.
The cache hit/miss numbers are for the MRO cache, split into dunder and other names.
Count | Ratio | |
---|---|---|
Allocations from freelist | 135,253,280 | 79.7% |
Frees to freelist | 135,254,900 | |
Allocations | 34,472,680 | 20.3% |
Allocations to 512 bytes | 34,431,540 | 20.3% |
Allocations to 4 kbytes | 41,120 | 0.0% |
Allocations over 4 kbytes | 20 | 0.0% |
Frees | 36,070,908 | |
Inline values | 11,200,160 | |
Interpreter increfs | 771,987,460 | 96.9% |
Interpreter decrefs | 901,591,240 | 93.3% |
Increfs | 24,805,076 | 3.1% |
Decrefs | 64,844,425 | 6.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 | 3,203,079 | |
Method cache misses | 181 | |
Method cache collisions | 209 | |
Method cache dunder hits | 4,000,699 | |
Method cache dunder misses | 61 |
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. |
5,260 | |
Traces created
ⓘThe number of traces that were successfully created. |
240 | 4.6% |
Trace stack overflow
ⓘA trace is truncated because it would require more than 5 stack frames. |
0 | 0.0% |
Trace stack underflow
ⓘA potential trace is abandoned because it pops more frames than it pushes. |
1,640 | 31.2% |
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. |
5,020 | 95.4% |
Inner loop found
ⓘA trace is truncated because it has an inner loop |
1,200 | 22.8% |
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. |
40 | 0.8% |
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 |
43,739,680 | |
Uops executed
ⓘThe total number of uops (micro-operations) that were executed |
1,917,287,620 | 4,383.4% |
Count | Ratio | |
---|---|---|
Optimizer attempts
ⓘThe number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run. |
240 | |
Optimizer successes
ⓘThe number of traces that were successfully optimized. |
240 | 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 | 20 | 8.3% |
<= 16 | 20 | 8.3% |
<= 32 | 100 | 41.7% |
<= 64 | 20 | 8.3% |
<= 128 | 20 | 8.3% |
<= 256 | 40 | 16.7% |
<= 512 | 20 | 8.3% |
optimized trace length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 20 | 8.3% |
<= 8 | 20 | 8.3% |
<= 16 | 80 | 33.3% |
<= 32 | 40 | 16.7% |
<= 64 | 0 | 0.0% |
<= 128 | 60 | 25.0% |
<= 256 | 20 | 8.3% |
trace run length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 784,700 | 1.8% |
<= 8 | 9,609,840 | 22.0% |
<= 16 | 1,228,720 | 2.8% |
<= 32 | 348,000 | 0.8% |
<= 64 | 20 | 0.0% |
<= 128 | 2,771,440 | 6.3% |
<= 256 | 10,399,520 | 23.8% |
<= 512 | 0 | 0.0% |
<= 1,024 | 0 | 0.0% |
<= 2,048 | 0 | 0.0% |
<= 4,096 | 160 | 0.0% |
uop execution stats
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
_GUARD_TYPE_VERSION | 118,272,720 | 6.2% | 6.2% | |
_CHECK_MANAGED_OBJECT_HAS_VALUES | 105,477,980 | 5.5% | 11.7% | |
_LOAD_ATTR_INSTANCE_VALUE_0 | 105,477,980 | 5.5% | 17.2% | |
_LOAD_FAST | 96,799,520 | 5.0% | 22.2% | |
_LOAD_FAST_0 | 79,869,380 | 4.2% | 26.4% | |
_BINARY_OP_SUBTRACT_INT | 76,813,600 | 4.0% | 30.4% | |
_LOAD_FAST_3 | 73,612,320 | 3.8% | 34.2% | |
_SET_IP | 73,285,420 | 3.8% | 38.1% | |
_CHECK_VALIDITY | 61,290,200 | 3.2% | 41.3% | |
_LOAD_FAST_1 | 59,845,700 | 3.1% | 44.4% | |
_BINARY_OP_ADD_INT | 58,133,860 | 3.0% | 47.4% | |
_BINARY_OP_MULTIPLY_FLOAT | 57,600,000 | 3.0% | 50.4% | |
_LOAD_CONST_INLINE_BORROW | 50,789,200 | 2.6% | 53.1% | |
_BINARY_SUBSCR_LIST_INT | 49,642,740 | 2.6% | 55.6% | |
_STORE_FAST | 48,799,520 | 2.5% | 58.2% | |
_LOAD_FAST_4 | 42,378,060 | 2.2% | 60.4% | |
_BINARY_OP | 40,039,520 | 2.1% | 62.5% | |
_GUARD_NOS_FLOAT | 38,400,000 | 2.0% | 64.5% | |
_LOAD_FAST_2 | 36,644,280 | 1.9% | 66.4% | |
_GUARD_NOT_EXHAUSTED_RANGE | 30,384,580 | 1.6% | 68.0% | 26.4% |
_ITER_CHECK_RANGE | 30,384,580 | 1.6% | 69.6% | |
_GUARD_TOS_INT | 29,392,160 | 1.5% | 71.1% | |
_BINARY_OP_ADD_FLOAT | 28,800,000 | 1.5% | 72.6% | |
_GUARD_BOTH_INT | 27,023,040 | 1.4% | 74.0% | |
_EXIT_TRACE | 25,142,400 | 1.3% | 75.3% | |
_START_EXECUTOR | 25,142,400 | 1.3% | 76.6% | |
_LOAD_FAST_7 | 24,000,000 | 1.3% | 77.9% | |
_TIER2_RESUME_CHECK | 23,660,380 | 1.2% | 79.1% | |
_STORE_FAST_4 | 22,386,520 | 1.2% | 80.3% | |
_ITER_NEXT_RANGE | 22,369,380 | 1.2% | 81.5% | |
_LOAD_FAST_5 | 20,800,000 | 1.1% | 82.5% | |
_GUARD_BOTH_FLOAT | 20,799,040 | 1.1% | 83.6% | |
_LOAD_FAST_6 | 19,200,000 | 1.0% | 84.6% | |
_COLD_EXIT | 18,597,280 | 1.0% | 85.6% | |
_RESUME_CHECK | 14,390,440 | 0.8% | 86.4% | |
_PUSH_FRAME | 14,390,440 | 0.8% | 87.1% | |
_SAVE_RETURN_OFFSET | 14,390,440 | 0.8% | 87.9% | |
_CHECK_PERIODIC | 13,398,820 | 0.7% | 88.6% | |
_CHECK_FUNCTION_EXACT_ARGS | 11,995,220 | 0.6% | 89.2% | |
_LOAD_CONST_INLINE_WITH_NULL | 11,820,700 | 0.6% | 89.8% | |
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT | 11,199,040 | 0.6% | 90.4% | |
_GUARD_KEYS_VERSION | 11,199,040 | 0.6% | 91.0% | |
_LOAD_ATTR_METHOD_WITH_VALUES | 11,199,040 | 0.6% | 91.5% | |
_CHECK_STACK_SPACE_OPERAND | 9,600,000 | 0.5% | 92.0% | |
_GUARD_IS_NOT_NONE_POP | 9,600,000 | 0.5% | 92.5% | |
_INIT_CALL_PY_EXACT_ARGS_3 | 9,600,000 | 0.5% | 93.1% | |
_CALL_BUILTIN_CLASS | 7,810,920 | 0.4% | 93.5% | |
_LOAD_CONST_INLINE_BORROW_WITH_NULL | 7,810,920 | 0.4% | 93.9% | |
_CHECK_VALIDITY_AND_SET_IP | 7,636,400 | 0.4% | 94.3% | |
_CHECK_FUNCTION | 7,191,880 | 0.4% | 94.6% | |
_GET_ITER | 7,011,400 | 0.4% | 95.0% | |
_COMPARE_OP_INT | 6,399,320 | 0.3% | 95.3% | |
_GUARD_IS_FALSE_POP | 5,916,800 | 0.3% | 95.6% | 26.0% |
_JUMP_TO_TOP | 5,591,020 | 0.3% | 95.9% | |
_POP_TOP | 5,050,520 | 0.3% | 96.2% | |
_LIST_APPEND | 4,840,480 | 0.3% | 96.5% | |
_STORE_FAST_7 | 4,800,000 | 0.3% | 96.7% | |
_STORE_FAST_3 | 4,724,600 | 0.2% | 97.0% | |
_GUARD_IS_TRUE_POP | 4,517,240 | 0.2% | 97.2% | 3.8% |
_PUSH_NULL | 3,992,200 | 0.2% | 97.4% | |
_CALL_BUILTIN_O | 3,992,200 | 0.2% | 97.6% | |
_CHECK_PEP_523 | 3,194,740 | 0.2% | 97.8% | |
_LOAD_ATTR | 3,191,400 | 0.2% | 97.9% | |
_LOAD_CONST | 3,006,620 | 0.2% | 98.1% | |
_STORE_FAST_2 | 2,812,060 | 0.1% | 98.2% | |
_CHECK_STACK_SPACE | 2,395,220 | 0.1% | 98.4% | |
_GUARD_IS_NONE_POP | 2,395,220 | 0.1% | 98.5% | |
_PY_FRAME_GENERAL | 2,395,220 | 0.1% | 98.6% | |
_COMPARE_OP | 2,251,640 | 0.1% | 98.7% | |
_POP_FRAME | 1,720,240 | 0.1% | 98.8% | |
_STORE_FAST_6 | 1,640,480 | 0.1% | 98.9% | |
_GUARD_NOS_INT | 1,613,600 | 0.1% | 99.0% | |
_STORE_FAST_5 | 1,600,000 | 0.1% | 99.1% | |
_BINARY_OP_SUBTRACT_FLOAT | 1,599,040 | 0.1% | 99.2% | |
_IS_OP | 1,595,700 | 0.1% | 99.2% | |
_CALL_METHOD_DESCRIPTOR_NOARGS | 1,595,700 | 0.1% | 99.3% | |
_CHECK_METHOD_VERSION | 1,595,700 | 0.1% | 99.4% | |
_EXPAND_METHOD | 1,595,700 | 0.1% | 99.5% | |
_INIT_CALL_PY_EXACT_ARGS_1 | 1,595,700 | 0.1% | 99.6% | |
_LOAD_ATTR_METHOD_NO_DICT | 1,595,700 | 0.1% | 99.7% | |
_LOAD_CONST_INLINE | 1,595,700 | 0.1% | 99.7% | |
_CHECK_ATTR_MODULE | 799,520 | 0.0% | 99.8% | |
_CHECK_FUNCTION_VERSION | 799,520 | 0.0% | 99.8% | |
_INIT_CALL_PY_EXACT_ARGS_0 | 799,520 | 0.0% | 99.9% | |
_LOAD_ATTR_MODULE | 799,520 | 0.0% | 99.9% | |
_CALL_LEN | 625,000 | 0.0% | 99.9% | |
_STORE_FAST_1 | 611,400 | 0.0% | 100.0% | |
_BUILD_TUPLE | 248,720 | 0.0% | 100.0% | |
_SWAP | 242,120 | 0.0% | 100.0% | |
_BUILD_LIST | 40,480 | 0.0% | 100.0% | |
_BINARY_SUBSCR | 13,600 | 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_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 | 105,477,980 | 5.5% | 5.5% |
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES | 105,477,980 | 5.5% | 11.0% |
_LOAD_FAST_0 _GUARD_TYPE_VERSION | 76,677,980 | 4.0% | 15.0% |
_SET_IP _BINARY_OP | 40,039,520 | 2.1% | 17.1% |
_BINARY_OP _CHECK_VALIDITY | 40,039,520 | 2.1% | 19.2% |
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_3 | 38,442,740 | 2.0% | 21.2% |
_GUARD_NOS_FLOAT _BINARY_OP_MULTIPLY_FLOAT | 38,400,000 | 2.0% | 23.2% |
_LOAD_FAST_1 _GUARD_TYPE_VERSION | 31,994,740 | 1.7% | 24.9% |
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE | 30,384,580 | 1.6% | 26.4% |
_BINARY_OP_MULTIPLY_FLOAT _BINARY_OP_ADD_FLOAT | 28,800,000 | 1.5% | 27.9% |
_BINARY_OP_MULTIPLY_FLOAT _LOAD_FAST_1 | 28,800,000 | 1.5% | 29.4% |
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_2 | 28,800,000 | 1.5% | 30.9% |
_LOAD_FAST _LOAD_FAST | 28,800,000 | 1.5% | 32.4% |
_LOAD_CONST_INLINE_BORROW _BINARY_OP_ADD_INT | 25,125,820 | 1.3% | 33.8% |
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE | 23,373,180 | 1.2% | 35.0% |
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE | 22,369,380 | 1.2% | 36.1% |
_LOAD_FAST _SET_IP | 19,999,520 | 1.0% | 37.2% |
_GUARD_TOS_INT _BINARY_OP_ADD_INT | 19,792,160 | 1.0% | 38.2% |
_BINARY_SUBSCR_LIST_INT _STORE_FAST | 19,200,000 | 1.0% | 39.2% |
_BINARY_OP_ADD_FLOAT _LOAD_FAST_0 | 19,200,000 | 1.0% | 40.2% |
_BINARY_OP_ADD_INT _LOAD_FAST_7 | 19,200,000 | 1.0% | 41.2% |
_BINARY_OP_SUBTRACT_INT _BINARY_SUBSCR_LIST_INT | 19,200,000 | 1.0% | 42.2% |
_BINARY_OP_SUBTRACT_INT _SET_IP | 19,200,000 | 1.0% | 43.2% |
_CHECK_VALIDITY _LOAD_FAST | 19,200,000 | 1.0% | 44.2% |
_CHECK_VALIDITY _STORE_FAST | 19,200,000 | 1.0% | 45.2% |
_GUARD_BOTH_FLOAT _BINARY_OP_MULTIPLY_FLOAT | 19,200,000 | 1.0% | 46.2% |
_GUARD_BOTH_INT _BINARY_OP_SUBTRACT_INT | 19,200,000 | 1.0% | 47.2% |
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TOS_INT | 19,200,000 | 1.0% | 48.2% |
_LOAD_CONST_INLINE_BORROW _BINARY_OP_SUBTRACT_INT | 19,200,000 | 1.0% | 49.2% |
_LOAD_FAST_2 _GUARD_NOS_FLOAT | 19,200,000 | 1.0% | 50.2% |
_LOAD_FAST_3 _GUARD_NOS_FLOAT | 19,200,000 | 1.0% | 51.2% |
_LOAD_FAST_5 _LOAD_FAST | 19,200,000 | 1.0% | 52.2% |
_LOAD_FAST_6 _LOAD_FAST_4 | 19,200,000 | 1.0% | 53.2% |
_START_EXECUTOR _TIER2_RESUME_CHECK | 18,069,360 | 0.9% | 54.2% |
_BINARY_OP_ADD_INT _BINARY_SUBSCR_LIST_INT | 15,525,820 | 0.8% | 55.0% |
_BINARY_OP_SUBTRACT_INT _LOAD_CONST_INLINE_BORROW | 14,400,000 | 0.8% | 55.7% |
_ITER_NEXT_RANGE _STORE_FAST_4 | 14,400,000 | 0.8% | 56.5% |
_LOAD_FAST_7 _BINARY_OP_SUBTRACT_INT | 14,400,000 | 0.8% | 57.2% |
_SAVE_RETURN_OFFSET _PUSH_FRAME | 14,390,440 | 0.8% | 58.0% |
_PUSH_FRAME _RESUME_CHECK | 11,995,220 | 0.6% | 58.6% |
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION | 11,199,040 | 0.6% | 59.2% |
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES | 11,199,040 | 0.6% | 59.8% |
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT | 11,199,040 | 0.6% | 60.4% |
_LOAD_FAST_1 _SET_IP | 11,195,700 | 0.6% | 61.0% |
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_0 | 10,225,000 | 0.5% | 61.5% |
_BINARY_SUBSCR_LIST_INT _GUARD_TYPE_VERSION | 9,600,000 | 0.5% | 62.0% |
_BINARY_SUBSCR_LIST_INT _LOAD_FAST | 9,600,000 | 0.5% | 62.5% |
_RESUME_CHECK _LOAD_FAST_3 | 9,600,000 | 0.5% | 63.0% |
_SET_IP _CHECK_FUNCTION_EXACT_ARGS | 9,600,000 | 0.5% | 63.5% |
_BINARY_OP_ADD_FLOAT _EXIT_TRACE | 9,600,000 | 0.5% | 64.0% |
_BINARY_OP_SUBTRACT_INT _LOAD_FAST_0 | 9,600,000 | 0.5% | 64.5% |
_BINARY_OP_SUBTRACT_INT _STORE_FAST | 9,600,000 | 0.5% | 65.0% |
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND | 9,600,000 | 0.5% | 65.5% |
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_3 | 9,600,000 | 0.5% | 66.0% |
_GUARD_IS_NOT_NONE_POP _LOAD_CONST_INLINE_WITH_NULL | 9,600,000 | 0.5% | 66.5% |
_GUARD_TOS_INT _BINARY_OP_SUBTRACT_INT | 9,600,000 | 0.5% | 67.0% |
_INIT_CALL_PY_EXACT_ARGS_3 _SAVE_RETURN_OFFSET | 9,600,000 | 0.5% | 67.5% |
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_BOTH_INT | 9,600,000 | 0.5% | 68.0% |
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_5 | 9,600,000 | 0.5% | 68.5% |
_LOAD_FAST _BINARY_SUBSCR_LIST_INT | 9,600,000 | 0.5% | 69.0% |
_LOAD_FAST _BINARY_OP_SUBTRACT_INT | 9,600,000 | 0.5% | 69.5% |
_LOAD_FAST _GUARD_BOTH_INT | 9,600,000 | 0.5% | 70.0% |
_LOAD_FAST _LOAD_CONST_INLINE_BORROW | 9,600,000 | 0.5% | 70.5% |
_LOAD_FAST _LOAD_FAST_1 | 9,600,000 | 0.5% | 71.0% |
_LOAD_FAST_1 _LOAD_FAST | 9,600,000 | 0.5% | 71.5% |
_LOAD_FAST_2 _GUARD_BOTH_FLOAT | 9,600,000 | 0.5% | 72.0% |
_LOAD_FAST_3 _GUARD_BOTH_FLOAT | 9,600,000 | 0.5% | 72.5% |
_LOAD_FAST_3 _GUARD_IS_NOT_NONE_POP | 9,600,000 | 0.5% | 73.0% |
_LOAD_FAST_3 _LOAD_FAST_0 | 9,600,000 | 0.5% | 73.5% |
_LOAD_FAST_4 _LOAD_CONST_INLINE_BORROW | 9,600,000 | 0.5% | 74.0% |
_LOAD_FAST_4 _LOAD_FAST_0 | 9,600,000 | 0.5% | 74.5% |
_LOAD_FAST_4 _LOAD_FAST_3 | 9,600,000 | 0.5% | 75.0% |
_STORE_FAST _LOAD_FAST | 9,600,000 | 0.5% | 75.5% |
_STORE_FAST _LOAD_FAST_1 | 9,600,000 | 0.5% | 76.0% |
_STORE_FAST _LOAD_FAST_4 | 9,600,000 | 0.5% | 76.5% |
_STORE_FAST _LOAD_FAST_5 | 9,600,000 | 0.5% | 77.0% |
_STORE_FAST _LOAD_FAST_6 | 9,600,000 | 0.5% | 77.5% |
_STORE_FAST_4 _LOAD_FAST_6 | 9,600,000 | 0.5% | 78.0% |
_GUARD_NOT_EXHAUSTED_RANGE _EXIT_TRACE | 8,015,200 | 0.4% | 78.4% |
_CALL_BUILTIN_CLASS _CHECK_PERIODIC | 7,810,920 | 0.4% | 78.8% |
_LOAD_FAST_3 _LOAD_CONST_INLINE_BORROW | 7,521,520 | 0.4% | 79.2% |
_SET_IP _CALL_BUILTIN_CLASS | 7,199,520 | 0.4% | 79.6% |
_BINARY_OP_ADD_INT _SET_IP | 7,199,520 | 0.4% | 80.0% |
_GET_ITER _CHECK_VALIDITY | 7,011,400 | 0.4% | 80.4% |
_CHECK_PERIODIC _CHECK_VALIDITY_AND_SET_IP | 7,011,400 | 0.4% | 80.7% |
_CHECK_VALIDITY _ITER_CHECK_RANGE | 7,011,400 | 0.4% | 81.1% |
_CHECK_VALIDITY_AND_SET_IP _GET_ITER | 7,011,400 | 0.4% | 81.4% |
_STORE_FAST_4 _LOAD_FAST_0 | 6,400,000 | 0.3% | 81.8% |
_CHECK_PERIODIC _CHECK_VALIDITY | 6,387,420 | 0.3% | 82.1% |
_GUARD_BOTH_INT _COMPARE_OP_INT | 5,807,160 | 0.3% | 82.4% |
_JUMP_TO_TOP _TIER2_RESUME_CHECK | 5,591,020 | 0.3% | 82.7% |
_LIST_APPEND _JUMP_TO_TOP | 4,840,480 | 0.3% | 83.0% |
_BINARY_SUBSCR_LIST_INT _LIST_APPEND | 4,800,000 | 0.3% | 83.2% |
_BINARY_OP_ADD_INT _LOAD_CONST_INLINE_BORROW | 4,800,000 | 0.3% | 83.5% |
_BINARY_OP_ADD_INT _LOAD_FAST_3 | 4,800,000 | 0.3% | 83.7% |
_BINARY_OP_ADD_INT _LOAD_FAST_4 | 4,800,000 | 0.3% | 84.0% |
_BINARY_OP_SUBTRACT_INT _LOAD_FAST_7 | 4,800,000 | 0.3% | 84.2% |
_CHECK_FUNCTION _LOAD_CONST_INLINE_BORROW_WITH_NULL | 4,800,000 | 0.3% | 84.5% |
_ITER_NEXT_RANGE _STORE_FAST_7 | 4,800,000 | 0.3% | 84.7% |
_LOAD_CONST_INLINE_BORROW_WITH_NULL _LOAD_FAST_3 | 4,800,000 | 0.3% | 85.0% |
unsupported opcodes
Opcode | Count |
---|---|
CALL | 2,340 |
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