- benchmark: meteor_contest
- fork: python
- ref: cf4c4ecc26c7e3b89f2e56893260a8a3319dab3d
- commit hash: cf4c4ec
- commit date: 2025-02-01T18:49:45+02:00
Execution counts for Tier 1 instructions.
The "miss ratio" column shows the percentage of times the instruction executed that it deoptimized. When this happens, the base unspecialized instruction is not counted.
Name | Count | Self | Cumulative | Miss ratio |
---|---|---|---|---|
STORE_FAST | 64,603,500 | 13.3% | 13.3% | |
LOAD_FAST | 60,489,780 | 12.5% | 25.8% | |
LOAD_FAST_LOAD_FAST | 58,566,900 | 12.1% | 37.8% | |
JUMP_BACKWARD_NO_JIT | 46,731,240 | 9.6% | 47.4% | |
FOR_ITER_LIST | 38,009,220 | 7.8% | 55.3% | |
POP_JUMP_IF_TRUE | 31,296,000 | 6.4% | 61.7% | |
COMPARE_OP | 26,469,600 | 5.4% | 67.1% | |
FOR_ITER | 18,532,340 | 3.8% | 71.0% | |
STORE_SUBSCR_LIST_INT | 15,439,800 | 3.2% | 74.1% | |
LOAD_GLOBAL_BUILTIN | 14,097,240 | 2.9% | 77.0% | |
EXTENDED_ARG | 11,543,400 | 2.4% | 79.4% | |
CALL_LEN | 11,007,180 | 2.3% | 81.7% | |
COMPARE_OP_INT | 11,007,000 | 2.3% | 83.9% | |
GET_ITER | 9,805,920 | 2.0% | 86.0% | |
BINARY_SUBSCR_LIST_INT | 9,804,060 | 2.0% | 88.0% | |
POP_ITER | 9,803,100 | 2.0% | 90.0% | |
LOAD_SMALL_INT | 6,174,240 | 1.3% | 91.3% | |
POP_JUMP_IF_FALSE | 6,174,240 | 1.3% | 92.5% | |
BINARY_OP | 6,173,940 | 1.3% | 93.8% | |
BINARY_SUBSCR | 4,977,720 | 1.0% | 94.8% | |
LOAD_CONST_MORTAL | 4,976,580 | 1.0% | 95.9% | |
POP_TOP | 3,780,240 | 0.8% | 96.6% | |
CALL_BUILTIN_FAST_WITH_KEYWORDS | 3,089,760 | 0.6% | 97.3% | |
LOAD_ATTR_METHOD_NO_DICT | 1,892,220 | 0.4% | 97.7% | |
LOAD_CONST_IMMORTAL | 1,889,220 | 0.4% | 98.1% | |
CALL_METHOD_DESCRIPTOR_O | 1,888,560 | 0.4% | 98.4% | |
RETURN_VALUE | 1,887,180 | 0.4% | 98.8% | |
RESUME_CHECK | 1,887,180 | 0.4% | 99.2% | |
LOAD_GLOBAL_MODULE | 1,887,120 | 0.4% | 99.6% | |
CALL_PY_GENERAL | 1,886,820 | 0.4% | 100.0% | |
PUSH_NULL | 4,140 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_FAST | 3,600 | 0.0% | 100.0% | |
CALL_BUILTIN_CLASS | 2,100 | 0.0% | 100.0% | |
CALL | 420 | 0.0% | 100.0% | |
LOAD_ATTR | 300 | 0.0% | 100.0% | |
LOAD_GLOBAL | 300 | 0.0% | 100.0% | |
CALL_NON_PY_GENERAL | 300 | 0.0% | 100.0% | |
CALL_PY_EXACT_ARGS | 240 | 0.0% | 100.0% | |
LOAD_ATTR_INSTANCE_VALUE | 240 | 0.0% | 100.0% | |
LOAD_ATTR_MODULE | 240 | 0.0% | 100.0% | |
BUILD_LIST | 180 | 0.0% | 100.0% | |
CALL_FUNCTION_EX | 120 | 0.0% | 100.0% | |
BUILD_TUPLE | 120 | 0.0% | 100.0% | |
LOAD_DEREF | 120 | 0.0% | 100.0% | |
FOR_ITER_RANGE | 120 | 0.0% | 100.0% | |
LOAD_ATTR_METHOD_WITH_VALUES | 120 | 0.0% | 100.0% | |
TO_BOOL | 100 | 0.0% | 100.0% | |
MAKE_FUNCTION | 60 | 0.0% | 100.0% | |
NOP | 60 | 0.0% | 100.0% | |
CALL_INTRINSIC_1 | 60 | 0.0% | 100.0% | |
COPY_FREE_VARS | 60 | 0.0% | 100.0% | |
IS_OP | 60 | 0.0% | 100.0% | |
JUMP_FORWARD | 60 | 0.0% | 100.0% | |
LIST_EXTEND | 60 | 0.0% | 100.0% | |
LOAD_FAST_CHECK | 60 | 0.0% | 100.0% | |
MAKE_CELL | 60 | 0.0% | 100.0% | |
POP_JUMP_IF_NOT_NONE | 60 | 0.0% | 100.0% | |
SET_FUNCTION_ATTRIBUTE | 60 | 0.0% | 100.0% | |
STORE_DEREF | 60 | 0.0% | 100.0% | |
STORE_FAST_STORE_FAST | 60 | 0.0% | 100.0% | |
BINARY_OP_SUBTRACT_FLOAT | 60 | 0.0% | 100.0% | |
BINARY_SUBSCR_TUPLE_INT | 60 | 0.0% | 100.0% | |
CALL_METHOD_DESCRIPTOR_NOARGS | 60 | 0.0% | 100.0% | |
TO_BOOL_BOOL | 60 | 0.0% | 100.0% | |
UNPACK_SEQUENCE_TWO_TUPLE | 60 | 0.0% | 100.0% | |
UNPACK_SEQUENCE | 20 | 0.0% | 100.0% |
Pair counts for top 100 opcode pairs
Pairs of specialized operations that deoptimize and are then followed by the corresponding unspecialized instruction are not counted as pairs.
Pair | Count | Self | Cumulative |
---|---|---|---|
STORE_FAST LOAD_FAST_LOAD_FAST | 46,734,000 | 9.6% | 9.6% |
FOR_ITER_LIST STORE_FAST | 31,294,200 | 6.4% | 16.1% |
COMPARE_OP POP_JUMP_IF_TRUE | 26,463,060 | 5.4% | 21.5% |
LOAD_FAST_LOAD_FAST COMPARE_OP | 26,463,060 | 5.4% | 27.0% |
JUMP_BACKWARD_NO_JIT FOR_ITER_LIST | 26,463,000 | 5.4% | 32.4% |
POP_JUMP_IF_TRUE JUMP_BACKWARD_NO_JIT | 23,376,840 | 4.8% | 37.2% |
LOAD_FAST_LOAD_FAST LOAD_FAST | 22,299,480 | 4.6% | 41.8% |
JUMP_BACKWARD_NO_JIT FOR_ITER | 15,439,860 | 3.2% | 45.0% |
FOR_ITER STORE_FAST | 15,439,800 | 3.2% | 48.2% |
LOAD_FAST STORE_SUBSCR_LIST_INT | 15,439,800 | 3.2% | 51.3% |
STORE_SUBSCR_LIST_INT JUMP_BACKWARD_NO_JIT | 15,439,800 | 3.2% | 54.5% |
STORE_FAST LOAD_FAST | 11,696,460 | 2.4% | 56.9% |
LOAD_GLOBAL_BUILTIN LOAD_FAST | 11,009,040 | 2.3% | 59.2% |
LOAD_FAST GET_ITER | 9,805,920 | 2.0% | 61.2% |
LOAD_FAST CALL_LEN | 7,920,960 | 1.6% | 62.8% |
POP_ITER LOAD_GLOBAL_BUILTIN | 7,919,040 | 1.6% | 64.5% |
LOAD_FAST_LOAD_FAST BINARY_SUBSCR_LIST_INT | 6,717,900 | 1.4% | 65.9% |
BINARY_SUBSCR_LIST_INT STORE_FAST | 6,717,900 | 1.4% | 67.2% |
EXTENDED_ARG FOR_ITER_LIST | 6,715,080 | 1.4% | 68.6% |
FOR_ITER_LIST POP_ITER | 6,715,020 | 1.4% | 70.0% |
LOAD_SMALL_INT COMPARE_OP_INT | 6,174,120 | 1.3% | 71.3% |
CALL_LEN LOAD_SMALL_INT | 6,174,120 | 1.3% | 72.5% |
COMPARE_OP_INT POP_JUMP_IF_FALSE | 6,174,120 | 1.3% | 73.8% |
STORE_FAST LOAD_GLOBAL_BUILTIN | 6,172,400 | 1.3% | 75.1% |
BINARY_SUBSCR STORE_FAST | 4,976,460 | 1.0% | 76.1% |
LOAD_FAST LOAD_CONST_MORTAL | 4,976,460 | 1.0% | 77.1% |
LOAD_CONST_MORTAL BINARY_SUBSCR | 4,976,460 | 1.0% | 78.2% |
LOAD_FAST COMPARE_OP_INT | 4,832,880 | 1.0% | 79.2% |
CALL_LEN LOAD_FAST | 4,832,880 | 1.0% | 80.2% |
COMPARE_OP_INT POP_JUMP_IF_TRUE | 4,832,880 | 1.0% | 81.1% |
GET_ITER FOR_ITER_LIST | 4,831,140 | 1.0% | 82.1% |
EXTENDED_ARG JUMP_BACKWARD_NO_JIT | 4,828,320 | 1.0% | 83.1% |
POP_JUMP_IF_TRUE EXTENDED_ARG | 4,828,320 | 1.0% | 84.1% |
JUMP_BACKWARD_NO_JIT EXTENDED_ARG | 4,828,320 | 1.0% | 85.1% |
LOAD_FAST LOAD_FAST_LOAD_FAST | 3,773,460 | 0.8% | 85.9% |
LOAD_FAST CALL_BUILTIN_FAST_WITH_KEYWORDS | 3,089,760 | 0.6% | 86.5% |
FOR_ITER POP_ITER | 3,088,020 | 0.6% | 87.2% |
GET_ITER FOR_ITER | 3,087,960 | 0.6% | 87.8% |
POP_JUMP_IF_TRUE LOAD_FAST | 3,087,960 | 0.6% | 88.4% |
BINARY_OP STORE_FAST | 3,086,220 | 0.6% | 89.1% |
BINARY_OP CALL_LEN | 3,086,160 | 0.6% | 89.7% |
LOAD_FAST BINARY_SUBSCR_LIST_INT | 3,086,160 | 0.6% | 90.3% |
LOAD_FAST_LOAD_FAST BINARY_OP | 3,086,160 | 0.6% | 91.0% |
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST | 3,086,160 | 0.6% | 91.6% |
BINARY_SUBSCR_LIST_INT BINARY_OP | 3,086,160 | 0.6% | 92.3% |
CALL_BUILTIN_FAST_WITH_KEYWORDS STORE_FAST | 3,086,160 | 0.6% | 92.9% |
LOAD_GLOBAL_BUILTIN LOAD_FAST_LOAD_FAST | 3,086,160 | 0.6% | 93.5% |
LOAD_FAST LOAD_FAST | 1,890,300 | 0.4% | 93.9% |
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT | 1,890,300 | 0.4% | 94.3% |
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST | 1,890,300 | 0.4% | 94.7% |
RETURN_VALUE POP_TOP | 1,886,940 | 0.4% | 95.1% |
LOAD_CONST_IMMORTAL RETURN_VALUE | 1,886,940 | 0.4% | 95.5% |
POP_TOP JUMP_BACKWARD_NO_JIT | 1,886,820 | 0.4% | 95.9% |
POP_JUMP_IF_FALSE LOAD_FAST | 1,886,820 | 0.4% | 96.2% |
GET_ITER EXTENDED_ARG | 1,886,760 | 0.4% | 96.6% |
CALL_METHOD_DESCRIPTOR_O POP_TOP | 1,886,760 | 0.4% | 97.0% |
CALL_PY_GENERAL RESUME_CHECK | 1,886,760 | 0.4% | 97.4% |
LOAD_GLOBAL_MODULE LOAD_FAST | 1,886,760 | 0.4% | 97.8% |
RESUME_CHECK LOAD_FAST_LOAD_FAST | 1,886,760 | 0.4% | 98.2% |
LOAD_FAST CALL_PY_GENERAL | 1,886,740 | 0.4% | 98.6% |
POP_TOP LOAD_GLOBAL_MODULE | 1,886,700 | 0.4% | 99.0% |
LOAD_FAST CALL_METHOD_DESCRIPTOR_O | 1,886,700 | 0.4% | 99.4% |
POP_ITER LOAD_CONST_IMMORTAL | 1,883,940 | 0.4% | 99.7% |
POP_JUMP_IF_FALSE JUMP_BACKWARD_NO_JIT | 1,199,460 | 0.2% | 100.0% |
COMPARE_OP COMPARE_OP | 6,480 | 0.0% | 100.0% |
FOR_ITER FOR_ITER | 4,520 | 0.0% | 100.0% |
LOAD_FAST PUSH_NULL | 3,780 | 0.0% | 100.0% |
PUSH_NULL LOAD_FAST | 3,720 | 0.0% | 100.0% |
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST | 3,600 | 0.0% | 100.0% |
CALL_BUILTIN_FAST_WITH_KEYWORDS LOAD_FAST | 3,600 | 0.0% | 100.0% |
CALL_METHOD_DESCRIPTOR_FAST POP_TOP | 3,600 | 0.0% | 100.0% |
POP_TOP LOAD_CONST_IMMORTAL | 3,000 | 0.0% | 100.0% |
POP_JUMP_IF_TRUE POP_TOP | 2,820 | 0.0% | 100.0% |
LOAD_GLOBAL_BUILTIN LOAD_GLOBAL_BUILTIN | 1,960 | 0.0% | 100.0% |
POP_TOP LOAD_FAST | 1,860 | 0.0% | 100.0% |
LOAD_FAST CALL_BUILTIN_CLASS | 1,840 | 0.0% | 100.0% |
POP_TOP LOAD_GLOBAL_BUILTIN | 1,800 | 0.0% | 100.0% |
POP_JUMP_IF_FALSE LOAD_CONST_IMMORTAL | 1,800 | 0.0% | 100.0% |
CALL_BUILTIN_CLASS CALL_METHOD_DESCRIPTOR_O | 1,800 | 0.0% | 100.0% |
CALL_METHOD_DESCRIPTOR_O STORE_FAST | 1,800 | 0.0% | 100.0% |
LOAD_ATTR_METHOD_NO_DICT LOAD_GLOBAL_BUILTIN | 1,800 | 0.0% | 100.0% |
LOAD_CONST_IMMORTAL LOAD_ATTR_METHOD_NO_DICT | 1,800 | 0.0% | 100.0% |
BINARY_OP BINARY_OP | 1,540 | 0.0% | 100.0% |
BINARY_SUBSCR BINARY_SUBSCR | 1,240 | 0.0% | 100.0% |
STORE_FAST LOAD_CONST_IMMORTAL | 240 | 0.0% | 100.0% |
LOAD_ATTR_MODULE PUSH_NULL | 240 | 0.0% | 100.0% |
RETURN_VALUE STORE_FAST | 180 | 0.0% | 100.0% |
CALL_BUILTIN_CLASS STORE_FAST | 180 | 0.0% | 100.0% |
CALL_PY_EXACT_ARGS RESUME_CHECK | 180 | 0.0% | 100.0% |
RESUME_CHECK LOAD_FAST | 180 | 0.0% | 100.0% |
PUSH_NULL CALL_NON_PY_GENERAL | 160 | 0.0% | 100.0% |
LOAD_GLOBAL LOAD_GLOBAL_BUILTIN | 160 | 0.0% | 100.0% |
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE | 160 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR | 140 | 0.0% | 100.0% |
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE | 140 | 0.0% | 100.0% |
LOAD_GLOBAL LOAD_GLOBAL_MODULE | 140 | 0.0% | 100.0% |
PUSH_NULL CALL_FUNCTION_EX | 120 | 0.0% | 100.0% |
LOAD_FAST RETURN_VALUE | 120 | 0.0% | 100.0% |
LOAD_FAST LOAD_SMALL_INT | 120 | 0.0% | 100.0% |
LOAD_FAST LOAD_CONST_IMMORTAL | 120 | 0.0% | 100.0% |
Top 5 predecessors and successors of each Tier 1 opcode.
This does not include the unspecialized instructions that occur after a specialized instruction deoptimizes.
Successors and predecessors for CACHE
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors and predecessors for BINARY_SUBSCR
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 4,976,460 | 100.0% |
BINARY_SUBSCR | 1,240 | 0.0% |
LOAD_SMALL_INT | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 4,976,460 | 100.0% |
BINARY_SUBSCR | 1,240 | 0.0% |
BINARY_SUBSCR_TUPLE_INT | 20 | 0.0% |
Successors and predecessors for CALL_FUNCTION_EX
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 120 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors and predecessors for GET_ITER
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 9,805,920 | 100.0% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_LIST | 4,831,140 | 49.3% |
FOR_ITER | 3,087,960 | 31.5% |
EXTENDED_ARG | 1,886,760 | 19.2% |
FOR_ITER_RANGE | 60 | 0.0% |
Successors and predecessors for MAKE_FUNCTION
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
SET_FUNCTION_ATTRIBUTE | 60 | 100.0% |
Successors and predecessors for NOP
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors and predecessors for POP_ITER
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER_LIST | 6,715,020 | 68.5% |
FOR_ITER | 3,088,020 | 31.5% |
FOR_ITER_RANGE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 7,919,040 | 80.8% |
LOAD_CONST_IMMORTAL | 1,883,940 | 19.2% |
LOAD_FAST | 60 | 0.0% |
LOAD_GLOBAL_MODULE | 40 | 0.0% |
LOAD_GLOBAL | 20 | 0.0% |
Successors and predecessors for POP_TOP
Predecessors | Count | Percentage |
---|---|---|
RETURN_VALUE | 1,886,940 | 49.9% |
CALL_METHOD_DESCRIPTOR_O | 1,886,760 | 49.9% |
CALL_METHOD_DESCRIPTOR_FAST | 3,600 | 0.1% |
POP_JUMP_IF_TRUE | 2,820 | 0.1% |
POP_TOP | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 1,886,820 | 49.9% |
LOAD_GLOBAL_MODULE | 1,886,700 | 49.9% |
LOAD_CONST_IMMORTAL | 3,000 | 0.1% |
LOAD_FAST | 1,860 | 0.0% |
LOAD_GLOBAL_BUILTIN | 1,800 | 0.0% |
Successors and predecessors for PUSH_NULL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,780 | 91.3% |
LOAD_ATTR_MODULE | 240 | 5.8% |
CALL_INTRINSIC_1 | 60 | 1.4% |
LOAD_DEREF | 60 | 1.4% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,720 | 89.9% |
CALL_NON_PY_GENERAL | 160 | 3.9% |
CALL_FUNCTION_EX | 120 | 2.9% |
CALL | 80 | 1.9% |
LOAD_FAST_LOAD_FAST | 60 | 1.4% |
Successors and predecessors for RETURN_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 1,886,940 | 100.0% |
LOAD_FAST | 120 | 0.0% |
RETURN_VALUE | 60 | 0.0% |
CALL_NON_PY_GENERAL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 1,886,940 | 100.0% |
STORE_FAST | 180 | 0.0% |
RETURN_VALUE | 60 | 0.0% |
Successors and predecessors for TO_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_INSTANCE_VALUE | 60 | 60.0% |
TO_BOOL | 20 | 20.0% |
LOAD_FAST | 20 | 20.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 60 | 60.0% |
TO_BOOL | 20 | 20.0% |
TO_BOOL_BOOL | 20 | 20.0% |
Successors and predecessors for BINARY_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 3,086,160 | 50.0% |
BINARY_SUBSCR_LIST_INT | 3,086,160 | 50.0% |
BINARY_OP | 1,540 | 0.0% |
CALL_LEN | 60 | 0.0% |
LOAD_FAST | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 3,086,220 | 50.0% |
CALL_LEN | 3,086,160 | 50.0% |
BINARY_OP | 1,540 | 0.0% |
BINARY_OP_SUBTRACT_FLOAT | 20 | 0.0% |
Successors and predecessors for BUILD_LIST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 33.3% |
STORE_FAST | 60 | 33.3% |
LOAD_CONST_IMMORTAL | 60 | 33.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_DEREF | 60 | 33.3% |
STORE_FAST | 60 | 33.3% |
LOAD_GLOBAL_BUILTIN | 40 | 22.2% |
LOAD_GLOBAL | 20 | 11.1% |
Successors and predecessors for BUILD_TUPLE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 50.0% |
LOAD_FAST_LOAD_FAST | 60 | 50.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 60 | 50.0% |
CALL_METHOD_DESCRIPTOR_O | 40 | 33.3% |
CALL | 20 | 16.7% |
Successors and predecessors for CALL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 100 | 23.8% |
PUSH_NULL | 80 | 19.0% |
LOAD_FAST_LOAD_FAST | 60 | 14.3% |
CALL_BUILTIN_CLASS | 40 | 9.5% |
CALL_LEN | 40 | 9.5% |
Successors | Count | Percentage |
---|---|---|
CALL_BUILTIN_CLASS | 100 | 23.8% |
CALL_NON_PY_GENERAL | 100 | 23.8% |
CALL_PY_EXACT_ARGS | 80 | 19.0% |
CALL_LEN | 60 | 14.3% |
CALL_PY_GENERAL | 40 | 9.5% |
Successors and predecessors for CALL_INTRINSIC_1
Predecessors | Count | Percentage |
---|---|---|
LIST_EXTEND | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 60 | 100.0% |
Successors and predecessors for COMPARE_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 26,463,060 | 100.0% |
COMPARE_OP | 6,480 | 0.0% |
LOAD_GLOBAL_MODULE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 26,463,060 | 100.0% |
COMPARE_OP | 6,480 | 0.0% |
POP_JUMP_IF_FALSE | 60 | 0.0% |
Successors and predecessors for COPY_FREE_VARS
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_EXACT_ARGS | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors and predecessors for EXTENDED_ARG
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 4,828,320 | 41.8% |
JUMP_BACKWARD_NO_JIT | 4,828,320 | 41.8% |
GET_ITER | 1,886,760 | 16.3% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_LIST | 6,715,080 | 58.2% |
JUMP_BACKWARD_NO_JIT | 4,828,320 | 41.8% |
Successors and predecessors for FOR_ITER
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 15,439,860 | 83.3% |
GET_ITER | 3,087,960 | 16.7% |
FOR_ITER | 4,520 | 0.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 15,439,800 | 83.3% |
POP_ITER | 3,088,020 | 16.7% |
FOR_ITER | 4,520 | 0.0% |
Successors and predecessors for IS_OP
Predecessors | Count | Percentage |
---|---|---|
LOAD_CONST_IMMORTAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for JUMP_FORWARD
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors and predecessors for LIST_EXTEND
Predecessors | Count | Percentage |
---|---|---|
LOAD_DEREF | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
CALL_INTRINSIC_1 | 60 | 100.0% |
Successors and predecessors for LOAD_ATTR
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 140 | 46.7% |
LOAD_GLOBAL_MODULE | 80 | 26.7% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 13.3% |
LOAD_ATTR | 20 | 6.7% |
LOAD_FAST_LOAD_FAST | 20 | 6.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_MODULE | 80 | 26.7% |
LOAD_FAST_LOAD_FAST | 60 | 20.0% |
LOAD_ATTR_INSTANCE_VALUE | 60 | 20.0% |
LOAD_ATTR_METHOD_NO_DICT | 40 | 13.3% |
LOAD_ATTR_METHOD_WITH_VALUES | 40 | 13.3% |
Successors and predecessors for LOAD_DEREF
Predecessors | Count | Percentage |
---|---|---|
BUILD_LIST | 60 | 50.0% |
RESUME_CHECK | 60 | 50.0% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 60 | 50.0% |
LIST_EXTEND | 60 | 50.0% |
Successors and predecessors for LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 22,299,480 | 36.9% |
STORE_FAST | 11,696,460 | 19.3% |
LOAD_GLOBAL_BUILTIN | 11,009,040 | 18.2% |
CALL_LEN | 4,832,880 | 8.0% |
POP_JUMP_IF_TRUE | 3,087,960 | 5.1% |
Successors | Count | Percentage |
---|---|---|
STORE_SUBSCR_LIST_INT | 15,439,800 | 25.5% |
GET_ITER | 9,805,920 | 16.2% |
CALL_LEN | 7,920,960 | 13.1% |
LOAD_CONST_MORTAL | 4,976,460 | 8.2% |
COMPARE_OP_INT | 4,832,880 | 8.0% |
Successors and predecessors for LOAD_FAST_CHECK
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 40 | 66.7% |
LOAD_GLOBAL | 20 | 33.3% |
Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 46,734,000 | 79.8% |
LOAD_FAST | 3,773,460 | 6.4% |
POP_JUMP_IF_FALSE | 3,086,160 | 5.3% |
LOAD_GLOBAL_BUILTIN | 3,086,160 | 5.3% |
RESUME_CHECK | 1,886,760 | 3.2% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP | 26,463,060 | 45.2% |
LOAD_FAST | 22,299,480 | 38.1% |
BINARY_SUBSCR_LIST_INT | 6,717,900 | 11.5% |
BINARY_OP | 3,086,160 | 5.3% |
CALL_PY_EXACT_ARGS | 80 | 0.0% |
Successors and predecessors for LOAD_GLOBAL
Predecessors | Count | Percentage |
---|---|---|
STORE_FAST | 100 | 33.3% |
LOAD_GLOBAL_BUILTIN | 80 | 26.7% |
RESUME_CHECK | 60 | 20.0% |
POP_ITER | 20 | 6.7% |
BUILD_LIST | 20 | 6.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_BUILTIN | 160 | 53.3% |
LOAD_GLOBAL_MODULE | 140 | 46.7% |
Successors and predecessors for LOAD_SMALL_INT
Predecessors | Count | Percentage |
---|---|---|
CALL_LEN | 6,174,120 | 100.0% |
LOAD_FAST | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 6,174,120 | 100.0% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
BINARY_SUBSCR_TUPLE_INT | 40 | 0.0% |
BINARY_SUBSCR | 20 | 0.0% |
Successors and predecessors for MAKE_CELL
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_GENERAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 60 | 100.0% |
Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP_INT | 6,174,120 | 100.0% |
TO_BOOL | 60 | 0.0% |
COMPARE_OP | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 3,086,160 | 50.0% |
LOAD_FAST | 1,886,820 | 30.6% |
JUMP_BACKWARD_NO_JIT | 1,199,460 | 19.4% |
LOAD_CONST_IMMORTAL | 1,800 | 0.0% |
Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_CONST_MORTAL | 60 | 100.0% |
Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors | Count | Percentage |
---|---|---|
COMPARE_OP | 26,463,060 | 84.6% |
COMPARE_OP_INT | 4,832,880 | 15.4% |
TO_BOOL_BOOL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 23,376,840 | 74.7% |
EXTENDED_ARG | 4,828,320 | 15.4% |
LOAD_FAST | 3,087,960 | 9.9% |
POP_TOP | 2,820 | 0.0% |
NOP | 60 | 0.0% |
Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors | Count | Percentage |
---|---|---|
MAKE_FUNCTION | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for STORE_DEREF
Predecessors | Count | Percentage |
---|---|---|
CALL_NON_PY_GENERAL | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors and predecessors for STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
FOR_ITER_LIST | 31,294,200 | 48.4% |
FOR_ITER | 15,439,800 | 23.9% |
BINARY_SUBSCR_LIST_INT | 6,717,900 | 10.4% |
BINARY_SUBSCR | 4,976,460 | 7.7% |
BINARY_OP | 3,086,220 | 4.8% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 46,734,000 | 72.3% |
LOAD_FAST | 11,696,460 | 18.1% |
LOAD_GLOBAL_BUILTIN | 6,172,400 | 9.6% |
LOAD_CONST_IMMORTAL | 240 | 0.0% |
LOAD_GLOBAL_MODULE | 120 | 0.0% |
Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 60 | 100.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 20 | 100.0% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 20 | 100.0% |
Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 40 | 66.7% |
BINARY_OP | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 6,717,900 | 68.5% |
LOAD_FAST | 3,086,160 | 31.5% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 6,717,900 | 68.5% |
BINARY_OP | 3,086,160 | 31.5% |
Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 40 | 66.7% |
BINARY_SUBSCR | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 60 | 100.0% |
Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,840 | 87.6% |
CALL | 100 | 4.8% |
CALL_BUILTIN_CLASS | 80 | 3.8% |
CALL_LEN | 80 | 3.8% |
Successors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_O | 1,800 | 85.7% |
STORE_FAST | 180 | 8.6% |
CALL_BUILTIN_CLASS | 80 | 3.8% |
CALL | 40 | 1.9% |
Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,089,760 | 100.0% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 3,086,160 | 99.9% |
LOAD_FAST | 3,600 | 0.1% |
Successors and predecessors for CALL_LEN
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 7,920,960 | 72.0% |
BINARY_OP | 3,086,160 | 28.0% |
CALL | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 6,174,120 | 56.1% |
LOAD_FAST | 4,832,880 | 43.9% |
CALL_BUILTIN_CLASS | 80 | 0.0% |
BINARY_OP | 60 | 0.0% |
CALL | 40 | 0.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 3,600 | 100.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 3,600 | 100.0% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 40 | 66.7% |
CALL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
UNPACK_SEQUENCE_TWO_TUPLE | 40 | 66.7% |
UNPACK_SEQUENCE | 20 | 33.3% |
Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,886,700 | 99.9% |
CALL_BUILTIN_CLASS | 1,800 | 0.1% |
BUILD_TUPLE | 40 | 0.0% |
CALL | 20 | 0.0% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 1,886,760 | 99.9% |
STORE_FAST | 1,800 | 0.1% |
Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
PUSH_NULL | 160 | 53.3% |
CALL | 100 | 33.3% |
LOAD_FAST_LOAD_FAST | 40 | 13.3% |
Successors | Count | Percentage |
---|---|---|
POP_TOP | 60 | 20.0% |
RETURN_VALUE | 60 | 20.0% |
LOAD_FAST | 60 | 20.0% |
STORE_DEREF | 60 | 20.0% |
STORE_FAST | 60 | 20.0% |
Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors | Count | Percentage |
---|---|---|
CALL | 80 | 33.3% |
LOAD_FAST_LOAD_FAST | 80 | 33.3% |
LOAD_ATTR_INSTANCE_VALUE | 40 | 16.7% |
LOAD_CONST_IMMORTAL | 40 | 16.7% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 180 | 75.0% |
COPY_FREE_VARS | 60 | 25.0% |
Successors and predecessors for CALL_PY_GENERAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,886,740 | 100.0% |
CALL | 40 | 0.0% |
LOAD_CONST_IMMORTAL | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RESUME_CHECK | 1,886,760 | 100.0% |
MAKE_CELL | 60 | 0.0% |
Successors and predecessors for COMPARE_OP_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_SMALL_INT | 6,174,120 | 56.1% |
LOAD_FAST | 4,832,880 | 43.9% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_FALSE | 6,174,120 | 56.1% |
POP_JUMP_IF_TRUE | 4,832,880 | 43.9% |
Successors and predecessors for FOR_ITER_LIST
Predecessors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 26,463,000 | 69.6% |
EXTENDED_ARG | 6,715,080 | 17.7% |
GET_ITER | 4,831,140 | 12.7% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST | 31,294,200 | 82.3% |
POP_ITER | 6,715,020 | 17.7% |
Successors and predecessors for FOR_ITER_RANGE
Predecessors | Count | Percentage |
---|---|---|
GET_ITER | 60 | 50.0% |
JUMP_BACKWARD_NO_JIT | 60 | 50.0% |
Successors | Count | Percentage |
---|---|---|
POP_ITER | 60 | 50.0% |
STORE_FAST | 60 | 50.0% |
Successors and predecessors for JUMP_BACKWARD_NO_JIT
Predecessors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 23,376,840 | 50.0% |
STORE_SUBSCR_LIST_INT | 15,439,800 | 33.0% |
EXTENDED_ARG | 4,828,320 | 10.3% |
POP_TOP | 1,886,820 | 4.0% |
POP_JUMP_IF_FALSE | 1,199,460 | 2.6% |
Successors | Count | Percentage |
---|---|---|
FOR_ITER_LIST | 26,463,000 | 56.6% |
FOR_ITER | 15,439,860 | 33.0% |
EXTENDED_ARG | 4,828,320 | 10.3% |
FOR_ITER_RANGE | 60 | 0.0% |
Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 140 | 58.3% |
LOAD_ATTR | 60 | 25.0% |
LOAD_FAST_LOAD_FAST | 40 | 16.7% |
Successors | Count | Percentage |
---|---|---|
LOAD_ATTR_METHOD_NO_DICT | 80 | 33.3% |
TO_BOOL | 60 | 25.0% |
LOAD_ATTR | 40 | 16.7% |
CALL_PY_EXACT_ARGS | 40 | 16.7% |
CALL | 20 | 8.3% |
Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,890,300 | 99.9% |
LOAD_CONST_IMMORTAL | 1,800 | 0.1% |
LOAD_ATTR_INSTANCE_VALUE | 80 | 0.0% |
LOAD_ATTR | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,890,300 | 99.9% |
LOAD_GLOBAL_BUILTIN | 1,800 | 0.1% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
CALL_METHOD_DESCRIPTOR_NOARGS | 40 | 0.0% |
CALL | 20 | 0.0% |
Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 80 | 66.7% |
LOAD_ATTR | 40 | 33.3% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 60 | 50.0% |
LOAD_FAST_LOAD_FAST | 60 | 50.0% |
Successors and predecessors for LOAD_ATTR_MODULE
Predecessors | Count | Percentage |
---|---|---|
LOAD_GLOBAL_MODULE | 160 | 66.7% |
LOAD_ATTR | 80 | 33.3% |
Successors | Count | Percentage |
---|---|---|
PUSH_NULL | 240 | 100.0% |
Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors | Count | Percentage |
---|---|---|
POP_ITER | 1,883,940 | 99.7% |
POP_TOP | 3,000 | 0.2% |
POP_JUMP_IF_FALSE | 1,800 | 0.1% |
STORE_FAST | 240 | 0.0% |
LOAD_FAST | 120 | 0.0% |
Successors | Count | Percentage |
---|---|---|
RETURN_VALUE | 1,886,940 | 99.9% |
LOAD_ATTR_METHOD_NO_DICT | 1,800 | 0.1% |
STORE_FAST | 120 | 0.0% |
LOAD_CONST_IMMORTAL | 120 | 0.0% |
BUILD_LIST | 60 | 0.0% |
Successors and predecessors for LOAD_CONST_MORTAL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 4,976,460 | 100.0% |
BUILD_TUPLE | 60 | 0.0% |
POP_JUMP_IF_NOT_NONE | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
BINARY_SUBSCR | 4,976,460 | 100.0% |
MAKE_FUNCTION | 60 | 0.0% |
STORE_FAST | 60 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors | Count | Percentage |
---|---|---|
POP_ITER | 7,919,040 | 56.2% |
STORE_FAST | 6,172,400 | 43.8% |
LOAD_GLOBAL_BUILTIN | 1,960 | 0.0% |
POP_TOP | 1,800 | 0.0% |
LOAD_ATTR_METHOD_NO_DICT | 1,800 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 11,009,040 | 78.1% |
LOAD_FAST_LOAD_FAST | 3,086,160 | 21.9% |
LOAD_GLOBAL_BUILTIN | 1,960 | 0.0% |
LOAD_GLOBAL | 80 | 0.0% |
Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors | Count | Percentage |
---|---|---|
POP_TOP | 1,886,700 | 100.0% |
LOAD_GLOBAL | 140 | 0.0% |
STORE_FAST | 120 | 0.0% |
RESUME_CHECK | 80 | 0.0% |
POP_ITER | 40 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST | 1,886,760 | 100.0% |
LOAD_ATTR_MODULE | 160 | 0.0% |
LOAD_ATTR | 80 | 0.0% |
COMPARE_OP | 60 | 0.0% |
LOAD_FAST_LOAD_FAST | 60 | 0.0% |
Successors and predecessors for RESUME_CHECK
Predecessors | Count | Percentage |
---|---|---|
CALL_PY_GENERAL | 1,886,760 | 100.0% |
CALL_PY_EXACT_ARGS | 180 | 0.0% |
CACHE | 60 | 0.0% |
CALL_FUNCTION_EX | 60 | 0.0% |
COPY_FREE_VARS | 60 | 0.0% |
Successors | Count | Percentage |
---|---|---|
LOAD_FAST_LOAD_FAST | 1,886,760 | 100.0% |
LOAD_FAST | 180 | 0.0% |
LOAD_GLOBAL_MODULE | 80 | 0.0% |
LOAD_DEREF | 60 | 0.0% |
LOAD_GLOBAL | 60 | 0.0% |
Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 15,439,800 | 100.0% |
Successors | Count | Percentage |
---|---|---|
JUMP_BACKWARD_NO_JIT | 15,439,800 | 100.0% |
Successors and predecessors for TO_BOOL_BOOL
Predecessors | Count | Percentage |
---|---|---|
LOAD_FAST | 40 | 66.7% |
TO_BOOL | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
POP_JUMP_IF_TRUE | 60 | 100.0% |
Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors | Count | Percentage |
---|---|---|
CALL_METHOD_DESCRIPTOR_NOARGS | 40 | 66.7% |
UNPACK_SEQUENCE | 20 | 33.3% |
Successors | Count | Percentage |
---|---|---|
STORE_FAST_STORE_FAST | 60 | 100.0% |
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. |
6,172,380 | 100.0% |
hit
ⓘSpecialized instructions that complete. |
60 | 0.0% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 1.3% |
Failure | 1,540 | 98.7% |
Failure kind | Count | Ratio |
---|---|---|
and other | 760 | 49.4% |
subtract other | 760 | 49.4% |
multiply different types | 20 | 1.3% |
specialization stats for BINARY_SUBSCR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
4,976,460 | 33.7% |
hit
ⓘSpecialized instructions that complete. |
9,804,120 | 66.3% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 1.6% |
Failure | 1,240 | 98.4% |
Failure kind | Count | Ratio |
---|---|---|
list slice | 1,220 | 98.4% |
string slice | 20 | 1.6% |
specialization stats for CALL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
15,991,500 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 420 | 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. |
26,463,120 | 70.6% |
hit
ⓘSpecialized instructions that complete. |
11,007,000 | 29.4% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 6,480 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
set | 6,460 | 99.7% |
list | 20 | 0.3% |
specialization stats for FOR_ITER family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
18,527,820 | 32.8% |
hit
ⓘSpecialized instructions that complete. |
38,009,340 | 67.2% |
Success | Count | Ratio |
---|---|---|
Success | 0 | 0.0% |
Failure | 4,520 | 100.0% |
Failure kind | Count | Ratio |
---|---|---|
set | 4,520 | 100.0% |
specialization stats for LOAD_ATTR family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
60 | 0.0% |
hit
ⓘSpecialized instructions that complete. |
1,892,820 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 220 | 91.7% |
Failure | 20 | 8.3% |
specialization stats for LOAD_GLOBAL family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
15,984,360 | 100.0% |
Success | Count | Ratio |
---|---|---|
Success | 300 | 100.0% |
Failure | 0 | 0.0% |
specialization stats for STORE_SUBSCR family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
15,439,800 | 100.0% |
specialization stats for TO_BOOL family
Kind | Count | Ratio |
---|---|---|
deferred
ⓘLists the number of "deferred" (i.e. not specialized) instructions executed. |
60 | 37.5% |
hit
ⓘSpecialized instructions that complete. |
60 | 37.5% |
Success | Count | Ratio |
---|---|---|
Success | 20 | 50.0% |
Failure | 20 | 50.0% |
Failure kind | Count | Ratio |
---|---|---|
sequence | 20 | 100.0% |
specialization stats for UNPACK_SEQUENCE family
Kind | Count | Ratio |
---|---|---|
hit
ⓘSpecialized instructions that complete. |
60 | 75.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. |
264,129,960 | 54.4% |
Not specialized
ⓘInstructions that could be specialized but aren't, e.g. |
56,154,740 | 11.6% |
Specialized hits
ⓘSpecialized instructions, e.g. |
165,500,460 | 34.1% |
Specialized misses
ⓘSpecialized instructions, e.g. |
0 | 0.0% |
Breakdown of deferred (not specialized) instruction counts by family
Name | Count | Ratio |
---|---|---|
COMPARE_OP | 26,463,120 | 47.1% |
FOR_ITER | 18,527,820 | 33.0% |
BINARY_OP | 6,172,380 | 11.0% |
BINARY_SUBSCR | 4,976,460 | 8.9% |
TO_BOOL | 60 | 0.0% |
LOAD_ATTR | 60 | 0.0% |
BINARY_SLICE | 0 | 0.0% |
STORE_SLICE | 0 | 0.0% |
CACHE | 0 | 0.0% |
CALL_FUNCTION_EX | 0 | 0.0% |
Breakdown of misses (specialized deopts) instruction counts by family
Inlined calls and frame stats
This shows what fraction of calls to Python functions are inlined (i.e. not having a call at the C level) and for those that are not, where the call comes from. The various categories overlap.
Also includes the count of frame objects created.
Count | Ratio | |
---|---|---|
Calls to PyEval_EvalDefault | 60 | 0.0% |
Calls to Python functions inlined | 1,887,120 | 100.0% |
Calls via PyEval_EvalFrame (total) | 60 | 0.0% |
Calls via PyEval_EvalFrame (vector) | 60 | 0.0% |
Calls via PyEval_EvalFrame (generator) | 0 | 0.0% |
Calls via PyEval_EvalFrame (legacy) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function vectorcall) | 60 | 0.0% |
Calls via PyEval_EvalFrame (build class) | 0 | 0.0% |
Calls via PyEval_EvalFrame (slot) | 0 | 0.0% |
Calls via PyEval_EvalFrame (function ex) | 60 | 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 | 1,887,180 | 100.0% |
Allocations, frees and dict materializatons
Below, "allocations" means "allocations that are not from a freelist". Total allocations = "Allocations from freelist" + "Allocations".
"Inline values" is the number of values arrays inlined into objects.
The cache hit/miss numbers are for the MRO cache, split into dunder and other names.
Count | Ratio | |
---|---|---|
Allocations from freelist | 11,682,200 | 36.2% |
Frees to freelist | 11,682,160 | |
Allocations | 20,611,900 | 63.8% |
Allocations to 512 bytes | 17,525,620 | 54.3% |
Allocations to 4 kbytes | 3,086,280 | 9.6% |
Allocations over 4 kbytes | 0 | 0.0% |
Frees | 20,611,802 | |
Inline values | 0 | |
Interpreter mortal increfs | 189,337,980 | 27.5% |
Interpreter mortal decrefs | 217,012,300 | 27.6% |
Mortal increfs | 13,430,891 | 1.9% |
Mortal decrefs | 9,987,374 | 1.3% |
Interpreter immortal increfs | 56,012,700 | 8.1% |
Interpreter immortal decrefs | 121,965,600 | 15.5% |
Immortal increfs | 430,927,270 | 62.5% |
Immortal decrefs | 438,038,008 | 55.7% |
Materialize dict (on request) | 0 | |
Materialize dict (new key) | 0 | |
Materialize dict (too big) | 0 | |
Materialize dict (str subclass) | 0 | |
Method cache hits | 190 | |
Method cache misses | 30 | |
Method cache collisions | 21 | |
Method cache dunder hits | 1,800 | |
Method cache dunder misses | 0 |
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
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: 2025-02-02