- benchmark: deepcopy
- fork: brandtbucher
- ref: remove-optimizer-api
- commit hash: 085e172
- commit date: 2025-01-21T19:51:13-08: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 | 75,010,600 | 13.9% | 13.9% | |
RETURN_VALUE | 48,508,400 | 9.0% | 22.9% | |
LOAD_FAST_LOAD_FAST | 40,344,840 | 7.5% | 30.4% | |
PUSH_NULL | 39,977,420 | 7.4% | 37.8% | |
ENTER_EXECUTOR | 39,830,500 | 7.4% | 45.2% | |
POP_TOP | 24,023,940 | 4.5% | 49.7% | |
CALL_BUILTIN_O | 23,255,140 | 4.3% | 54.0% | |
STORE_FAST | 22,897,300 | 4.2% | 58.2% | |
STORE_SUBSCR_DICT | 18,032,680 | 3.3% | 61.6% | |
LOAD_GLOBAL_BUILTIN | 17,729,520 | 3.3% | 64.9% | |
CALL_PY_GENERAL | 16,398,700 | 3.0% | 67.9% | 13.6% |
POP_JUMP_IF_FALSE | 15,483,440 | 2.9% | 70.8% | |
RESUME_CHECK | 12,627,740 | 2.3% | 73.1% | 0.0% |
LOAD_CONST_IMMORTAL | 8,757,720 | 1.6% | 74.8% | |
IS_OP | 8,571,100 | 1.6% | 76.4% | |
LOAD_GLOBAL_MODULE | 8,204,800 | 1.5% | 77.9% | |
GET_ITER | 6,857,580 | 1.3% | 79.2% | |
JUMP_FORWARD | 6,758,600 | 1.3% | 80.4% | |
CALL_PY_EXACT_ARGS | 6,666,960 | 1.2% | 81.6% | |
NOP | 5,744,820 | 1.1% | 82.7% | |
BINARY_SUBSCR_DICT | 5,744,640 | 1.1% | 83.8% | |
BUILD_LIST | 5,714,340 | 1.1% | 84.8% | |
LOAD_DEREF | 5,683,620 | 1.1% | 85.9% | |
LOAD_METHOD_NO_DICT | 5,002,380 | 0.9% | 86.8% | |
POP_JUMP_IF_NONE | 4,909,780 | 0.9% | 87.7% | |
TO_BOOL_BOOL | 4,792,500 | 0.9% | 88.6% | |
CALL_NON_PY_GENERAL | 3,844,180 | 0.7% | 89.3% | |
CALL_LIST_APPEND | 3,809,280 | 0.7% | 90.0% | |
LOAD_ATTR | 2,984,480 | 0.6% | 90.6% | |
CHECK_EXC_MATCH | 2,856,960 | 0.5% | 91.1% | |
POP_EXCEPT | 2,856,960 | 0.5% | 91.7% | |
PUSH_EXC_INFO | 2,856,960 | 0.5% | 92.2% | |
LIST_APPEND | 2,856,960 | 0.5% | 92.7% | |
CALL_FUNCTION_EX | 2,826,600 | 0.5% | 93.2% | |
LOAD_ATTR_MODULE | 2,096,360 | 0.4% | 93.6% | |
FOR_ITER_TUPLE | 2,071,840 | 0.4% | 94.0% | |
MAKE_CELL | 1,904,940 | 0.4% | 94.4% | |
INTERPRETER_EXIT | 1,904,740 | 0.4% | 94.7% | |
SWAP | 1,904,640 | 0.4% | 95.1% | |
FOR_ITER_LIST | 1,904,640 | 0.4% | 95.4% | |
BINARY_OP_SUBTRACT_FLOAT | 1,843,320 | 0.3% | 95.8% | |
BINARY_OP_ADD_FLOAT | 1,843,200 | 0.3% | 96.1% | 0.0% |
FOR_ITER | 1,137,180 | 0.2% | 96.3% | |
STORE_FAST_STORE_FAST | 1,075,420 | 0.2% | 96.5% | |
UNPACK_SEQUENCE_TWO_TUPLE | 1,075,420 | 0.2% | 96.7% | |
CALL_BUILTIN_FAST | 1,075,200 | 0.2% | 96.9% | |
LOAD_CONST_MORTAL | 1,018,240 | 0.2% | 97.1% | |
STORE_FAST_LOAD_FAST | 986,440 | 0.2% | 97.3% | |
TO_BOOL | 952,900 | 0.2% | 97.5% | |
BUILD_TUPLE | 952,860 | 0.2% | 97.7% | |
LIST_EXTEND | 952,620 | 0.2% | 97.8% | |
COPY_FREE_VARS | 952,560 | 0.2% | 98.0% | |
CALL_INTRINSIC_1 | 952,500 | 0.2% | 98.2% | |
POP_JUMP_IF_TRUE | 952,500 | 0.2% | 98.4% | |
LOAD_FAST_AND_CLEAR | 952,320 | 0.2% | 98.5% | |
CALL_ISINSTANCE | 952,320 | 0.2% | 98.7% | |
MAKE_FUNCTION | 922,020 | 0.2% | 98.9% | |
SET_FUNCTION_ATTRIBUTE | 921,900 | 0.2% | 99.1% | |
RETURN_GENERATOR | 921,600 | 0.2% | 99.2% | |
YIELD_VALUE | 921,600 | 0.2% | 99.4% | |
LOAD_ATTR_CLASS | 921,600 | 0.2% | 99.6% | |
JUMP_BACKWARD_JIT | 317,620 | 0.1% | 99.6% | |
POP_ITER | 282,960 | 0.1% | 99.7% | |
LOAD_SMALL_INT | 253,160 | 0.0% | 99.7% | |
FOR_ITER_RANGE | 187,900 | 0.0% | 99.8% | |
CALL_TYPE_1 | 184,660 | 0.0% | 99.8% | |
CONTAINS_OP_SET | 184,660 | 0.0% | 99.8% | |
CALL_METHOD_DESCRIPTOR_FAST | 178,940 | 0.0% | 99.9% | |
STORE_ATTR | 129,800 | 0.0% | 99.9% | |
BUILD_MAP | 123,120 | 0.0% | 99.9% | |
CALL_BUILTIN_CLASS | 95,740 | 0.0% | 99.9% | |
STORE_SUBSCR_LIST_INT | 64,840 | 0.0% | 99.9% | |
STORE_ATTR_INSTANCE_VALUE | 61,860 | 0.0% | 100.0% | 10.3% |
POP_JUMP_IF_NOT_NONE | 61,680 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 61,660 | 0.0% | 100.0% | |
LOAD_METHOD_WITH_VALUES | 31,140 | 0.0% | 100.0% | 10.2% |
TO_BOOL_NONE | 30,720 | 0.0% | 100.0% | |
NOT_TAKEN | 30,720 | 0.0% | 100.0% | |
CALL_TUPLE_1 | 30,720 | 0.0% | 100.0% | |
CALL | 800 | 0.0% | 100.0% | |
LOAD_ATTR_INSTANCE_VALUE | 720 | 0.0% | 100.0% | |
LOAD_METHOD | 480 | 0.0% | 100.0% | |
STORE_NAME | 480 | 0.0% | 100.0% | |
LOAD_GLOBAL | 360 | 0.0% | 100.0% | |
STORE_DEREF | 300 | 0.0% | 100.0% | |
BINARY_OP | 200 | 0.0% | 100.0% | |
BINARY_SUBSCR_TUPLE_INT | 180 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_O | 180 | 0.0% | 100.0% | |
CALL_ALLOC_AND_ENTER_INIT | 120 | 0.0% | 100.0% | 33.3% |
EXIT_INIT_CHECK | 80 | 0.0% | 100.0% | |
BINARY_SUBSCR | 60 | 0.0% | 100.0% | |
UNPACK_SEQUENCE | 60 | 0.0% | 100.0% | |
LOAD_BUILD_CLASS | 60 | 0.0% | 100.0% | |
LOAD_LOCALS | 60 | 0.0% | 100.0% | |
LOAD_NAME | 60 | 0.0% | 100.0% | |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 60 | 0.0% | 100.0% |
Pair counts for top 100 opcode pairs
Pairs of specialized operations that deoptimize and are then followed by the corresponding unspecialized instruction are not counted as pairs.
Pair | Count | Self | Cumulative |
---|---|---|---|
ENTER_EXECUTOR RETURN_VALUE | 33,914,560 | 6.3% | 6.3% |
PUSH_NULL LOAD_FAST | 18,682,200 | 3.5% | 9.8% |
PUSH_NULL LOAD_FAST_LOAD_FAST | 17,324,460 | 3.2% | 13.0% |
LOAD_GLOBAL_BUILTIN PUSH_NULL | 13,889,460 | 2.6% | 15.6% |
POP_TOP ENTER_EXECUTOR | 13,516,800 | 2.5% | 18.1% |
CALL_PY_GENERAL ENTER_EXECUTOR | 13,277,880 | 2.5% | 20.5% |
RETURN_VALUE CALL_BUILTIN_O | 12,595,200 | 2.3% | 22.9% |
CALL_BUILTIN_O POP_TOP | 12,595,200 | 2.3% | 25.2% |
LOAD_FAST CALL_BUILTIN_O | 10,629,220 | 2.0% | 27.2% |
LOAD_FAST_LOAD_FAST CALL_PY_GENERAL | 10,627,140 | 2.0% | 29.1% |
RETURN_VALUE STORE_FAST | 10,414,700 | 1.9% | 31.1% |
STORE_FAST LOAD_FAST | 9,887,660 | 1.8% | 32.9% |
LOAD_FAST LOAD_GLOBAL_BUILTIN | 8,632,320 | 1.6% | 34.5% |
POP_TOP LOAD_FAST | 8,571,060 | 1.6% | 36.1% |
LOAD_FAST RETURN_VALUE | 7,864,980 | 1.5% | 37.6% |
LOAD_FAST_LOAD_FAST IS_OP | 7,618,600 | 1.4% | 39.0% |
RETURN_VALUE LOAD_FAST_LOAD_FAST | 7,495,680 | 1.4% | 40.4% |
RETURN_VALUE STORE_SUBSCR_DICT | 7,495,680 | 1.4% | 41.8% |
LOAD_FAST_LOAD_FAST PUSH_NULL | 7,495,680 | 1.4% | 43.2% |
STORE_SUBSCR_DICT ENTER_EXECUTOR | 7,372,800 | 1.4% | 44.5% |
IS_OP POP_JUMP_IF_FALSE | 6,666,280 | 1.2% | 45.8% |
LOAD_FAST PUSH_NULL | 5,985,560 | 1.1% | 46.9% |
LOAD_CONST_IMMORTAL RETURN_VALUE | 5,776,080 | 1.1% | 47.9% |
STORE_FAST JUMP_FORWARD | 5,775,560 | 1.1% | 49.0% |
RETURN_VALUE POP_TOP | 5,745,180 | 1.1% | 50.1% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 5,745,180 | 1.1% | 51.1% |
LOAD_GLOBAL_MODULE PUSH_NULL | 5,744,880 | 1.1% | 52.2% |
NOP LOAD_FAST | 5,744,820 | 1.1% | 53.3% |
CALL_BUILTIN_O BINARY_SUBSCR_DICT | 5,744,640 | 1.1% | 54.3% |
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS | 5,714,160 | 1.1% | 55.4% |
LOAD_FAST_LOAD_FAST LOAD_FAST | 5,713,980 | 1.1% | 56.5% |
LOAD_FAST STORE_SUBSCR_DICT | 5,713,920 | 1.1% | 57.5% |
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST | 5,713,920 | 1.1% | 58.6% |
RESUME_CHECK NOP | 5,713,920 | 1.1% | 59.7% |
STORE_SUBSCR_DICT LOAD_GLOBAL_MODULE | 5,713,920 | 1.1% | 60.7% |
JUMP_FORWARD LOAD_FAST_LOAD_FAST | 5,683,200 | 1.1% | 61.8% |
LOAD_FAST POP_JUMP_IF_NONE | 4,909,780 | 0.9% | 62.7% |
LOAD_METHOD_NO_DICT LOAD_FAST | 4,909,780 | 0.9% | 63.6% |
POP_JUMP_IF_NONE LOAD_FAST | 4,848,340 | 0.9% | 64.5% |
CALL_BUILTIN_O STORE_SUBSCR_DICT | 4,823,080 | 0.9% | 65.4% |
TO_BOOL_BOOL POP_JUMP_IF_FALSE | 4,792,320 | 0.9% | 66.3% |
LOAD_FAST GET_ITER | 4,700,160 | 0.9% | 67.1% |
POP_JUMP_IF_FALSE LOAD_FAST | 3,932,640 | 0.7% | 67.9% |
LOAD_FAST CALL_LIST_APPEND | 3,809,280 | 0.7% | 68.6% |
BINARY_SUBSCR_DICT LOAD_METHOD_NO_DICT | 3,809,280 | 0.7% | 69.3% |
CALL_LIST_APPEND LOAD_CONST_IMMORTAL | 3,809,280 | 0.7% | 70.0% |
ENTER_EXECUTOR CALL_PY_GENERAL | 3,698,420 | 0.7% | 70.7% |
STORE_FAST LOAD_FAST_LOAD_FAST | 3,143,720 | 0.6% | 71.3% |
CALL_PY_GENERAL RESUME_CHECK | 3,078,600 | 0.6% | 71.8% |
STORE_SUBSCR_DICT LOAD_FAST | 2,918,440 | 0.5% | 72.4% |
LOAD_FAST LOAD_ATTR | 2,887,800 | 0.5% | 72.9% |
LOAD_FAST TO_BOOL_BOOL | 2,857,080 | 0.5% | 73.4% |
CHECK_EXC_MATCH POP_JUMP_IF_FALSE | 2,856,960 | 0.5% | 74.0% |
PUSH_EXC_INFO LOAD_GLOBAL_BUILTIN | 2,856,960 | 0.5% | 74.5% |
RETURN_VALUE LIST_APPEND | 2,856,960 | 0.5% | 75.0% |
BUILD_LIST LOAD_FAST | 2,856,960 | 0.5% | 75.6% |
POP_JUMP_IF_FALSE POP_TOP | 2,856,960 | 0.5% | 76.1% |
LOAD_GLOBAL_BUILTIN CHECK_EXC_MATCH | 2,856,960 | 0.5% | 76.6% |
RESUME_CHECK LOAD_FAST | 2,826,780 | 0.5% | 77.2% |
LOAD_FAST BUILD_LIST | 2,826,480 | 0.5% | 77.7% |
LOAD_FAST LOAD_DEREF | 2,826,240 | 0.5% | 78.2% |
LIST_APPEND ENTER_EXECUTOR | 2,805,760 | 0.5% | 78.7% |
LOAD_ATTR_MODULE PUSH_NULL | 2,096,360 | 0.4% | 79.1% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 2,096,160 | 0.4% | 79.5% |
LOAD_FAST LOAD_GLOBAL_MODULE | 2,027,860 | 0.4% | 79.9% |
GET_ITER FOR_ITER_TUPLE | 1,969,480 | 0.4% | 80.2% |
LOAD_FAST_LOAD_FAST LOAD_GLOBAL_BUILTIN | 1,966,120 | 0.4% | 80.6% |
PUSH_NULL CALL_NON_PY_GENERAL | 1,939,160 | 0.4% | 81.0% |
BINARY_SUBSCR_DICT PUSH_EXC_INFO | 1,935,360 | 0.4% | 81.3% |
PUSH_NULL CALL_FUNCTION_EX | 1,905,000 | 0.4% | 81.7% |
GET_ITER FOR_ITER_LIST | 1,904,640 | 0.4% | 82.0% |
POP_EXCEPT LOAD_CONST_IMMORTAL | 1,904,640 | 0.4% | 82.4% |
BUILD_LIST STORE_FAST | 1,904,640 | 0.4% | 82.7% |
LOAD_ATTR STORE_FAST | 1,904,640 | 0.4% | 83.1% |
FOR_ITER_LIST STORE_FAST | 1,904,640 | 0.4% | 83.4% |
RESUME_CHECK BUILD_LIST | 1,904,640 | 0.4% | 83.8% |
STORE_SUBSCR_DICT POP_EXCEPT | 1,904,640 | 0.4% | 84.2% |
LOAD_DEREF PUSH_NULL | 1,874,160 | 0.3% | 84.5% |
LOAD_DEREF CALL_PY_GENERAL | 1,873,920 | 0.3% | 84.8% |
CALL_NON_PY_GENERAL LOAD_FAST | 1,843,320 | 0.3% | 85.2% |
LOAD_FAST BINARY_OP_SUBTRACT_FLOAT | 1,843,280 | 0.3% | 85.5% |
STORE_FAST ENTER_EXECUTOR | 1,843,200 | 0.3% | 85.9% |
BINARY_OP_ADD_FLOAT STORE_FAST | 1,843,200 | 0.3% | 86.2% |
BINARY_OP_SUBTRACT_FLOAT BINARY_OP_ADD_FLOAT | 1,843,200 | 0.3% | 86.6% |
UNPACK_SEQUENCE_TWO_TUPLE STORE_FAST_STORE_FAST | 1,075,420 | 0.2% | 86.8% |
FOR_ITER UNPACK_SEQUENCE_TWO_TUPLE | 1,075,240 | 0.2% | 87.0% |
FOR_ITER_TUPLE STORE_FAST | 1,051,280 | 0.2% | 87.2% |
POP_JUMP_IF_FALSE LOAD_GLOBAL_BUILTIN | 1,044,540 | 0.2% | 87.3% |
LOAD_FAST LOAD_CONST_IMMORTAL | 1,014,120 | 0.2% | 87.5% |
GET_ITER FOR_ITER | 1,013,800 | 0.2% | 87.7% |
LOAD_CONST_IMMORTAL CALL_BUILTIN_FAST | 1,013,760 | 0.2% | 87.9% |
STORE_FAST_LOAD_FAST PUSH_NULL | 986,440 | 0.2% | 88.1% |
FOR_ITER_TUPLE STORE_FAST_LOAD_FAST | 986,440 | 0.2% | 88.3% |
RESUME_CHECK LOAD_DEREF | 983,220 | 0.2% | 88.5% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 983,160 | 0.2% | 88.6% |
RETURN_VALUE INTERPRETER_EXIT | 983,140 | 0.2% | 88.8% |
JUMP_FORWARD LOAD_GLOBAL_BUILTIN | 983,040 | 0.2% | 89.0% |
LOAD_DEREF LOAD_CONST_IMMORTAL | 983,040 | 0.2% | 89.2% |
CALL_BUILTIN_FAST TO_BOOL_BOOL | 983,040 | 0.2% | 89.4% |
MAKE_CELL RESUME_CHECK | 952,620 | 0.2% | 89.5% |
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 | 952,540 | 50.0% |
POP_TOP | 921,600 | 48.4% |
COPY_FREE_VARS | 30,780 | 1.6% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_TUPLE_INT | 60 | 100.0% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 1,905,000 | 67.4% |
ENTER_EXECUTOR | 921,580 | 32.6% |
JUMP_BACKWARD_JIT | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
MAKE_CELL | 952,380 | 33.7% |
RESUME_CHECK | 921,720 | 32.6% |
RETURN_VALUE | 921,600 | 32.6% |
STORE_FAST | 30,720 | 1.1% |
Successors and predecessors for CHECK_EXC_MATCH
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 2,856,960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 2,856,960 | 100.0% |
Successors and predecessors for EXIT_INIT_CHECK
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 80 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 80 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,700,160 | 68.5% |
SWAP | 952,320 | 13.9% |
CALL_NON_PY_GENERAL | 952,320 | 13.9% |
CALL_BUILTIN_CLASS | 95,740 | 1.4% |
LOAD_CONST_MORTAL | 95,560 | 1.4% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_TUPLE | 1,969,480 | 28.7% |
FOR_ITER_LIST | 1,904,640 | 27.8% |
FOR_ITER | 1,013,800 | 14.8% |
LOAD_FAST_AND_CLEAR | 952,320 | 13.9% |
CALL_PY_EXACT_ARGS | 921,600 | 13.4% |
Successors and predecessors for INTERPRETER_EXIT
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 983,140 | 51.6% |
YIELD_VALUE | 921,600 | 48.4% |
Successors and predecessors for MAKE_FUNCTION
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 922,020 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SET_FUNCTION_ATTRIBUTE | 921,900 | 100.0% |
STORE_NAME | 120 | 0.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 5,713,920 | 99.5% |
STORE_FAST | 30,720 | 0.5% |
POP_JUMP_IF_TRUE | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 5,744,820 | 100.0% |
Successors and predecessors for POP_EXCEPT
Predecessors | Count | Percentage |
---|---|---|
STORE_SUBSCR_DICT | 1,904,640 | 66.7% |
POP_TOP | 952,320 | 33.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 1,904,640 | 66.7% |
JUMP_FORWARD | 952,320 | 33.3% |
Successors and predecessors for POP_ITER
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 187,040 | 66.1% |
FOR_ITER | 61,580 | 21.8% |
FOR_ITER_TUPLE | 34,120 | 12.1% |
FOR_ITER_RANGE | 180 | 0.1% |
JUMP_BACKWARD_JIT | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 123,120 | 43.5% |
JUMP_BACKWARD_JIT | 81,920 | 29.0% |
LOAD_CONST_MORTAL | 30,720 | 10.9% |
STORE_FAST | 30,720 | 10.9% |
ENTER_EXECUTOR | 16,360 | 5.8% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_O | 12,595,200 | 52.4% |
RETURN_VALUE | 5,745,180 | 23.9% |
POP_JUMP_IF_FALSE | 2,856,960 | 11.9% |
CALL_NON_PY_GENERAL | 952,500 | 4.0% |
CACHE | 921,600 | 3.8% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 13,516,800 | 56.3% |
LOAD_FAST | 8,571,060 | 35.7% |
POP_EXCEPT | 952,320 | 4.0% |
RESUME_CHECK | 921,600 | 3.8% |
LOAD_CONST_IMMORTAL | 31,260 | 0.1% |
Successors and predecessors for PUSH_EXC_INFO
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_DICT | 1,935,360 | 67.7% |
ENTER_EXECUTOR | 921,600 | 32.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 2,856,960 | 100.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 13,889,460 | 34.7% |
LOAD_FAST_LOAD_FAST | 7,495,680 | 18.7% |
LOAD_FAST | 5,985,560 | 15.0% |
LOAD_GLOBAL_MODULE | 5,744,880 | 14.4% |
LOAD_ATTR_MODULE | 2,096,360 | 5.2% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 18,682,200 | 46.7% |
LOAD_FAST_LOAD_FAST | 17,324,460 | 43.3% |
CALL_NON_PY_GENERAL | 1,939,160 | 4.9% |
CALL_FUNCTION_EX | 1,905,000 | 4.8% |
LOAD_SMALL_INT | 126,280 | 0.3% |
Successors and predecessors for RETURN_GENERATOR
Predecessors | Count | Percentage |
---|---|---|
COPY_FREE_VARS | 921,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 921,600 | 100.0% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 33,914,560 | 69.9% |
LOAD_FAST | 7,864,980 | 16.2% |
LOAD_CONST_IMMORTAL | 5,776,080 | 11.9% |
CALL_FUNCTION_EX | 921,600 | 1.9% |
BUILD_TUPLE | 30,720 | 0.1% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_O | 12,595,200 | 26.0% |
STORE_FAST | 10,414,700 | 21.5% |
LOAD_FAST_LOAD_FAST | 7,495,680 | 15.5% |
STORE_SUBSCR_DICT | 7,495,680 | 15.5% |
POP_TOP | 5,745,180 | 11.8% |
Successors and predecessors for TO_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 952,380 | 99.9% |
TO_BOOL | 340 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 952,500 | 100.0% |
TO_BOOL | 340 | 0.0% |
TO_BOOL_BOOL | 60 | 0.0% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 120 | 60.0% |
BINARY_OP | 40 | 20.0% |
LOAD_FAST | 40 | 20.0% |
Successors | Count | Percentage |
---|---|---|
BUILD_MAP | 60 | 30.0% |
STORE_FAST | 60 | 30.0% |
BINARY_OP_SUBTRACT_FLOAT | 40 | 20.0% |
BINARY_OP | 40 | 20.0% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,826,480 | 49.5% |
RESUME_CHECK | 1,904,640 | 33.3% |
SWAP | 952,320 | 16.7% |
LOAD_FAST_LOAD_FAST | 30,720 | 0.5% |
LOAD_SMALL_INT | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,856,960 | 50.0% |
STORE_FAST | 1,904,640 | 33.3% |
SWAP | 952,320 | 16.7% |
LOAD_DEREF | 180 | 0.0% |
LOAD_CONST_MORTAL | 120 | 0.0% |
Successors and predecessors for BUILD_MAP
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 61,480 | 49.9% |
POP_JUMP_IF_NOT_NONE | 30,740 | 25.0% |
NOT_TAKEN | 30,720 | 25.0% |
BINARY_OP | 60 | 0.0% |
BUILD_MAP | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 123,060 | 100.0% |
BUILD_MAP | 60 | 0.0% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 921,960 | 96.8% |
LOAD_ATTR | 30,720 | 3.2% |
LOAD_FAST_LOAD_FAST | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 921,900 | 96.8% |
RETURN_VALUE | 30,720 | 3.2% |
CALL_METHOD_DESCRIPTOR_O | 120 | 0.0% |
CALL | 60 | 0.0% |
LOAD_CONST_IMMORTAL | 60 | 0.0% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 220 | 27.5% |
LOAD_FAST_LOAD_FAST | 180 | 22.5% |
LOAD_CONST_IMMORTAL | 140 | 17.5% |
BUILD_TUPLE | 60 | 7.5% |
LOAD_FAST | 60 | 7.5% |
Successors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 260 | 32.5% |
CALL_PY_EXACT_ARGS | 240 | 30.0% |
CALL_BUILTIN_CLASS | 60 | 7.5% |
CALL_METHOD_DESCRIPTOR_NOARGS | 60 | 7.5% |
CALL_METHOD_DESCRIPTOR_O | 60 | 7.5% |
Successors and predecessors for CALL_INTRINSIC_1
Predecessors | Count | Percentage |
---|---|---|
LIST_EXTEND | 952,500 | 100.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 952,500 | 100.0% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 921,780 | 96.8% |
CACHE | 30,780 | 3.2% |
Successors | Count | Percentage |
---|---|---|
RETURN_GENERATOR | 921,600 | 96.7% |
RESUME_CHECK | 30,900 | 3.2% |
MAKE_CELL | 60 | 0.0% |
Successors and predecessors for FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 1,013,800 | 89.2% |
JUMP_BACKWARD_JIT | 123,020 | 10.8% |
FOR_ITER | 360 | 0.0% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 1,075,240 | 94.6% |
POP_ITER | 61,580 | 5.4% |
FOR_ITER | 360 | 0.0% |
Successors and predecessors for IS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 7,618,600 | 88.9% |
LOAD_CONST_IMMORTAL | 952,500 | 11.1% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 6,666,280 | 77.8% |
STORE_FAST | 952,500 | 11.1% |
POP_JUMP_IF_TRUE | 952,320 | 11.1% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 5,775,560 | 85.5% |
POP_EXCEPT | 952,320 | 14.1% |
POP_TOP | 30,720 | 0.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 5,683,200 | 84.1% |
LOAD_GLOBAL_BUILTIN | 983,040 | 14.5% |
LOAD_GLOBAL_MODULE | 61,460 | 0.9% |
LOAD_FAST | 30,900 | 0.5% |
Successors and predecessors for LIST_APPEND
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 2,856,960 | 100.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 2,805,760 | 98.2% |
JUMP_BACKWARD_JIT | 51,200 | 1.8% |
Successors and predecessors for LIST_EXTEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 952,320 | 100.0% |
LOAD_DEREF | 180 | 0.0% |
LOAD_CONST_MORTAL | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
CALL_INTRINSIC_1 | 952,500 | 100.0% |
LOAD_CONST_IMMORTAL | 120 | 0.0% |
Successors and predecessors for LOAD_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,887,800 | 96.8% |
LOAD_FAST_LOAD_FAST | 64,900 | 2.2% |
LOAD_GLOBAL_MODULE | 30,920 | 1.0% |
LOAD_ATTR | 860 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,904,640 | 63.8% |
LOAD_METHOD_NO_DICT | 952,320 | 31.9% |
LOAD_SMALL_INT | 64,840 | 2.2% |
PUSH_NULL | 30,720 | 1.0% |
BUILD_TUPLE | 30,720 | 1.0% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,826,240 | 49.7% |
RESUME_CHECK | 983,220 | 17.3% |
POP_JUMP_IF_FALSE | 952,320 | 16.8% |
STORE_FAST | 921,600 | 16.2% |
BUILD_LIST | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 1,874,160 | 33.0% |
CALL_PY_GENERAL | 1,873,920 | 33.0% |
LOAD_CONST_IMMORTAL | 983,040 | 17.3% |
LOAD_GLOBAL_BUILTIN | 952,320 | 16.8% |
LIST_EXTEND | 180 | 0.0% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 18,682,200 | 24.9% |
STORE_FAST | 9,887,660 | 13.2% |
POP_TOP | 8,571,060 | 11.4% |
NOP | 5,744,820 | 7.7% |
LOAD_FAST_LOAD_FAST | 5,713,980 | 7.6% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_O | 10,629,220 | 14.2% |
LOAD_GLOBAL_BUILTIN | 8,632,320 | 11.5% |
RETURN_VALUE | 7,864,980 | 10.5% |
PUSH_NULL | 5,985,560 | 8.0% |
STORE_SUBSCR_DICT | 5,713,920 | 7.6% |
Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 952,320 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SWAP | 952,320 | 100.0% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 17,324,460 | 42.9% |
RETURN_VALUE | 7,495,680 | 18.6% |
POP_JUMP_IF_FALSE | 5,713,920 | 14.2% |
JUMP_FORWARD | 5,683,200 | 14.1% |
STORE_FAST | 3,143,720 | 7.8% |
Successors | Count | Percentage |
---|---|---|
CALL_PY_GENERAL | 10,627,140 | 26.3% |
IS_OP | 7,618,600 | 18.9% |
PUSH_NULL | 7,495,680 | 18.6% |
CALL_PY_EXACT_ARGS | 5,714,160 | 14.2% |
LOAD_FAST | 5,713,980 | 14.2% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 180 | 50.0% |
RESUME_CHECK | 120 | 33.3% |
POP_ITER | 40 | 11.1% |
LOAD_CONST_IMMORTAL | 20 | 5.6% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 280 | 77.8% |
LOAD_GLOBAL_BUILTIN | 80 | 22.2% |
Successors and predecessors for LOAD_METHOD
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 300 | 62.5% |
LOAD_ATTR_INSTANCE_VALUE | 120 | 25.0% |
LOAD_METHOD | 60 | 12.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 180 | 37.5% |
LOAD_METHOD_NO_DICT | 120 | 25.0% |
LOAD_METHOD_WITH_VALUES | 120 | 25.0% |
LOAD_METHOD | 60 | 12.5% |
Successors and predecessors for LOAD_SMALL_INT
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 126,280 | 49.9% |
LOAD_ATTR | 64,840 | 25.6% |
RESUME_CHECK | 30,840 | 12.2% |
STORE_ATTR_INSTANCE_VALUE | 30,780 | 12.2% |
LOAD_FAST | 180 | 0.1% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 95,560 | 37.7% |
STORE_SUBSCR_LIST_INT | 64,840 | 25.6% |
LOAD_FAST | 61,560 | 24.3% |
CALL_BUILTIN_O | 30,720 | 12.1% |
BINARY_SUBSCR_TUPLE_INT | 120 | 0.0% |
Successors and predecessors for MAKE_CELL
Predecessors | Count | Percentage |
---|---|---|
CALL_FUNCTION_EX | 952,380 | 50.0% |
MAKE_CELL | 952,320 | 50.0% |
CALL_PY_GENERAL | 180 | 0.0% |
COPY_FREE_VARS | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 952,620 | 50.0% |
MAKE_CELL | 952,320 | 50.0% |
Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors | Count | Percentage |
---|---|---|
IS_OP | 6,666,280 | 43.1% |
TO_BOOL_BOOL | 4,792,320 | 31.0% |
CHECK_EXC_MATCH | 2,856,960 | 18.5% |
TO_BOOL | 952,500 | 6.2% |
CONTAINS_OP_SET | 184,660 | 1.2% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 5,713,920 | 36.9% |
LOAD_FAST | 3,932,640 | 25.4% |
POP_TOP | 2,856,960 | 18.5% |
LOAD_GLOBAL_BUILTIN | 1,044,540 | 6.7% |
LOAD_DEREF | 952,320 | 6.2% |
Successors and predecessors for POP_JUMP_IF_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,909,780 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,848,340 | 98.7% |
LOAD_GLOBAL_BUILTIN | 30,720 | 0.6% |
LOAD_GLOBAL_MODULE | 30,720 | 0.6% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 61,680 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 30,760 | 49.9% |
BUILD_MAP | 30,740 | 49.8% |
LOAD_CONST_MORTAL | 180 | 0.3% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
IS_OP | 952,320 | 100.0% |
TO_BOOL_BOOL | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 921,600 | 96.8% |
LOAD_GLOBAL_BUILTIN | 30,720 | 3.2% |
NOP | 180 | 0.0% |
Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 921,900 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 921,600 | 100.0% |
STORE_FAST | 180 | 0.0% |
STORE_NAME | 60 | 0.0% |
LOAD_CONST_IMMORTAL | 60 | 0.0% |
Successors and predecessors for STORE_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 129,740 | 100.0% |
STORE_ATTR | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 64,840 | 50.0% |
LOAD_GLOBAL_MODULE | 64,840 | 50.0% |
STORE_ATTR | 60 | 0.0% |
STORE_ATTR_INSTANCE_VALUE | 60 | 0.0% |
Successors and predecessors for STORE_DEREF
Predecessors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 180 | 60.0% |
LOAD_LOCALS | 60 | 20.0% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 60 | 20.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 180 | 60.0% |
LOAD_DEREF | 60 | 20.0% |
LOAD_CONST_MORTAL | 60 | 20.0% |
Successors and predecessors for STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 10,414,700 | 45.5% |
BUILD_LIST | 1,904,640 | 8.3% |
LOAD_ATTR | 1,904,640 | 8.3% |
FOR_ITER_LIST | 1,904,640 | 8.3% |
BINARY_OP_ADD_FLOAT | 1,843,200 | 8.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 9,887,660 | 43.2% |
JUMP_FORWARD | 5,775,560 | 25.2% |
LOAD_FAST_LOAD_FAST | 3,143,720 | 13.7% |
ENTER_EXECUTOR | 1,843,200 | 8.0% |
LOAD_GLOBAL_BUILTIN | 983,160 | 4.3% |
Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER_TUPLE | 986,440 | 100.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 986,440 | 100.0% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 1,075,420 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 952,320 | 88.6% |
LOAD_FAST | 123,100 | 11.4% |
Successors and predecessors for SWAP
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 952,320 | 50.0% |
LOAD_FAST_AND_CLEAR | 952,320 | 50.0% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 952,320 | 50.0% |
BUILD_LIST | 952,320 | 50.0% |
Successors and predecessors for UNPACK_SEQUENCE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 60 | 100.0% |
Successors and predecessors for YIELD_VALUE
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 921,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
INTERPRETER_EXIT | 921,600 | 100.0% |
Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors | Count | Percentage |
---|---|---|
BINARY_OP_SUBTRACT_FLOAT | 1,843,200 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,843,200 | 100.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,843,280 | 100.0% |
BINARY_OP | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_OP_ADD_FLOAT | 1,843,200 | 100.0% |
STORE_FAST | 120 | 0.0% |
Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors | Count | Percentage |
---|---|---|
CALL_BUILTIN_O | 5,744,640 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_METHOD_NO_DICT | 3,809,280 | 66.3% |
PUSH_EXC_INFO | 1,935,360 | 33.7% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 120 | 66.7% |
BINARY_SUBSCR | 60 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 180 | 100.0% |
Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 40 | 33.3% |
CALL | 40 | 33.3% |
LOAD_CONST_IMMORTAL | 40 | 33.3% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 80 | 66.7% |
STORE_FAST | 40 | 33.3% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 95,560 | 99.8% |
LOAD_FAST | 120 | 0.1% |
CALL | 60 | 0.1% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 95,740 | 100.0% |
Successors and predecessors for CALL_BUILTIN_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 1,013,760 | 94.3% |
LOAD_FAST | 30,720 | 2.9% |
LOAD_GLOBAL_BUILTIN | 30,720 | 2.9% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 983,040 | 91.4% |
STORE_FAST | 92,160 | 8.6% |
Successors and predecessors for CALL_BUILTIN_O
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 12,595,200 | 54.2% |
LOAD_FAST | 10,629,220 | 45.7% |
LOAD_SMALL_INT | 30,720 | 0.1% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 12,595,200 | 54.2% |
BINARY_SUBSCR_DICT | 5,744,640 | 24.7% |
STORE_SUBSCR_DICT | 4,823,080 | 20.7% |
STORE_FAST | 92,220 | 0.4% |
Successors and predecessors for CALL_ISINSTANCE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 952,320 | 100.0% |
Successors | Count | Percentage |
---|---|---|
TO_BOOL_BOOL | 952,320 | 100.0% |
Successors and predecessors for CALL_LIST_APPEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,809,280 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 3,809,280 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 148,180 | 82.8% |
LOAD_FAST_LOAD_FAST | 30,760 | 17.2% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 178,940 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_METHOD_NO_DICT | 61,600 | 99.9% |
CALL | 60 | 0.1% |
Successors | Count | Percentage |
---|---|---|
GET_ITER | 61,480 | 99.7% |
UNPACK_SEQUENCE_TWO_TUPLE | 120 | 0.2% |
UNPACK_SEQUENCE | 60 | 0.1% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors | Count | Percentage |
---|---|---|
BUILD_TUPLE | 120 | 66.7% |
CALL | 60 | 33.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 180 | 100.0% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 1,939,160 | 50.4% |
LOAD_FAST_LOAD_FAST | 952,440 | 24.8% |
LOAD_FAST | 952,320 | 24.8% |
CALL | 260 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,843,320 | 48.0% |
POP_TOP | 952,500 | 24.8% |
GET_ITER | 952,320 | 24.8% |
STORE_FAST | 95,680 | 2.5% |
RETURN_VALUE | 180 | 0.0% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 5,714,160 | 85.7% |
GET_ITER | 921,600 | 13.8% |
LOAD_FAST | 30,720 | 0.5% |
CALL | 240 | 0.0% |
LOAD_ATTR_INSTANCE_VALUE | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 5,745,180 | 86.2% |
COPY_FREE_VARS | 921,780 | 13.8% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 10,627,140 | 64.8% |
ENTER_EXECUTOR | 3,698,420 | 22.6% |
LOAD_DEREF | 1,873,920 | 11.4% |
LOAD_FAST | 157,000 | 1.0% |
CALL_PY_GENERAL | 42,040 | 0.3% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 13,277,880 | 81.0% |
RESUME_CHECK | 3,078,600 | 18.8% |
CALL_PY_GENERAL | 42,040 | 0.3% |
MAKE_CELL | 180 | 0.0% |
Successors and predecessors for CALL_TYPE_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 184,660 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 184,660 | 100.0% |
Successors and predecessors for CONTAINS_OP_SET
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 184,660 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 184,660 | 100.0% |
Successors and predecessors for FOR_ITER_LIST
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 1,904,640 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,904,640 | 100.0% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 95,740 | 51.0% |
JUMP_BACKWARD_JIT | 92,160 | 49.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 187,720 | 99.9% |
POP_ITER | 180 | 0.1% |
Successors and predecessors for FOR_ITER_TUPLE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 1,969,480 | 95.1% |
JUMP_BACKWARD_JIT | 102,360 | 4.9% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 1,051,280 | 50.7% |
STORE_FAST_LOAD_FAST | 986,440 | 47.6% |
POP_ITER | 34,120 | 1.6% |
Successors and predecessors for JUMP_BACKWARD_JIT
Predecessors | Count | Percentage |
---|---|---|
STORE_SUBSCR_DICT | 122,880 | 38.7% |
POP_ITER | 81,920 | 25.8% |
STORE_FAST | 61,440 | 19.3% |
LIST_APPEND | 51,200 | 16.1% |
POP_TOP | 180 | 0.1% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER | 123,020 | 38.7% |
FOR_ITER_TUPLE | 102,360 | 32.2% |
FOR_ITER_RANGE | 92,160 | 29.0% |
POP_ITER | 40 | 0.0% |
CALL_FUNCTION_EX | 20 | 0.0% |
Successors and predecessors for LOAD_ATTR_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 921,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 921,600 | 100.0% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 420 | 58.3% |
LOAD_ATTR | 180 | 25.0% |
LOAD_FAST_LOAD_FAST | 120 | 16.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_METHOD_NO_DICT | 240 | 33.3% |
TO_BOOL | 180 | 25.0% |
LOAD_METHOD | 120 | 16.7% |
CALL_PY_EXACT_ARGS | 120 | 16.7% |
CALL | 60 | 8.3% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 2,096,160 | 100.0% |
LOAD_ATTR | 200 | 0.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 2,096,360 | 100.0% |
Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors | Count | Percentage |
---|---|---|
CALL_LIST_APPEND | 3,809,280 | 43.5% |
POP_EXCEPT | 1,904,640 | 21.7% |
LOAD_FAST | 1,014,120 | 11.6% |
LOAD_DEREF | 983,040 | 11.2% |
POP_JUMP_IF_FALSE | 921,600 | 10.5% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 5,776,080 | 66.0% |
CALL_BUILTIN_FAST | 1,013,760 | 11.6% |
IS_OP | 952,500 | 10.9% |
STORE_FAST | 921,960 | 10.5% |
LOAD_CONST_IMMORTAL | 61,860 | 0.7% |
Successors and predecessors for LOAD_CONST_MORTAL
Predecessors | Count | Percentage |
---|---|---|
BUILD_TUPLE | 921,900 | 90.5% |
STORE_SUBSCR_LIST_INT | 64,840 | 6.4% |
POP_ITER | 30,720 | 3.0% |
POP_JUMP_IF_NOT_NONE | 180 | 0.0% |
STORE_NAME | 180 | 0.0% |
Successors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 922,020 | 90.6% |
GET_ITER | 95,560 | 9.4% |
STORE_FAST | 180 | 0.0% |
LIST_EXTEND | 120 | 0.0% |
LOAD_CONST_IMMORTAL | 120 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 8,632,320 | 48.7% |
PUSH_EXC_INFO | 2,856,960 | 16.1% |
LOAD_FAST_LOAD_FAST | 1,966,120 | 11.1% |
POP_JUMP_IF_FALSE | 1,044,540 | 5.9% |
STORE_FAST | 983,160 | 5.5% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 13,889,460 | 78.3% |
CHECK_EXC_MATCH | 2,856,960 | 16.1% |
CALL_ISINSTANCE | 952,320 | 5.4% |
CALL_BUILTIN_FAST | 30,720 | 0.2% |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 40 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
STORE_SUBSCR_DICT | 5,713,920 | 69.6% |
LOAD_FAST | 2,027,860 | 24.7% |
STORE_FAST | 187,960 | 2.3% |
STORE_ATTR | 64,840 | 0.8% |
JUMP_FORWARD | 61,460 | 0.7% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 5,744,880 | 70.0% |
LOAD_ATTR_MODULE | 2,096,160 | 25.5% |
CONTAINS_OP_SET | 184,660 | 2.3% |
LOAD_METHOD_NO_DICT | 148,180 | 1.8% |
LOAD_ATTR | 30,920 | 0.4% |
Successors and predecessors for LOAD_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
BINARY_SUBSCR_DICT | 3,809,280 | 76.1% |
LOAD_ATTR | 952,320 | 19.0% |
LOAD_GLOBAL_MODULE | 148,180 | 3.0% |
LOAD_FAST | 92,240 | 1.8% |
LOAD_ATTR_INSTANCE_VALUE | 240 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,909,780 | 98.1% |
CALL_METHOD_DESCRIPTOR_NOARGS | 61,600 | 1.2% |
LOAD_FAST_LOAD_FAST | 30,940 | 0.6% |
CALL | 60 | 0.0% |
Successors and predecessors for LOAD_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 30,960 | 99.4% |
LOAD_METHOD | 120 | 0.4% |
LOAD_METHOD_WITH_VALUES | 60 | 0.2% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 30,900 | 99.2% |
LOAD_FAST_LOAD_FAST | 180 | 0.6% |
LOAD_METHOD_WITH_VALUES | 60 | 0.2% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 5,745,180 | 45.5% |
CALL_PY_GENERAL | 3,078,600 | 24.4% |
MAKE_CELL | 952,620 | 7.5% |
CACHE | 952,540 | 7.5% |
CALL_FUNCTION_EX | 921,720 | 7.3% |
Successors | Count | Percentage |
---|---|---|
NOP | 5,713,920 | 45.2% |
LOAD_FAST | 2,826,780 | 22.4% |
BUILD_LIST | 1,904,640 | 15.1% |
LOAD_DEREF | 983,220 | 7.8% |
POP_TOP | 921,600 | 7.3% |
Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 61,560 | 99.5% |
LOAD_FAST_LOAD_FAST | 120 | 0.2% |
STORE_ATTR_INSTANCE_VALUE | 120 | 0.2% |
STORE_ATTR | 60 | 0.1% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 30,840 | 49.9% |
LOAD_SMALL_INT | 30,780 | 49.8% |
LOAD_FAST_LOAD_FAST | 120 | 0.2% |
STORE_ATTR_INSTANCE_VALUE | 120 | 0.2% |
Successors and predecessors for STORE_SUBSCR_DICT
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 7,495,680 | 41.6% |
LOAD_FAST | 5,713,920 | 31.7% |
CALL_BUILTIN_O | 4,823,080 | 26.7% |
Successors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 7,372,800 | 40.9% |
LOAD_GLOBAL_MODULE | 5,713,920 | 31.7% |
LOAD_FAST | 2,918,440 | 16.2% |
POP_EXCEPT | 1,904,640 | 10.6% |
JUMP_BACKWARD_JIT | 122,880 | 0.7% |
Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 64,840 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 64,840 | 100.0% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 2,857,080 | 59.6% |
CALL_BUILTIN_FAST | 983,040 | 20.5% |
CALL_ISINSTANCE | 952,320 | 19.9% |
TO_BOOL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 4,792,320 | 100.0% |
POP_JUMP_IF_TRUE | 180 | 0.0% |
Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER | 1,075,240 | 100.0% |
CALL_METHOD_DESCRIPTOR_NOARGS | 120 | 0.0% |
UNPACK_SEQUENCE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 1,075,420 | 100.0% |
Successors and predecessors for ENTER_EXECUTOR
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 13,516,800 | 33.9% |
CALL_PY_GENERAL | 13,277,880 | 33.3% |
STORE_SUBSCR_DICT | 7,372,800 | 18.5% |
LIST_APPEND | 2,805,760 | 7.0% |
STORE_FAST | 1,843,200 | 4.6% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 33,914,560 | 85.1% |
CALL_PY_GENERAL | 3,698,420 | 9.3% |
PUSH_EXC_INFO | 921,600 | 2.3% |
CALL_FUNCTION_EX | 921,580 | 2.3% |
POP_ITER | 187,040 | 0.5% |
Successors and predecessors for LOAD_BUILD_CLASS
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 60 | 100.0% |
Successors and predecessors for LOAD_LOCALS
Predecessors | Count | Percentage |
---|---|---|
STORE_NAME | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_DEREF | 60 | 100.0% |
Successors and predecessors for LOAD_NAME
Predecessors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_NAME | 60 | 100.0% |
Successors and predecessors for STORE_NAME
Predecessors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 120 | 25.0% |
LOAD_CONST_MORTAL | 120 | 25.0% |
LOAD_FAST | 60 | 12.5% |
LOAD_SMALL_INT | 60 | 12.5% |
SET_FUNCTION_ATTRIBUTE | 60 | 12.5% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 180 | 37.5% |
LOAD_FAST | 120 | 25.0% |
LOAD_LOCALS | 60 | 12.5% |
LOAD_SMALL_INT | 60 | 12.5% |
LOAD_CONST_IMMORTAL | 60 | 12.5% |
Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 40 | 66.7% |
CALL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_DEREF | 60 | 100.0% |
Successors and predecessors for TO_BOOL_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 30,720 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 30,720 | 100.0% |
Successors and predecessors for NOT_TAKEN
Predecessors | Count | Percentage |
---|---|---|
ENTER_EXECUTOR | 30,720 | 100.0% |
Successors | Count | Percentage |
---|---|---|
BUILD_MAP | 30,720 | 100.0% |
Successors and predecessors for CALL_TUPLE_1
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 30,720 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 30,720 | 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. |
120 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
3,686,460 | 100.0% |
miss
ⓘSpecialized instructions that deopt. |
60 | 0.0% |
Success | Count | Ratio |
---|---|---|
Success | 40 | 50.0% |
Failure | 40 | 50.0% |
Failure kind | Count | Ratio |
---|---|---|
multiply different types | 40 | 100.0% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
6,666,420 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 60 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
106,384,760 | 97.9% |
miss
ⓘSpecialized instructions that deopt. |
2,228,120 | 2.1% |
Success | Count | Ratio |
---|---|---|
Success | 42,840 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for CONTAINS_OP family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
34,222,080 | 100.0% |
specialization stats for FOR_ITER family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
1,136,820 | 21.4% |
hit
ⓘSpecialized instructions that complete. |
4,164,380 | 78.6% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 360 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
zip | 280 | 77.8% |
dict items | 80 | 22.2% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
2,983,240 | 10.6% |
hit
ⓘSpecialized instructions that complete. |
25,134,680 | 89.4% |
Success | Count | Ratio |
---|---|---|
Success | 380 | 30.6% |
Failure | 860 | 69.4% |
Failure kind | Count | Ratio |
---|---|---|
method | 540 | 62.8% |
overriding descriptor | 320 | 37.2% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
25,934,320 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 360 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for LOAD_METHOD family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
180 | 4.9% |
miss
ⓘSpecialized instructions that deopt. |
3,180 | 86.9% |
Success | Count | Ratio |
---|---|---|
Success | 300 | 83.3% |
Failure | 60 | 16.7% |
specialization stats for STORE_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
129,680 | 67.7% |
hit
ⓘSpecialized instructions that complete. |
55,500 | 29.0% |
miss
ⓘSpecialized instructions that deopt. |
6,360 | 3.3% |
Success | Count | Ratio |
---|---|---|
Success | 180 | 75.0% |
Failure | 60 | 25.0% |
Failure kind | Count | Ratio |
---|---|---|
split dict | 60 | 100.0% |
specialization stats for STORE_SUBSCR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
21,258,240 | 100.0% |
specialization stats for TO_BOOL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
952,500 | 11.2% |
hit
ⓘSpecialized instructions that complete. |
7,588,020 | 88.8% |
Success | Count | Ratio |
---|---|---|
Success | 60 | 15.0% |
Failure | 340 | 85.0% |
Failure kind | Count | Ratio |
---|---|---|
tuple | 280 | 82.4% |
sequence | 60 | 17.6% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
10,291,380 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 60 | 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. |
382,502,060 | 71.0% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
5,206,320 | 1.0% |
Specialized hits
ⓘSpecialized instructions, e.g. |
148,861,960 | 27.6% |
Specialized misses
ⓘSpecialized instructions, e.g. |
2,238,140 | 0.4% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
LOAD_ATTR | 2,983,240 | 57.3% |
FOR_ITER | 1,136,820 | 21.9% |
TO_BOOL | 952,500 | 18.3% |
STORE_ATTR | 129,680 | 2.5% |
LOAD_METHOD | 180 | 0.0% |
BINARY_OP | 120 | 0.0% |
BINARY_SLICE | 0 | 0.0% |
STORE_SLICE | 0 | 0.0% |
CACHE | 0 | 0.0% |
BINARY_SUBSCR | 0 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
Name | Count | Ratio |
---|---|---|
CALL_PY_GENERAL | 2,228,080 | 99.5% |
STORE_ATTR_INSTANCE_VALUE | 6,360 | 0.3% |
LOAD_METHOD_WITH_VALUES | 3,180 | 0.1% |
RESUME | 420 | 0.0% |
RESUME_CHECK | 420 | 0.0% |
BINARY_OP_ADD_FLOAT | 60 | 0.0% |
CALL_ALLOC_AND_ENTER_INIT | 40 | 0.0% |
CACHE | 0 | 0.0% |
CALL_FUNCTION_EX | 0 | 0.0% |
CHECK_EXC_MATCH | 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 | 1,904,920 | 3.8% |
Calls to Python functions inlined | 48,446,600 | 96.2% |
Calls via PyEval_EvalFrame (total) | 1,904,920 | 3.8% |
Calls via PyEval_EvalFrame (vector) | 61,720 | 0.1% |
Calls via PyEval_EvalFrame (generator) | 1,843,200 | 3.7% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 61,660 | 0.1% |
Calls via PyEval_EvalFrame (build class) | 60 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function ex) | 1,874,100 | 3.7% |
Calls via PyEval_EvalFrame (api) | 0 | 0.0% |
Calls via PyEval_EvalFrame (method) | 0 | 0.0% |
Frame objects created | 2,856,960 | 5.7% |
Frames pushed | 48,508,400 | 96.3% |
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 | 34,056,840 | 35.2% |
Frees to freelist | 34,056,320 | |
Allocations | 62,610,380 | 64.8% |
Allocations to 512 bytes | 62,610,040 | 64.8% |
Allocations to 4 kbytes | 340 | 0.0% |
Allocations over 4 kbytes | 0 | 0.0% |
Frees | 65,466,256 | |
Inline values | 952,440 | |
Interpreter mortal increfs | 313,413,780 | 27.5% |
Interpreter mortal decrefs | 440,603,480 | 35.2% |
Mortal increfs | 493,478,604 | 43.3% |
Mortal decrefs | 453,496,238 | 36.2% |
Interpreter immortal increfs | 36,514,540 | 3.2% |
Interpreter immortal decrefs | 112,578,380 | 9.0% |
Immortal increfs | 296,016,742 | 26.0% |
Immortal decrefs | 246,343,774 | 19.7% |
Materialize dict (on request) | 952,440 | 100.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,260,574 | |
Method cache misses | 226 | |
Method cache collisions | 92,724 | |
Method cache dunder hits | 13,121,166 | |
Method cache dunder misses | 92,674 |
GC collections and effectiveness
Collected/visits gives some measure of efficiency.
Generation | Collections | Objects collected | Object visits | Reachable from roots | Not reachable from roots |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 |
statistics about the Tier 2 optimizer
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. |
9,580 | |
Traces created
ⓘThe number of traces that were successfully created. |
120 | 1.3% |
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. |
8,300 | 86.6% |
Trace too long
ⓘA trace is truncated because it is longer than the instruction buffer. |
0 | 0.0% |
Trace too short
ⓘA potential trace is abandoned because it it too short. |
9,460 | 98.7% |
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 |
84,131,140 | |
Uops executed
ⓘThe total number of uops (micro-operations) that were executed |
1,899,139,240 | 2,257.4% |
Count | Ratio | |
---|---|---|
Optimizer attempts
ⓘThe number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run. |
120 | |
Optimizer successes
ⓘThe number of traces that were successfully optimized. |
120 | 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 | 16.7% |
<= 16 | 0 | 0.0% |
<= 32 | 60 | 50.0% |
<= 64 | 20 | 16.7% |
<= 128 | 20 | 16.7% |
optimized trace length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
<= 2 | 0 | 0.0% |
<= 4 | 20 | 16.7% |
<= 8 | 0 | 0.0% |
<= 16 | 0 | 0.0% |
<= 32 | 80 | 66.7% |
<= 64 | 0 | 0.0% |
<= 128 | 20 | 16.7% |
trace run length histogram
Range | Count | Ratio |
---|---|---|
<= 1 | 0 | 0.0% |
uop execution stats
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
_SET_IP | 214,263,560 | 11.3% | 11.3% | |
_CHECK_VALIDITY | 179,612,820 | 9.5% | 20.7% | |
_PUSH_NULL | 94,516,780 | 5.0% | 25.7% | |
_CHECK_VALIDITY_AND_SET_IP | 89,331,800 | 4.7% | 30.4% | |
_MAKE_WARM | 85,974,340 | 4.5% | 34.9% | |
_START_EXECUTOR | 84,131,140 | 4.4% | 39.4% | |
_LOAD_FAST_0 | 83,778,100 | 4.4% | 43.8% | |
_CHECK_PERIODIC | 65,667,640 | 3.5% | 47.2% | |
_LOAD_CONST_INLINE | 63,339,420 | 3.3% | 50.6% | |
_EXIT_TRACE | 59,660,380 | 3.1% | 53.7% | |
_LOAD_FAST_3 | 51,611,240 | 2.7% | 56.4% | |
_CHECK_FUNCTION | 51,058,240 | 2.7% | 59.1% | |
_LOAD_FAST_1 | 48,539,440 | 2.6% | 61.7% | |
_LOAD_CONST_INLINE_BORROW | 40,515,940 | 2.1% | 63.8% | |
_STORE_FAST_3 | 39,594,300 | 2.1% | 65.9% | |
_LOAD_FAST_2 | 37,737,760 | 2.0% | 67.9% | |
_GUARD_IS_TRUE_POP | 37,263,000 | 2.0% | 69.9% | 26.3% |
_TIER2_RESUME_CHECK | 36,802,540 | 1.9% | 71.8% | 0.0% |
_CALL_TYPE_1 | 34,037,420 | 1.8% | 73.6% | |
_CONTAINS_OP_SET | 34,037,420 | 1.8% | 75.4% | |
_LOAD_FAST_5 | 30,873,500 | 1.6% | 77.0% | |
_STORE_FAST_5 | 28,630,960 | 1.5% | 78.5% | |
_CHECK_FUNCTION_VERSION | 25,499,580 | 1.3% | 79.9% | 14.5% |
_DYNAMIC_EXIT | 23,548,800 | 1.2% | 81.1% | |
_PUSH_FRAME | 23,548,800 | 1.2% | 82.3% | |
_PY_FRAME_GENERAL | 23,548,800 | 1.2% | 83.6% | |
_SAVE_RETURN_OFFSET | 23,548,800 | 1.2% | 84.8% | |
_LOAD_FAST_4 | 19,445,720 | 1.0% | 85.8% | |
_STORE_FAST_4 | 18,923,420 | 1.0% | 86.8% | |
_LOAD_METHOD_NO_DICT | 17,085,660 | 0.9% | 87.7% | |
_GUARD_IS_NOT_NONE_POP | 15,273,220 | 0.8% | 88.5% | 12.3% |
_LOAD_FAST_6 | 14,817,880 | 0.8% | 89.3% | |
_CALL_METHOD_DESCRIPTOR_FAST | 14,320,900 | 0.8% | 90.1% | |
_CALL_BUILTIN_O | 14,315,420 | 0.8% | 90.8% | |
_FOR_ITER_TIER_TWO | 12,902,400 | 0.7% | 91.5% | 28.6% |
_GUARD_NOT_EXHAUSTED_LIST | 12,595,200 | 0.7% | 92.2% | 15.1% |
_ITER_CHECK_LIST | 12,595,200 | 0.7% | 92.8% | |
_STORE_FAST_6 | 10,999,780 | 0.6% | 93.4% | |
_ITER_NEXT_LIST | 10,690,560 | 0.6% | 94.0% | |
_GUARD_TYPE_VERSION | 10,598,320 | 0.6% | 94.5% | |
_IS_OP | 9,676,760 | 0.5% | 95.0% | |
_UNPACK_SEQUENCE_TWO_TUPLE | 9,215,960 | 0.5% | 95.5% | |
_POP_TOP | 8,779,800 | 0.5% | 96.0% | |
_GUARD_IS_FALSE_POP | 8,294,380 | 0.4% | 96.4% | |
_GUARD_NOT_EXHAUSTED_TUPLE | 5,085,920 | 0.3% | 96.7% | 45.8% |
_ITER_CHECK_TUPLE | 5,085,920 | 0.3% | 97.0% | |
_BUILD_MAP | 4,607,940 | 0.2% | 97.2% | |
_CALL_BUILTIN_FAST | 3,686,400 | 0.2% | 97.4% | |
_GET_ITER | 3,188,040 | 0.2% | 97.6% | |
_LOAD_FAST | 3,123,240 | 0.2% | 97.7% | |
_LOAD_FAST_7 | 2,764,800 | 0.1% | 97.9% | |
_GUARD_IS_NONE_POP | 2,764,780 | 0.1% | 98.0% | 33.3% |
_STORE_SUBSCR_DICT | 2,764,760 | 0.1% | 98.2% | |
_CALL_METHOD_DESCRIPTOR_NOARGS | 2,764,760 | 0.1% | 98.3% | |
_ITER_NEXT_TUPLE | 2,754,600 | 0.1% | 98.5% | |
_STORE_FAST | 2,201,640 | 0.1% | 98.6% | |
_TO_BOOL_BOOL | 1,843,200 | 0.1% | 98.7% | |
_JUMP_TO_TOP | 1,843,200 | 0.1% | 98.8% | |
_STORE_FAST_7 | 1,843,200 | 0.1% | 98.9% | |
_STORE_FAST_1 | 1,843,180 | 0.1% | 99.0% | |
_CALL_NON_PY_GENERAL | 1,747,640 | 0.1% | 99.1% | |
_CHECK_FUNCTION_VERSION_INLINE | 1,747,640 | 0.1% | 99.1% | |
_CHECK_IS_NOT_PY_CALLABLE | 1,747,640 | 0.1% | 99.2% | |
_GUARD_NOT_EXHAUSTED_RANGE | 1,409,720 | 0.1% | 99.3% | 8.7% |
_ITER_CHECK_RANGE | 1,409,720 | 0.1% | 99.4% | |
_LOAD_ATTR | 1,317,560 | 0.1% | 99.5% | |
_ITER_NEXT_RANGE | 1,286,840 | 0.1% | 99.5% | |
_LOAD_SMALL_INT | 948,920 | 0.0% | 99.6% | |
_BUILD_LIST | 921,600 | 0.0% | 99.6% | |
_CALL_INTRINSIC_1 | 921,600 | 0.0% | 99.7% | |
_LIST_EXTEND | 921,600 | 0.0% | 99.7% | |
_BINARY_SUBSCR_DICT | 921,600 | 0.0% | 99.8% | |
_CALL_ISINSTANCE | 921,600 | 0.0% | 99.8% | |
_TO_BOOL_NONE | 921,600 | 0.0% | 99.9% | |
_ERROR_POP_N | 921,600 | 0.0% | 99.9% | |
_STORE_ATTR | 884,080 | 0.0% | 100.0% | |
_STORE_SUBSCR_LIST_INT | 395,960 | 0.0% | 100.0% | |
_LOAD_SMALL_INT_0 | 395,960 | 0.0% | 100.0% | |
_CALL_BUILTIN_CLASS | 27,320 | 0.0% | 100.0% | |
_DEOPT | 360 | 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.
unsupported opcodes
Opcode | Count |
---|---|
CALL_FUNCTION_EX | 240 |
CALL | 240 |
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 | 60 |
Stats gathered on: 2025-01-22