Skip to content

Latest commit

 

History

History
9918 lines (9171 loc) · 185 KB

bm-20240615-azure-x86_64-python-a19bb261a327e1008f21-3.13.0b2+-a19bb26-pystats-scimark.md

File metadata and controls

9918 lines (9171 loc) · 185 KB

Pystats results

  • benchmark: scimark
  • fork: python
  • ref: a19bb261a327e1008f219b62f6465941c981899b
  • commit hash: a19bb26
  • commit date: 2024-06-15T19:10:50+00:00

Execution counts

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 642,675,940 19.5% 19.5%
LOAD_ATTR_INSTANCE_VALUE 282,284,900 8.6% 28.1%
POP_JUMP_IF_FALSE 271,154,560 8.2% 36.4%
COMPARE_OP_INT 186,071,740 5.7% 42.0%
RESUME_CHECK 177,941,080 5.4% 47.4%
RETURN_VALUE 177,590,500 5.4% 52.9%
LOAD_GLOBAL_BUILTIN 161,772,580 4.9% 57.8%
LOAD_FAST_LOAD_FAST 131,141,760 4.0% 61.8%
INTERPRETER_EXIT 126,497,600 3.8% 65.6%
LOAD_CONST 116,935,680 3.6% 69.2%
JUMP_FORWARD 92,306,920 2.8% 72.0%
SWAP 92,265,860 2.8% 74.8%
COPY 92,254,960 2.8% 77.6%
TO_BOOL_BOOL 81,271,140 2.5% 80.1%
CALL_ISINSTANCE 80,450,280 2.4% 82.5%
BINARY_SUBSCR_LIST_INT 80,435,080 2.4% 84.9%
BINARY_OP_ADD_INT 52,482,460 1.6% 86.5%
STORE_FAST_STORE_FAST 52,167,760 1.6% 88.1%
CALL_PY_EXACT_ARGS 51,389,020 1.6% 89.7%
LOAD_ATTR_METHOD_WITH_VALUES 51,367,580 1.6% 91.3%
BINARY_SUBSCR 49,064,520 1.5% 92.7%
UNPACK_SEQUENCE_TWO_TUPLE 46,899,520 1.4% 94.2%
BINARY_OP_MULTIPLY_INT 46,138,920 1.4% 95.6%
STORE_FAST 31,635,220 1.0% 96.5%
ENTER_EXECUTOR 25,238,780 0.8% 97.3%
BINARY_OP_MULTIPLY_FLOAT 16,887,340 0.5% 97.8%
STORE_SUBSCR 10,175,460 0.3% 98.1%
POP_TOP 8,722,660 0.3% 98.4%
RETURN_CONST 8,523,520 0.3% 98.7%
BINARY_OP_ADD_FLOAT 8,051,940 0.2% 98.9%
POP_JUMP_IF_TRUE 8,003,040 0.2% 99.1%
COMPARE_OP_FLOAT 8,001,640 0.2% 99.4%
BINARY_OP_SUBTRACT_FLOAT 5,304,400 0.2% 99.5%
COMPARE_OP 5,273,680 0.2% 99.7%
STORE_ATTR_INSTANCE_VALUE 1,636,900 0.0% 99.8%
BINARY_SUBSCR_TUPLE_INT 1,599,960 0.0% 99.8%
BINARY_OP_SUBTRACT_INT 1,547,760 0.0% 99.9%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 1,237,400 0.0% 99.9% 1.0%
CALL_BUILTIN_CLASS 868,920 0.0% 99.9%
BUILD_TUPLE 822,640 0.0% 99.9%
YIELD_VALUE 800,000 0.0% 100.0%
BINARY_OP 544,260 0.0% 100.0%
LIST_APPEND 179,840 0.0% 100.0%
BINARY_SUBSCR_GETITEM 52,240 0.0% 100.0%
LOAD_GLOBAL_MODULE 48,720 0.0% 100.0%
FOR_ITER_RANGE 48,680 0.0% 100.0%
GET_ITER 39,780 0.0% 100.0%
LOAD_ATTR_MODULE 25,800 0.0% 100.0%
CALL 21,480 0.0% 100.0%
CALL_BUILTIN_O 20,040 0.0% 100.0%
PUSH_NULL 18,720 0.0% 100.0%
STORE_SUBSCR_LIST_INT 15,180 0.0% 100.0%
JUMP_BACKWARD 11,960 0.0% 100.0%
EXTENDED_ARG 8,340 0.0% 100.0%
LOAD_GLOBAL 3,960 0.0% 100.0%
LOAD_ATTR 3,920 0.0% 100.0%
BUILD_LIST 1,920 0.0% 100.0%
FOR_ITER 1,740 0.0% 100.0%
STORE_ATTR 1,440 0.0% 100.0%
LOAD_DEREF 1,200 0.0% 100.0%
CALL_NON_PY_GENERAL 900 0.0% 100.0%
RESUME 840 0.0% 100.0%
CALL_FUNCTION_EX 800 0.0% 100.0%
STORE_SLICE 480 0.0% 100.0%
NOP 400 0.0% 100.0%
CALL_INTRINSIC_1 400 0.0% 100.0%
COPY_FREE_VARS 400 0.0% 100.0%
LIST_EXTEND 400 0.0% 100.0%
STORE_FAST_LOAD_FAST 400 0.0% 100.0%
FOR_ITER_GEN 380 0.0% 100.0%
POP_JUMP_IF_NONE 240 0.0% 100.0%
LOAD_FAST_AND_CLEAR 240 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 240 0.0% 100.0%
TO_BOOL 200 0.0% 100.0%
EXIT_INIT_CHECK 180 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 180 0.0% 100.0%
UNPACK_SEQUENCE 160 0.0% 100.0%
BINARY_SLICE 80 0.0% 100.0%
END_FOR 80 0.0% 100.0%
RETURN_GENERATOR 80 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

Pairs of specialized operations that deoptimize and are then followed by the corresponding unspecialized instruction are not counted as pairs.

Pair Count Self Cumulative
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 226,879,560 6.9% 6.9%
COMPARE_OP_INT POP_JUMP_IF_FALSE 186,062,420 5.7% 12.6%
POP_JUMP_IF_FALSE LOAD_FAST 174,183,340 5.3% 17.9%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 137,896,880 4.2% 22.1%
CACHE RESUME_CHECK 126,497,400 3.8% 25.9%
RETURN_VALUE INTERPRETER_EXIT 117,998,880 3.6% 29.5%
LOAD_CONST LOAD_FAST 92,257,760 2.8% 32.3%
LOAD_FAST SWAP 92,198,400 2.8% 35.1%
POP_JUMP_IF_FALSE JUMP_FORWARD 92,198,400 2.8% 37.9%
SWAP COPY 92,198,400 2.8% 40.7%
COPY COMPARE_OP_INT 92,198,320 2.8% 43.5%
LOAD_ATTR_INSTANCE_VALUE COMPARE_OP_INT 92,198,320 2.8% 46.3%
LOAD_GLOBAL_BUILTIN LOAD_FAST 81,306,600 2.5% 48.8%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 81,266,580 2.5% 51.3%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 80,450,480 2.4% 53.7%
LOAD_FAST LOAD_GLOBAL_BUILTIN 80,450,240 2.4% 56.2%
LOAD_GLOBAL_BUILTIN CALL_ISINSTANCE 80,450,240 2.4% 58.6%
CALL_ISINSTANCE TO_BOOL_BOOL 80,450,240 2.4% 61.0%
BINARY_SUBSCR_LIST_INT RETURN_VALUE 79,635,100 2.4% 63.5%
LOAD_FAST BINARY_SUBSCR_LIST_INT 79,635,080 2.4% 65.9%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 55,404,660 1.7% 67.6%
CALL_PY_EXACT_ARGS RESUME_CHECK 51,388,960 1.6% 69.1%
RESUME_CHECK LOAD_FAST 51,383,880 1.6% 70.7%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 51,366,920 1.6% 72.3%
UNPACK_SEQUENCE_TWO_TUPLE STORE_FAST_STORE_FAST 46,899,520 1.4% 73.7%
JUMP_FORWARD LOAD_FAST_LOAD_FAST 46,207,720 1.4% 75.1%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 46,111,440 1.4% 76.5%
LOAD_FAST BINARY_OP_ADD_INT 46,106,100 1.4% 77.9%
RESUME_CHECK LOAD_CONST 46,103,620 1.4% 79.3%
JUMP_FORWARD LOAD_CONST 46,099,200 1.4% 80.7%
BINARY_OP_ADD_INT RETURN_VALUE 46,099,180 1.4% 82.1%
BINARY_OP_MULTIPLY_INT LOAD_FAST 46,099,180 1.4% 83.5%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_MULTIPLY_INT 46,099,160 1.4% 84.9%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST_LOAD_FAST 46,099,160 1.4% 86.3%
LOAD_FAST UNPACK_SEQUENCE_TWO_TUPLE 46,099,120 1.4% 87.7%
STORE_FAST_STORE_FAST LOAD_FAST 39,216,000 1.2% 88.9%
BINARY_SUBSCR RETURN_VALUE 38,416,020 1.2% 90.1%
RETURN_VALUE BINARY_SUBSCR 38,416,000 1.2% 91.2%
LOAD_FAST LOAD_CONST 16,424,300 0.5% 91.7%
LOAD_FAST_LOAD_FAST BINARY_OP_MULTIPLY_FLOAT 16,002,640 0.5% 92.2%
STORE_FAST LOAD_FAST_LOAD_FAST 15,289,960 0.5% 92.7%
ENTER_EXECUTOR RETURN_VALUE 12,619,860 0.4% 93.1%
RETURN_VALUE STORE_FAST 12,475,320 0.4% 93.5%
LOAD_FAST_LOAD_FAST BINARY_SUBSCR 10,561,060 0.3% 93.8%
STORE_FAST LOAD_FAST 9,799,140 0.3% 94.1%
ENTER_EXECUTOR POP_TOP 8,695,680 0.3% 94.3%
POP_TOP ENTER_EXECUTOR 8,678,600 0.3% 94.6%
RETURN_CONST INTERPRETER_EXIT 8,498,700 0.3% 94.9%
STORE_SUBSCR RETURN_CONST 8,483,220 0.3% 95.1%
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_ADD_FLOAT 8,010,680 0.2% 95.4%
COMPARE_OP_FLOAT POP_JUMP_IF_TRUE 8,001,640 0.2% 95.6%
BINARY_OP_MULTIPLY_FLOAT LOAD_FAST_LOAD_FAST 8,000,980 0.2% 95.9%
BINARY_OP_ADD_FLOAT LOAD_CONST 7,999,980 0.2% 96.1%
LOAD_CONST COMPARE_OP_FLOAT 7,999,960 0.2% 96.3%
STORE_FAST_STORE_FAST LOAD_FAST_LOAD_FAST 7,683,600 0.2% 96.6%
RETURN_VALUE STORE_SUBSCR 7,683,200 0.2% 96.8%
LOAD_CONST BINARY_OP_ADD_INT 6,363,080 0.2% 97.0%
BINARY_OP_ADD_INT STORE_FAST 6,306,900 0.2% 97.2%
STORE_FAST ENTER_EXECUTOR 6,303,420 0.2% 97.4%
POP_JUMP_IF_TRUE LOAD_FAST 6,297,100 0.2% 97.6%
BINARY_SUBSCR LOAD_FAST_LOAD_FAST 5,275,000 0.2% 97.7%
BINARY_OP_SUBTRACT_FLOAT STORE_FAST 5,272,480 0.2% 97.9%
LOAD_CONST COMPARE_OP 5,271,200 0.2% 98.1%
STORE_FAST_STORE_FAST STORE_FAST 5,268,080 0.2% 98.2%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST_STORE_FAST 5,268,080 0.2% 98.4%
BINARY_SUBSCR BINARY_OP_SUBTRACT_FLOAT 5,267,960 0.2% 98.5%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 5,267,960 0.2% 98.7%
COMPARE_OP ENTER_EXECUTOR 4,464,360 0.1% 98.8%
POP_JUMP_IF_FALSE ENTER_EXECUTOR 3,022,760 0.1% 98.9%
ENTER_EXECUTOR POP_JUMP_IF_FALSE 3,010,600 0.1% 99.0%
POP_JUMP_IF_TRUE ENTER_EXECUTOR 1,703,900 0.1% 99.1%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 1,635,180 0.0% 99.1%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 1,635,060 0.0% 99.2%
LOAD_CONST COMPARE_OP_INT 1,633,960 0.0% 99.2%
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST 1,627,540 0.0% 99.3%
LOAD_CONST BINARY_SUBSCR_TUPLE_INT 1,599,920 0.0% 99.3%
LOAD_CONST BINARY_OP_SUBTRACT_INT 1,545,760 0.0% 99.4%
BINARY_OP_SUBTRACT_INT STORE_FAST 1,536,060 0.0% 99.4%
LOAD_FAST CALL_BUILTIN_CLASS 856,360 0.0% 99.4%
STORE_SUBSCR ENTER_EXECUTOR 830,440 0.0% 99.5%
CALL_BUILTIN_CLASS BINARY_OP_MULTIPLY_FLOAT 825,800 0.0% 99.5%
LOAD_FAST_LOAD_FAST LOAD_FAST 823,060 0.0% 99.5%
LOAD_FAST LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 821,720 0.0% 99.5%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_BOOL 820,800 0.0% 99.6%
LOAD_FAST BUILD_TUPLE 819,280 0.0% 99.6%
BINARY_OP_MULTIPLY_FLOAT RETURN_VALUE 817,640 0.0% 99.6%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES LOAD_GLOBAL_BUILTIN 817,520 0.0% 99.6%
LOAD_FAST STORE_SUBSCR 814,380 0.0% 99.7%
STORE_SUBSCR LOAD_FAST 807,740 0.0% 99.7%
COMPARE_OP POP_JUMP_IF_FALSE 806,820 0.0% 99.7%
BUILD_TUPLE STORE_SUBSCR 806,740 0.0% 99.7%
RETURN_VALUE LOAD_FAST_LOAD_FAST 805,360 0.0% 99.8%
BINARY_SUBSCR_LIST_INT LOAD_FAST 799,980 0.0% 99.8%
BINARY_SUBSCR_TUPLE_INT STORE_SUBSCR 799,980 0.0% 99.8%
YIELD_VALUE UNPACK_SEQUENCE_TWO_TUPLE 799,960 0.0% 99.8%
BINARY_SUBSCR_TUPLE_INT BINARY_SUBSCR_LIST_INT 799,960 0.0% 99.9%
ENTER_EXECUTOR YIELD_VALUE 799,240 0.0% 99.9%
BINARY_OP STORE_FAST 475,640 0.0% 99.9%
LOAD_FAST_LOAD_FAST LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 412,140 0.0% 99.9%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES BINARY_OP 411,600 0.0% 99.9%

Predecessor/Successor Pairs

Top 5 predecessors and successors of each Tier 1 opcode.

This does not include the unspecialized instructions that occur after a specialized instruction deoptimizes.

BINARY_SLICE

Successors and predecessors for BINARY_SLICE
Predecessors Count Percentage
LOAD_CONST 80 100.0%
Successors Count Percentage
LOAD_FAST 80 100.0%

STORE_SLICE

Successors and predecessors for STORE_SLICE
Predecessors Count Percentage
LOAD_CONST 480 100.0%
Successors Count Percentage
JUMP_BACKWARD 340 70.8%
LOAD_FAST 80 16.7%
ENTER_EXECUTOR 60 12.5%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
RETURN_VALUE 38,416,000 78.3%
LOAD_FAST_LOAD_FAST 10,561,060 21.5%
COPY 28,280 0.1%
BINARY_OP_ADD_INT 21,920 0.0%
LOAD_FAST 19,600 0.0%
Successors Count Percentage
RETURN_VALUE 38,416,020 78.3%
LOAD_FAST_LOAD_FAST 5,275,000 10.8%
BINARY_OP_SUBTRACT_FLOAT 5,267,960 10.7%
LOAD_FAST 47,560 0.1%
STORE_FAST 21,760 0.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 38,700 97.3%
CALL 600 1.5%
LOAD_FAST 400 1.0%
RETURN_GENERATOR 80 0.2%
Successors Count Percentage
FOR_ITER_RANGE 38,780 97.5%
FOR_ITER 700 1.8%
LOAD_FAST_AND_CLEAR 240 0.6%
FOR_ITER_GEN 60 0.2%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
POP_TOP 400 100.0%
Successors Count Percentage
LOAD_DEREF 400 100.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
ENTER_EXECUTOR 8,695,680 99.7%
RETURN_CONST 24,560 0.3%
RESUME_CHECK 1,580 0.0%
CALL_NON_PY_GENERAL 300 0.0%
JUMP_BACKWARD 180 0.0%
Successors Count Percentage
ENTER_EXECUTOR 8,678,600 99.5%
RETURN_CONST 16,300 0.2%
LOAD_CONST 12,480 0.1%
LOAD_GLOBAL_MODULE 4,080 0.0%
LOAD_FAST_LOAD_FAST 3,880 0.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 17,500 93.5%
LOAD_DEREF 800 4.3%
LOAD_ATTR 340 1.8%
LOAD_FAST 80 0.4%
Successors Count Percentage
LOAD_FAST 17,440 93.2%
CALL 600 3.2%
CALL_NON_PY_GENERAL 600 3.2%
LOAD_FAST_LOAD_FAST 80 0.4%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 79,635,100 44.8%
BINARY_OP_ADD_INT 46,099,180 26.0%
BINARY_SUBSCR 38,416,020 21.6%
ENTER_EXECUTOR 12,619,860 7.1%
BINARY_OP_MULTIPLY_FLOAT 817,640 0.5%
Successors Count Percentage
INTERPRETER_EXIT 117,998,880 66.4%
BINARY_SUBSCR 38,416,000 21.6%
STORE_FAST 12,475,320 7.0%
STORE_SUBSCR 7,683,200 4.3%
LOAD_FAST_LOAD_FAST 805,360 0.5%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
RETURN_VALUE 7,683,200 75.5%
LOAD_FAST 814,380 8.0%
BUILD_TUPLE 806,740 7.9%
BINARY_SUBSCR_TUPLE_INT 799,980 7.9%
SWAP 30,840 0.3%
Successors Count Percentage
RETURN_CONST 8,483,220 83.4%
ENTER_EXECUTOR 830,440 8.2%
LOAD_FAST 807,740 7.9%
LOAD_FAST_LOAD_FAST 43,800 0.4%
STORE_SUBSCR 6,080 0.1%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_ATTR 60 30.0%
LOAD_ATTR_INSTANCE_VALUE 60 30.0%
CALL 40 20.0%
CALL_ISINSTANCE 40 20.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 100 50.0%
TO_BOOL_BOOL 100 50.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 411,600 75.6%
LOAD_CONST 57,640 10.6%
LOAD_FAST 31,500 5.8%
BINARY_OP 14,020 2.6%
LOAD_FAST_LOAD_FAST 9,200 1.7%
Successors Count Percentage
STORE_FAST 475,640 87.4%
LIST_APPEND 16,000 2.9%
BINARY_OP 14,020 2.6%
BINARY_OP_ADD_FLOAT 8,280 1.5%
CALL_BUILTIN_O 8,280 1.5%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
LOAD_CONST 1,280 66.7%
LOAD_FAST 400 20.8%
SWAP 240 12.5%
Successors Count Percentage
CALL 1,280 66.7%
LOAD_DEREF 400 20.8%
SWAP 240 12.5%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
ENTER_EXECUTOR 15,500 72.2%
LOAD_FAST 1,680 7.8%
BUILD_LIST 1,280 6.0%
PUSH_NULL 600 2.8%
CALL 520 2.4%
Successors Count Percentage
LOAD_FAST 16,600 77.3%
CALL_BUILTIN_CLASS 740 3.4%
STORE_FAST 700 3.3%
GET_ITER 600 2.8%
CALL_PY_EXACT_ARGS 540 2.5%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
CALL_INTRINSIC_1 400 50.0%
LOAD_FAST 400 50.0%
Successors Count Percentage
COPY_FREE_VARS 400 50.0%
RESUME_CHECK 300 37.5%
RESUME 100 12.5%

CALL_INTRINSIC_1

Successors and predecessors for CALL_INTRINSIC_1
Predecessors Count Percentage
LIST_EXTEND 400 100.0%
Successors Count Percentage
CALL_FUNCTION_EX 400 100.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST 5,271,200 100.0%
COMPARE_OP 1,840 0.0%
LOAD_FAST_LOAD_FAST 360 0.0%
BINARY_OP 80 0.0%
COPY 80 0.0%
Successors Count Percentage
ENTER_EXECUTOR 4,464,360 84.7%
POP_JUMP_IF_FALSE 806,820 15.3%
COMPARE_OP 1,840 0.0%
COMPARE_OP_INT 540 0.0%
POP_JUMP_IF_TRUE 60 0.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_FUNCTION_EX 400 100.0%
Successors Count Percentage
RESUME_CHECK 300 75.0%
RESUME 100 25.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_TOP 8,678,600 34.4%
STORE_FAST 6,303,420 25.0%
COMPARE_OP 4,464,360 17.7%
POP_JUMP_IF_FALSE 3,022,760 12.0%
POP_JUMP_IF_TRUE 1,703,900 6.8%
Successors Count Percentage
RETURN_VALUE 12,619,860 50.0%
POP_TOP 8,695,680 34.5%
POP_JUMP_IF_FALSE 3,010,600 11.9%
YIELD_VALUE 799,240 3.2%
ENTER_EXECUTOR 40,500 0.2%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD 940 54.0%
GET_ITER 700 40.2%
FOR_ITER 60 3.4%
SWAP 40 2.3%
Successors Count Percentage
FOR_ITER_RANGE 620 35.6%
STORE_FAST 580 33.3%
UNPACK_SEQUENCE_TWO_TUPLE 360 20.7%
FOR_ITER 60 3.4%
UNPACK_SEQUENCE 60 3.4%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
STORE_SUBSCR 4,080 34.1%
POP_TOP 3,720 31.1%
STORE_FAST 1,360 11.4%
POP_JUMP_IF_TRUE 760 6.4%
POP_JUMP_IF_FALSE 680 5.7%
Successors Count Percentage
FOR_ITER_RANGE 9,080 75.9%
FOR_ITER 940 7.9%
LOAD_FAST_LOAD_FAST 360 3.0%
LOAD_CONST 340 2.8%
LOAD_FAST 340 2.8%

LIST_EXTEND

Successors and predecessors for LIST_EXTEND
Predecessors Count Percentage
LOAD_DEREF 400 100.0%
Successors Count Percentage
CALL_INTRINSIC_1 400 100.0%

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 2,000 51.0%
LOAD_FAST_LOAD_FAST 1,120 28.6%
LOAD_GLOBAL 360 9.2%
LOAD_GLOBAL_MODULE 360 9.2%
STORE_FAST_LOAD_FAST 40 1.0%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 680 17.3%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 660 16.8%
LOAD_FAST 540 13.8%
BINARY_OP 460 11.7%
LOAD_ATTR_MODULE 360 9.2%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
RESUME_CHECK 46,103,620 39.4%
JUMP_FORWARD 46,099,200 39.4%
LOAD_FAST 16,424,300 14.0%
BINARY_OP_ADD_FLOAT 7,999,980 6.8%
POP_JUMP_IF_FALSE 108,960 0.1%
Successors Count Percentage
LOAD_FAST 92,257,760 78.9%
COMPARE_OP_FLOAT 7,999,960 6.8%
BINARY_OP_ADD_INT 6,363,080 5.4%
COMPARE_OP 5,271,200 4.5%
COMPARE_OP_INT 1,633,960 1.4%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
NOP 400 33.3%
BUILD_LIST 400 33.3%
RESUME_CHECK 300 25.0%
RESUME 100 8.3%
Successors Count Percentage
PUSH_NULL 800 66.7%
LIST_EXTEND 400 33.3%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
POP_JUMP_IF_FALSE 174,183,340 27.1%
LOAD_ATTR_INSTANCE_VALUE 137,896,880 21.5%
LOAD_CONST 92,257,760 14.4%
LOAD_GLOBAL_BUILTIN 81,306,600 12.7%
RESUME_CHECK 51,383,880 8.0%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 226,879,560 35.3%
SWAP 92,198,400 14.3%
LOAD_GLOBAL_BUILTIN 80,450,240 12.5%
BINARY_SUBSCR_LIST_INT 79,635,080 12.4%
LOAD_ATTR_METHOD_WITH_VALUES 51,366,920 8.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
JUMP_FORWARD 46,207,720 35.2%
LOAD_ATTR_METHOD_WITH_VALUES 46,099,160 35.2%
STORE_FAST 15,289,960 11.7%
BINARY_OP_MULTIPLY_FLOAT 8,000,980 6.1%
STORE_FAST_STORE_FAST 7,683,600 5.9%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 55,404,660 42.2%
CALL_PY_EXACT_ARGS 46,111,440 35.2%
BINARY_OP_MULTIPLY_FLOAT 16,002,640 12.2%
BINARY_SUBSCR 10,561,060 8.1%
STORE_ATTR_INSTANCE_VALUE 1,635,180 1.2%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 1,880 47.5%
RESUME 280 7.1%
RESUME_CHECK 280 7.1%
POP_TOP 220 5.6%
RETURN_VALUE 200 5.1%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 1,020 25.8%
LOAD_GLOBAL_MODULE 960 24.2%
LOAD_FAST 740 18.7%
LOAD_CONST 500 12.6%
LOAD_ATTR 360 9.1%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 186,062,420 68.6%
TO_BOOL_BOOL 81,266,580 30.0%
ENTER_EXECUTOR 3,010,600 1.1%
COMPARE_OP 806,820 0.3%
EXTENDED_ARG 8,000 0.0%
Successors Count Percentage
LOAD_FAST 174,183,340 64.2%
JUMP_FORWARD 92,198,400 34.0%
ENTER_EXECUTOR 3,022,760 1.1%
LOAD_FAST_LOAD_FAST 1,627,540 0.6%
LOAD_CONST 108,960 0.0%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 240 100.0%
Successors Count Percentage
RETURN_CONST 240 100.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
COMPARE_OP_FLOAT 8,001,640 100.0%
COMPARE_OP_INT 1,340 0.0%
COMPARE_OP 60 0.0%
Successors Count Percentage
LOAD_FAST 6,297,100 78.7%
ENTER_EXECUTOR 1,703,900 21.3%
LOAD_GLOBAL_BUILTIN 1,240 0.0%
JUMP_BACKWARD 760 0.0%
LOAD_GLOBAL 40 0.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 920 63.9%
LOAD_FAST_LOAD_FAST 520 36.1%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 720 50.0%
LOAD_CONST 240 16.7%
LOAD_FAST 160 11.1%
LOAD_GLOBAL 160 11.1%
RETURN_CONST 120 8.3%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 12,475,320 39.4%
BINARY_OP_ADD_INT 6,306,900 19.9%
BINARY_OP_SUBTRACT_FLOAT 5,272,480 16.7%
STORE_FAST_STORE_FAST 5,268,080 16.7%
BINARY_OP_SUBTRACT_INT 1,536,060 4.9%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 15,289,960 48.3%
LOAD_FAST 9,799,140 31.0%
ENTER_EXECUTOR 6,303,420 19.9%
JUMP_FORWARD 108,520 0.3%
LOAD_CONST 71,980 0.2%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
LOAD_FAST 80 50.0%
FOR_ITER 60 37.5%
YIELD_VALUE 20 12.5%
Successors Count Percentage
STORE_FAST_STORE_FAST 80 50.0%
UNPACK_SEQUENCE_TWO_TUPLE 80 50.0%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 420 50.0%
CACHE 180 21.4%
CALL_FUNCTION_EX 100 11.9%
COPY_FREE_VARS 100 11.9%
POP_TOP 20 2.4%
Successors Count Percentage
LOAD_GLOBAL 280 33.3%
LOAD_FAST 280 33.3%
LOAD_DEREF 100 11.9%
LOAD_FAST_LOAD_FAST 100 11.9%
LOAD_CONST 60 7.1%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
BINARY_OP_MULTIPLY_FLOAT 8,010,680 99.5%
LOAD_FAST 20,560 0.3%
RETURN_VALUE 12,420 0.2%
BINARY_OP 8,280 0.1%
Successors Count Percentage
LOAD_CONST 7,999,980 99.4%
SWAP 20,640 0.3%
LOAD_FAST_LOAD_FAST 19,160 0.2%
BINARY_OP_MULTIPLY_FLOAT 5,420 0.1%
LOAD_FAST 4,020 0.0%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_FAST 46,106,100 87.9%
LOAD_CONST 6,363,080 12.1%
LOAD_FAST_LOAD_FAST 12,640 0.0%
BINARY_OP 640 0.0%
Successors Count Percentage
RETURN_VALUE 46,099,180 87.8%
STORE_FAST 6,306,900 12.0%
BINARY_SUBSCR 21,920 0.0%
LOAD_FAST 16,860 0.0%
STORE_SUBSCR 13,220 0.0%

BINARY_OP_MULTIPLY_FLOAT

Successors and predecessors for BINARY_OP_MULTIPLY_FLOAT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 16,002,640 94.8%
CALL_BUILTIN_CLASS 825,800 4.9%
LOAD_FAST 31,860 0.2%
LOAD_ATTR_MODULE 8,280 0.0%
RETURN_VALUE 6,700 0.0%
Successors Count Percentage
BINARY_OP_ADD_FLOAT 8,010,680 47.4%
LOAD_FAST_LOAD_FAST 8,000,980 47.4%
RETURN_VALUE 817,640 4.8%
LOAD_CONST 13,740 0.1%
LOAD_FAST 11,700 0.1%

BINARY_OP_MULTIPLY_INT

Successors and predecessors for BINARY_OP_MULTIPLY_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 46,099,160 99.9%
LOAD_FAST 18,280 0.0%
BINARY_OP_ADD_INT 11,960 0.0%
LOAD_CONST 6,140 0.0%
LOAD_FAST_LOAD_FAST 3,060 0.0%
Successors Count Percentage
LOAD_FAST 46,099,180 99.9%
STORE_FAST 28,080 0.1%
CALL_BUILTIN_CLASS 9,640 0.0%
LOAD_FAST_LOAD_FAST 1,920 0.0%
BINARY_OP 60 0.0%

BINARY_OP_SUBTRACT_FLOAT

Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors Count Percentage
BINARY_SUBSCR 5,267,960 99.3%
LOAD_FAST 26,180 0.5%
BINARY_OP_MULTIPLY_FLOAT 9,900 0.2%
BINARY_OP 360 0.0%
Successors Count Percentage
STORE_FAST 5,272,480 99.4%
LOAD_FAST_LOAD_FAST 27,460 0.5%
SWAP 4,160 0.1%
RETURN_VALUE 300 0.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_FAST 856,360 98.6%
BINARY_OP_MULTIPLY_INT 9,640 1.1%
BINARY_OP_SUBTRACT_INT 1,000 0.1%
CALL 740 0.1%
BINARY_SUBSCR 660 0.1%
Successors Count Percentage
BINARY_OP_MULTIPLY_FLOAT 825,800 95.0%
GET_ITER 38,700 4.5%
BINARY_OP 4,060 0.5%
STORE_FAST 300 0.0%
LOAD_FAST 60 0.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 600 66.7%
CALL 300 33.3%
Successors Count Percentage
POP_TOP 300 33.3%
LOAD_FAST 300 33.3%
STORE_FAST 300 33.3%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 46,111,440 89.7%
LOAD_ATTR_METHOD_WITH_VALUES 5,267,960 10.3%
LOAD_FAST 4,760 0.0%
LOAD_CONST 4,320 0.0%
CALL 540 0.0%
Successors Count Percentage
RESUME_CHECK 51,388,960 100.0%
RETURN_GENERATOR 60 0.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
COPY 92,198,320 49.5%
LOAD_ATTR_INSTANCE_VALUE 92,198,320 49.5%
LOAD_CONST 1,633,960 0.9%
LOAD_FAST_LOAD_FAST 32,600 0.0%
BINARY_OP_SUBTRACT_INT 6,740 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 186,062,420 100.0%
EXTENDED_ARG 7,980 0.0%
POP_JUMP_IF_TRUE 1,340 0.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 38,780 79.7%
JUMP_BACKWARD 9,080 18.7%
FOR_ITER 620 1.3%
SWAP 200 0.4%
Successors Count Percentage
STORE_FAST 47,680 97.9%
STORE_FAST_LOAD_FAST 380 0.8%
LOAD_GLOBAL 180 0.4%
LOAD_FAST 180 0.4%
LOAD_GLOBAL_MODULE 160 0.3%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 25,440 98.6%
LOAD_ATTR 360 1.4%
Successors Count Percentage
PUSH_NULL 17,500 67.8%
BINARY_OP_MULTIPLY_FLOAT 8,280 32.1%
BINARY_OP 20 0.1%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
RESUME_CHECK 80,450,480 49.7%
LOAD_FAST 80,450,240 49.7%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 817,520 0.5%
STORE_FAST 36,800 0.0%
LOAD_CONST 12,280 0.0%
Successors Count Percentage
LOAD_FAST 81,306,600 50.3%
CALL_ISINSTANCE 80,450,240 49.7%
LOAD_CONST 12,160 0.0%
LOAD_FAST_LOAD_FAST 3,540 0.0%
CALL 40 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
STORE_FAST 22,080 45.3%
POP_JUMP_IF_FALSE 12,320 25.3%
BINARY_OP 8,280 17.0%
POP_TOP 4,080 8.4%
LOAD_GLOBAL 960 2.0%
Successors Count Percentage
LOAD_ATTR_MODULE 25,440 52.2%
LOAD_FAST_LOAD_FAST 17,000 34.9%
LOAD_FAST 4,500 9.2%
LOAD_CONST 1,420 2.9%
LOAD_ATTR 360 0.7%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CACHE 126,497,400 71.1%
CALL_PY_EXACT_ARGS 51,388,960 28.9%
BINARY_SUBSCR_GETITEM 52,240 0.0%
ENTER_EXECUTOR 1,260 0.0%
CALL_FUNCTION_EX 300 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 80,450,480 45.2%
LOAD_FAST 51,383,880 28.9%
LOAD_CONST 46,103,620 25.9%
POP_TOP 1,580 0.0%
LOAD_GLOBAL_MODULE 560 0.0%

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 126,497,400 100.0%
RESUME 180 0.0%
POP_TOP 20 0.0%

END_FOR

Successors and predecessors for END_FOR
Predecessors Count Percentage
RETURN_CONST 80 100.0%
Successors Count Percentage
POP_TOP 80 100.0%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 180 100.0%
Successors Count Percentage
RETURN_VALUE 180 100.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_VALUE 117,998,880 93.3%
RETURN_CONST 8,498,700 6.7%
YIELD_VALUE 20 0.0%

RETURN_GENERATOR

Successors and predecessors for RETURN_GENERATOR
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 60 75.0%
CALL 20 25.0%
Successors Count Percentage
GET_ITER 80 100.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST 819,280 99.6%
BINARY_OP_ADD_INT 1,600 0.2%
BINARY_OP_SUBTRACT_INT 1,000 0.1%
LOAD_FAST_LOAD_FAST 720 0.1%
BINARY_OP 40 0.0%
Successors Count Percentage
STORE_SUBSCR 806,740 98.1%
BINARY_SUBSCR_GETITEM 14,300 1.7%
YIELD_VALUE 720 0.1%
ENTER_EXECUTOR 680 0.1%
BINARY_SUBSCR 200 0.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
SWAP 92,198,400 99.9%
COPY 28,280 0.0%
LOAD_FAST_LOAD_FAST 14,680 0.0%
BINARY_OP_ADD_INT 10,320 0.0%
LOAD_FAST 3,240 0.0%
Successors Count Percentage
COMPARE_OP_INT 92,198,320 99.9%
BINARY_SUBSCR 28,280 0.0%
COPY 28,280 0.0%
COMPARE_OP 80 0.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
POP_JUMP_IF_FALSE 92,198,400 99.9%
STORE_FAST 108,520 0.1%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 46,207,720 50.1%
LOAD_CONST 46,099,200 49.9%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
RETURN_VALUE 163,840 91.1%
BINARY_OP 16,000 8.9%
Successors Count Percentage
ENTER_EXECUTOR 179,160 99.6%
JUMP_BACKWARD 680 0.4%

LOAD_FAST_AND_CLEAR

Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors Count Percentage
GET_ITER 240 100.0%
Successors Count Percentage
SWAP 240 100.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
STORE_SUBSCR 8,483,220 99.5%
POP_TOP 16,300 0.2%
STORE_SUBSCR_LIST_INT 15,180 0.2%
ENTER_EXECUTOR 7,860 0.1%
STORE_ATTR_INSTANCE_VALUE 360 0.0%
Successors Count Percentage
INTERPRETER_EXIT 8,498,700 99.7%
POP_TOP 24,560 0.3%
EXIT_INIT_CHECK 180 0.0%
END_FOR 80 0.0%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 46,899,520 89.9%
LOAD_ATTR_INSTANCE_VALUE 5,268,080 10.1%
LOAD_ATTR 80 0.0%
UNPACK_SEQUENCE 80 0.0%
Successors Count Percentage
LOAD_FAST 39,216,000 75.2%
LOAD_FAST_LOAD_FAST 7,683,600 14.7%
STORE_FAST 5,268,080 10.1%
LOAD_GLOBAL 40 0.0%
LOAD_GLOBAL_BUILTIN 40 0.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST 92,198,400 99.9%
SWAP 30,840 0.0%
BINARY_OP_ADD_FLOAT 20,640 0.0%
BINARY_OP_MULTIPLY_FLOAT 5,900 0.0%
RETURN_VALUE 5,040 0.0%
Successors Count Percentage
COPY 92,198,400 99.9%
STORE_SUBSCR 30,840 0.0%
SWAP 30,840 0.0%
LOAD_FAST_LOAD_FAST 5,060 0.0%
BUILD_LIST 240 0.0%

YIELD_VALUE

Successors and predecessors for YIELD_VALUE
Predecessors Count Percentage
ENTER_EXECUTOR 799,240 99.9%
BUILD_TUPLE 720 0.1%
JUMP_BACKWARD 40 0.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 799,960 100.0%
INTERPRETER_EXIT 20 0.0%
UNPACK_SEQUENCE 20 0.0%

BINARY_OP_SUBTRACT_INT

Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors Count Percentage
LOAD_CONST 1,545,760 99.9%
LOAD_FAST_LOAD_FAST 1,720 0.1%
BINARY_OP 280 0.0%
Successors Count Percentage
STORE_FAST 1,536,060 99.2%
COMPARE_OP_INT 6,740 0.4%
LOAD_FAST 2,880 0.2%
BUILD_TUPLE 1,000 0.1%
CALL_BUILTIN_CLASS 1,000 0.1%

BINARY_SUBSCR_GETITEM

Successors and predecessors for BINARY_SUBSCR_GETITEM
Predecessors Count Percentage
ENTER_EXECUTOR 19,100 36.6%
LOAD_FAST_LOAD_FAST 18,440 35.3%
BUILD_TUPLE 14,300 27.4%
BINARY_SUBSCR 300 0.6%
JUMP_BACKWARD 100 0.2%
Successors Count Percentage
RESUME_CHECK 52,240 100.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 79,635,080 99.0%
BINARY_SUBSCR_TUPLE_INT 799,960 1.0%
BINARY_SUBSCR 40 0.0%
Successors Count Percentage
RETURN_VALUE 79,635,100 99.0%
LOAD_FAST 799,980 1.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 1,599,920 100.0%
BINARY_SUBSCR 40 0.0%
Successors Count Percentage
STORE_SUBSCR 799,980 50.0%
BINARY_SUBSCR_LIST_INT 799,960 50.0%
BINARY_SUBSCR 20 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_CONST 120 66.7%
CALL 60 33.3%
Successors Count Percentage
RESUME_CHECK 180 100.0%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 120 50.0%
CALL 80 33.3%
LOAD_FAST_LOAD_FAST 40 16.7%
Successors Count Percentage
STORE_FAST 240 100.0%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
LOAD_FAST 8,400 41.9%
BINARY_OP 8,280 41.3%
BINARY_SUBSCR 3,220 16.1%
CALL 140 0.7%
Successors Count Percentage
STORE_FAST 20,040 100.0%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 80,450,240 100.0%
CALL 40 0.0%
Successors Count Percentage
TO_BOOL_BOOL 80,450,240 100.0%
TO_BOOL 40 0.0%

COMPARE_OP_FLOAT

Successors and predecessors for COMPARE_OP_FLOAT
Predecessors Count Percentage
LOAD_CONST 7,999,960 100.0%
LOAD_FAST_LOAD_FAST 1,640 0.0%
COMPARE_OP 40 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 8,001,640 100.0%

FOR_ITER_GEN

Successors and predecessors for FOR_ITER_GEN
Predecessors Count Percentage
JUMP_BACKWARD 300 78.9%
GET_ITER 60 15.8%
FOR_ITER 20 5.3%
Successors Count Percentage
RESUME_CHECK 300 78.9%
POP_TOP 60 15.8%
RESUME 20 5.3%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 226,879,560 80.4%
LOAD_FAST_LOAD_FAST 55,404,660 19.6%
LOAD_ATTR 680 0.0%
Successors Count Percentage
LOAD_FAST 137,896,880 48.9%
COMPARE_OP_INT 92,198,320 32.7%
BINARY_OP_MULTIPLY_INT 46,099,160 16.3%
STORE_FAST_STORE_FAST 5,268,080 1.9%
TO_BOOL_BOOL 820,800 0.3%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 51,366,920 100.0%
STORE_FAST_LOAD_FAST 360 0.0%
LOAD_ATTR 260 0.0%
RETURN_VALUE 40 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 46,099,160 89.7%
CALL_PY_EXACT_ARGS 5,267,960 10.3%
LOAD_FAST 300 0.0%
CALL 100 0.0%
LOAD_GLOBAL_MODULE 40 0.0%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 821,720 66.4%
LOAD_FAST_LOAD_FAST 412,140 33.3%
ENTER_EXECUTOR 2,880 0.2%
LOAD_ATTR 660 0.1%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 817,520 66.1%
BINARY_OP 411,600 33.3%
LOAD_CONST 4,020 0.3%
LOAD_FAST 4,020 0.3%
CALL_BUILTIN_FAST_WITH_KEYWORDS 120 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 1,635,180 99.9%
LOAD_FAST 1,000 0.1%
STORE_ATTR 720 0.0%
Successors Count Percentage
LOAD_FAST 1,635,060 99.9%
LOAD_CONST 720 0.0%
RETURN_CONST 360 0.0%
LOAD_GLOBAL_BUILTIN 360 0.0%
LOAD_FAST_LOAD_FAST 200 0.0%

STORE_SUBSCR_LIST_INT

Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 15,160 99.9%
STORE_SUBSCR 20 0.1%
Successors Count Percentage
RETURN_CONST 15,180 100.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 80,450,240 99.0%
LOAD_ATTR_INSTANCE_VALUE 820,800 1.0%
TO_BOOL 100 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 81,266,580 100.0%
ENTER_EXECUTOR 4,560 0.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
LOAD_FAST 46,099,120 98.3%
YIELD_VALUE 799,960 1.7%
FOR_ITER 360 0.0%
UNPACK_SEQUENCE 80 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 46,899,520 100.0%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
COMPARE_OP_INT 7,980 95.7%
POP_JUMP_IF_FALSE 340 4.1%
COMPARE_OP 20 0.2%
Successors Count Percentage
POP_JUMP_IF_FALSE 8,000 95.9%
JUMP_BACKWARD 340 4.1%

STORE_FAST_LOAD_FAST

Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors Count Percentage
FOR_ITER_RANGE 380 95.0%
FOR_ITER 20 5.0%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 360 90.0%
LOAD_ATTR 40 10.0%

Specialization stats

Specialization stats by family

BINARY_OP

specialization stats for BINARY_OP family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

536,520 0.4%
hit

Specialized instructions that complete.

130,412,820 99.6%
Success Count Ratio
Success 2,460 31.8%
Failure 5,280 68.2%
Failure kind Count Ratio
multiply different types 1,400 26.5%
true divide other 840 15.9%
remainder 780 14.8%
add different types 740 14.0%
true divide float 420 8.0%
lshift 380 7.2%
floor divide 340 6.4%
rshift 240 4.5%
true divide different types 140 2.7%

BINARY_SLICE

specialization stats for BINARY_SLICE family

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

49,047,960 37.4%
hit

Specialized instructions that complete.

82,087,280 62.6%
Success Count Ratio
Success 380 2.3%
Failure 16,180 97.7%
Failure kind Count Ratio
array int 16,180 100.0%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

19,140 0.0%
hit

Specialized instructions that complete.

132,728,680 100.0%
Success Count Ratio
Success 1,860 79.5%
Failure 480 20.5%
Failure kind Count Ratio
class no vectorcall 420 87.5%
wrong number arguments 60 12.5%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

5,271,260 2.6%
hit

Specialized instructions that complete.

194,073,380 97.4%
Success Count Ratio
Success 580 24.0%
Failure 1,840 76.0%
Failure kind Count Ratio
float long 1,840 100.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

1,040 2.0%
hit

Specialized instructions that complete.

49,060 96.6%
Success Count Ratio
Success 640 91.4%
Failure 60 8.6%
Failure kind Count Ratio
zip 60 100.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

14,200 0.0%
hit

Specialized instructions that complete.

334,903,440 100.0%
miss

Specialized instructions that deopt.

12,240 0.0%
Success Count Ratio
Success 1,960 100.0%
Failure 0 0.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

1,980 0.0%
hit

Specialized instructions that complete.

161,821,300 100.0%
Success Count Ratio
Success 1,980 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

POP_JUMP_IF_NONE

specialization stats for POP_JUMP_IF_NONE family

POP_JUMP_IF_TRUE

specialization stats for POP_JUMP_IF_TRUE family

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

720 0.0%
hit

Specialized instructions that complete.

1,636,900 99.9%
Success Count Ratio
Success 720 100.0%
Failure 0 0.0%

STORE_SLICE

specialization stats for STORE_SLICE family

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

10,169,360 99.8%
hit

Specialized instructions that complete.

15,180 0.1%
Success Count Ratio
Success 20 0.3%
Failure 6,080 99.7%
Failure kind Count Ratio
array int 5,280 86.8%
py simple 800 13.2%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

100 0.0%
hit

Specialized instructions that complete.

81,271,140 100.0%
Success Count Ratio
Success 100 100.0%
Failure 0 0.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

Lists the number of "deferred" (i.e. not specialized) instructions executed.

80 0.0%
hit

Specialized instructions that complete.

46,899,520 100.0%
Success Count Ratio
Success 80 100.0%
Failure 0 0.0%

Specialization effectiveness

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. LOAD_FAST.

1,599,845,780 48.7%
Not specialized

Instructions that could be specialized but aren't, e.g. LOAD_ATTR, BINARY_SLICE.

344,249,220 10.5%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

1,343,840,680 40.9%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

12,240 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
BINARY_SUBSCR 49,047,960 75.4%
STORE_SUBSCR 10,169,360 15.6%
COMPARE_OP 5,271,260 8.1%
BINARY_OP 536,520 0.8%
CALL 19,140 0.0%
LOAD_ATTR 14,200 0.0%
LOAD_GLOBAL 1,980 0.0%
FOR_ITER 1,040 0.0%
STORE_ATTR 720 0.0%
TO_BOOL 100 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 12,240 100.0%
GET_ITER 0 0.0%
NOP 0 0.0%
POP_TOP 0 0.0%
PUSH_NULL 0 0.0%
RETURN_VALUE 0 0.0%
BUILD_LIST 0 0.0%
CALL_FUNCTION_EX 0 0.0%
CALL_INTRINSIC_1 0 0.0%
COPY_FREE_VARS 0 0.0%

Call stats

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 126,497,600 66.4%
Calls to Python functions inlined 63,949,360 33.6%
Calls via PyEval_EvalFrame (total) 126,497,600 66.4%
Calls via PyEval_EvalFrame (vector) 126,497,580 66.4%
Calls via PyEval_EvalFrame (generator) 20 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 126,497,580 66.4%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 126,497,280 66.4%
Calls via PyEval_EvalFrame (function ex) 800 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 189,647,060 99.6%

Object stats

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 818,723,040 57.5%
Frees to freelist 818,724,960
Allocations 606,286,440 42.5%
Allocations to 512 bytes 606,268,800 42.5%
Allocations to 4 kbytes 17,040 0.0%
Allocations over 4 kbytes 600 0.0%
Frees 606,283,074
Inline values 480
Interpreter increfs 3,920,801,880 82.3%
Interpreter decrefs 5,362,513,300 86.7%
Increfs 840,618,126 17.7%
Decrefs 823,870,178 13.3%
Materialize dict (on request) 0 0.0%
Materialize dict (new key) 0 0.0%
Materialize dict (too big) 0 0.0%
Materialize dict (str subclass) 0 0.0%
Method cache hits 16,112
Method cache misses 1,128
Method cache collisions 854
Method cache dunder hits 206,164,819
Method cache dunder misses 481

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

Generation Collections Objects collected Object visits
0 0 0 0
1 0 0 0
2 0 0 0

Optimization (Tier 2) stats

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,080
Traces created

The number of traces that were successfully created.

1,400 15.4%
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.

4,520 49.8%
Trace too long

A trace is truncated because it is longer than the instruction buffer.

0 0.0%
Trace too short

A potential trace is abandoced because it it too short.

7,680 84.6%
Inner loop found

A trace is truncated because it has an inner loop

3,700 40.7%
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.

80 0.9%
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

248,011,920
Uops executed

The total number of uops (micro-operations) that were executed

11,305,221,420 4,558.3%
Count Ratio
Optimizer attempts

The number of times the trace optimizer (_Py_uop_analyze_and_optimize) was run.

1,400
Optimizer successes

The number of traces that were successfully optimized.

1,400 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

trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 40 2.9%
<= 16 200 14.3%
<= 32 480 34.3%
<= 64 200 14.3%
<= 128 300 21.4%
<= 256 140 10.0%
<= 512 40 2.9%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 20 1.4%
<= 8 80 5.7%
<= 16 360 25.7%
<= 32 420 30.0%
<= 64 240 17.1%
<= 128 180 12.9%
<= 256 100 7.1%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 4,796,560 1.9%
<= 8 10,837,560 4.4%
<= 16 115,380,620 46.5%
<= 32 50,691,540 20.4%
<= 64 14,791,280 6.0%
<= 128 10,350,640 4.2%
<= 256 11,723,280 4.7%
<= 512 1,024,000 0.4%
<= 1,024 592,020 0.2%
<= 2,048 1,536,060 0.6%
<= 4,096 128,000 0.1%
<= 8,192 64,000 0.0%
<= 16,384 32,000 0.0%
<= 32,768 16,000 0.0%
<= 65,536 12,000 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_LOAD_FAST 1,281,648,460 11.3% 11.3%
_SET_IP 955,522,500 8.5% 19.8%
_CHECK_VALIDITY 943,016,180 8.3% 28.1%
_BINARY_SUBSCR 685,378,600 6.1% 34.2%
_STORE_FAST 489,919,340 4.3% 38.5%
_LOAD_FAST_1 486,664,420 4.3% 42.8%
_LOAD_CONST_INLINE_BORROW 420,050,320 3.7% 46.5%
_BINARY_OP_ADD_INT 315,707,460 2.8% 49.3%
_BINARY_OP_MULTIPLY_FLOAT 301,821,680 2.7% 52.0%
_GUARD_NOS_FLOAT 275,744,600 2.4% 54.4%
_STORE_SUBSCR 243,716,260 2.2% 56.6%
_COPY 233,495,440 2.1% 58.7%
_SWAP 233,492,860 2.1% 60.7%
_GUARD_BOTH_FLOAT 231,591,340 2.0% 62.8%
_LOAD_FAST_5 229,807,040 2.0% 64.8%
_START_EXECUTOR 222,775,240 2.0% 66.8%
_EXIT_TRACE 221,972,600 2.0% 68.7%
_LOAD_FAST_0 219,142,960 1.9% 70.7%
_BINARY_OP_ADD_FLOAT 217,488,660 1.9% 72.6%
_GUARD_NOT_EXHAUSTED_RANGE 189,120,300 1.7% 74.3% 5.4%
_ITER_CHECK_RANGE 189,120,300 1.7% 76.0%
_BINARY_OP_SUBTRACT_FLOAT 184,618,680 1.6% 77.6%
_TIER2_RESUME_CHECK 184,411,160 1.6% 79.2%
_ITER_NEXT_RANGE 178,975,260 1.6% 80.8%
_LOAD_FAST_4 173,345,880 1.5% 82.3%
_LOAD_FAST_2 148,506,200 1.3% 83.7%
_GUARD_TYPE_VERSION 135,688,580 1.2% 84.9%
_JUMP_TO_TOP 109,929,440 1.0% 85.8%
_LOAD_FAST_7 106,121,400 0.9% 86.8%
_BINARY_OP_MULTIPLY_INT 94,228,280 0.8% 87.6%
_GUARD_NOS_INT 87,826,920 0.8% 88.4%
_GUARD_TOS_INT 77,941,640 0.7% 89.1%
_CHECK_VALIDITY_AND_SET_IP 75,858,060 0.7% 89.7%
_CHECK_MANAGED_OBJECT_HAS_VALUES 67,472,420 0.6% 90.3%
_LOAD_ATTR_INSTANCE_VALUE_0 67,472,420 0.6% 90.9%
_LOAD_FAST_6 62,052,900 0.5% 91.5%
_GUARD_IS_FALSE_POP 61,073,080 0.5% 92.0% 11.5%
_COMPARE_OP_INT 57,028,440 0.5% 92.5%
_BINARY_OP_SUBTRACT_INT 53,957,560 0.5% 93.0%
_STORE_FAST_4 47,875,660 0.4% 93.4%
_BUILD_TUPLE 46,876,560 0.4% 93.8%
_LOAD_FAST_3 42,727,760 0.4% 94.2%
_BINARY_OP 41,014,180 0.4% 94.6%
_GUARD_KEYS_VERSION 35,923,460 0.3% 94.9% 0.0%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 35,923,460 0.3% 95.2%
_GUARD_DORV_NO_DICT 32,292,700 0.3% 95.5%
_STORE_ATTR_INSTANCE_VALUE 32,292,700 0.3% 95.8%
_STORE_FAST_2 28,890,760 0.3% 96.0%
_STORE_FAST_1 27,932,020 0.2% 96.3%
_CHECK_PERIODIC 26,868,000 0.2% 96.5%
_CALL_BUILTIN_CLASS 26,323,940 0.2% 96.8%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 26,249,160 0.2% 97.0%
_GUARD_IS_TRUE_POP 25,652,040 0.2% 97.2% 47.5%
_COLD_EXIT 25,236,680 0.2% 97.4%
_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 24,224,820 0.2% 97.7%
_GUARD_TOS_FLOAT 24,026,300 0.2% 97.9%
_CHECK_FUNCTION 22,979,780 0.2% 98.1%
_STORE_FAST_3 19,706,240 0.2% 98.2%
_LOAD_CONST_INLINE 17,286,880 0.2% 98.4%
_STORE_FAST_7 16,382,280 0.1% 98.5%
_TO_BOOL_BOOL 16,142,920 0.1% 98.7%
_STORE_FAST_6 15,888,520 0.1% 98.8%
_GUARD_BOTH_INT 14,449,260 0.1% 99.0%
_PUSH_FRAME 12,506,240 0.1% 99.1%
_RESUME_CHECK 11,706,560 0.1% 99.2%
_CHECK_FUNCTION_EXACT_ARGS 11,706,560 0.1% 99.3%
_SAVE_RETURN_OFFSET 11,706,560 0.1% 99.4%
_COMPARE_OP 11,701,160 0.1% 99.5%
_INIT_CALL_PY_EXACT_ARGS_0 11,695,760 0.1% 99.6%
_LOAD_ATTR_METHOD_WITH_VALUES 11,695,760 0.1% 99.7%
_GET_ITER 10,106,060 0.1% 99.8%
_STORE_FAST_5 8,343,080 0.1% 99.8%
_CHECK_STACK_SPACE_OPERAND 8,166,320 0.1% 99.9%
_POP_FRAME 3,533,040 0.0% 100.0%
_POP_TOP 2,247,660 0.0% 100.0%
_DYNAMIC_EXIT 799,680 0.0% 100.0%
_FOR_ITER_GEN_FRAME 799,680 0.0% 100.0%
_CALL_BUILTIN_O 544,060 0.0% 100.0%
_LOAD_CONST_INLINE_WITH_NULL 427,660 0.0% 100.0%
_COMPARE_OP_FLOAT 394,320 0.0% 100.0%
_PUSH_NULL 143,360 0.0% 100.0%
_LOAD_GLOBAL 74,780 0.0% 100.0%
_BUILD_LIST 15,520 0.0% 100.0%
_FOR_ITER_TIER_TWO 7,680 0.0% 100.0% 1.0%
_STORE_SLICE 7,600 0.0% 100.0%
_UNPACK_SEQUENCE_TWO_TUPLE 7,600 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_1 3,600 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_2 3,600 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_3 3,600 0.0% 100.0%
_DEOPT 2,960 0.0% 100.0%

Pair counts

Pair counts for top 100 Non-JIT uop pairs

Pairs of specialized operations that deoptimize and are then followed by the corresponding unspecialized instruction are not counted as pairs.

Pair Count Self Cumulative
_SET_IP _BINARY_SUBSCR 621,379,620 5.5% 5.5%
_BINARY_SUBSCR _CHECK_VALIDITY 619,698,280 5.5% 11.0%
_LOAD_FAST_1 _LOAD_FAST 328,875,840 2.9% 13.9%
_LOAD_FAST _SET_IP 279,823,600 2.5% 16.4%
_SET_IP _STORE_SUBSCR 243,716,260 2.2% 18.5%
_STORE_SUBSCR _CHECK_VALIDITY 243,716,260 2.2% 20.7%
_CHECK_VALIDITY _LOAD_FAST 228,705,780 2.0% 22.7%
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE 189,120,300 1.7% 24.4%
_GUARD_BOTH_FLOAT _BINARY_OP_MULTIPLY_FLOAT 180,113,480 1.6% 26.0%
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE 179,014,240 1.6% 27.5%
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE 178,975,260 1.6% 29.1%
_LOAD_FAST _LOAD_CONST_INLINE_BORROW 173,339,300 1.5% 30.7%
_LOAD_CONST_INLINE_BORROW _BINARY_OP_ADD_INT 173,109,700 1.5% 32.2%
_LOAD_FAST _LOAD_FAST 167,558,300 1.5% 33.7%
_CHECK_VALIDITY _LOAD_FAST_1 158,590,040 1.4% 35.1%
_GUARD_NOS_FLOAT _BINARY_OP_ADD_FLOAT 152,295,420 1.3% 36.4%
_CHECK_VALIDITY _GUARD_BOTH_FLOAT 148,818,280 1.3% 37.7%
_LOAD_FAST _GUARD_NOS_FLOAT 147,447,840 1.3% 39.0%
_ITER_NEXT_RANGE _STORE_FAST 145,856,000 1.3% 40.3%
_BINARY_OP_ADD_INT _SET_IP 144,076,600 1.3% 41.6%
_STORE_FAST _LOAD_FAST_1 130,784,280 1.2% 42.8%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 124,078,140 1.1% 43.9%
_START_EXECUTOR _SET_IP 118,073,360 1.0% 44.9%
_COPY _COPY 116,747,720 1.0% 45.9%
_COPY _SET_IP 116,747,720 1.0% 47.0%
_SWAP _SWAP 116,745,160 1.0% 48.0%
_SWAP _SET_IP 116,745,160 1.0% 49.0%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 109,561,560 1.0% 50.0%
_CHECK_VALIDITY _STORE_FAST 106,882,460 0.9% 51.0%
_BINARY_OP_MULTIPLY_FLOAT _GUARD_NOS_FLOAT 104,762,560 0.9% 51.9%
_GUARD_NOS_FLOAT _BINARY_OP_SUBTRACT_FLOAT 99,914,980 0.9% 52.8%
_BINARY_OP_ADD_FLOAT _STORE_FAST 96,773,260 0.9% 53.6%
_STORE_FAST _LOAD_FAST 92,937,600 0.8% 54.4%
_BINARY_OP_SUBTRACT_FLOAT _LOAD_FAST_1 89,577,020 0.8% 55.2%
_BINARY_OP_ADD_FLOAT _SWAP 81,899,280 0.7% 56.0%
_BINARY_OP_MULTIPLY_INT _STORE_FAST 81,899,280 0.7% 56.7%
_LOAD_CONST_INLINE_BORROW _LOAD_FAST 81,899,280 0.7% 57.4%
_STORE_FAST _LOAD_CONST_INLINE_BORROW 81,899,280 0.7% 58.1%
_LOAD_FAST_4 _LOAD_FAST 80,281,500 0.7% 58.8%
_START_EXECUTOR _TIER2_RESUME_CHECK 74,849,600 0.7% 59.5%
_LOAD_FAST _GUARD_BOTH_FLOAT 74,191,060 0.7% 60.2%
_BINARY_OP_ADD_INT _BINARY_OP_MULTIPLY_INT 73,723,920 0.7% 60.8%
_LOAD_FAST _BINARY_OP_MULTIPLY_FLOAT 73,722,840 0.7% 61.5%
_STORE_FAST _LOAD_FAST_7 73,651,160 0.7% 62.1%
_LOAD_FAST_7 _LOAD_FAST 73,651,160 0.7% 62.8%
_LOAD_FAST _LOAD_FAST_5 72,333,540 0.6% 63.4%
_LOAD_FAST_5 _LOAD_FAST_4 72,181,300 0.6% 64.0%
_LOAD_CONST_INLINE_BORROW _GUARD_NOS_INT 71,753,360 0.6% 64.7%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 67,472,420 0.6% 65.3%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 67,472,420 0.6% 65.9%
_LOAD_FAST _COPY 67,216,020 0.6% 66.5%
_BINARY_SUBSCR _CHECK_VALIDITY_AND_SET_IP 65,680,320 0.6% 67.1%
_BINARY_OP_MULTIPLY_FLOAT _LOAD_FAST 65,620,240 0.6% 67.6%
_CHECK_VALIDITY _LOAD_FAST_2 63,998,980 0.6% 68.2%
_CHECK_VALIDITY_AND_SET_IP _BINARY_SUBSCR 63,998,980 0.6% 68.8%
_LOAD_FAST_2 _LOAD_FAST 63,998,980 0.6% 69.3%
_STORE_FAST _JUMP_TO_TOP 62,719,680 0.6% 69.9%
_LOAD_FAST_1 _LOAD_FAST_6 61,948,000 0.5% 70.4%
_GUARD_TOS_INT _BINARY_OP_ADD_INT 57,447,040 0.5% 70.9%
_LOAD_FAST _EXIT_TRACE 53,315,300 0.5% 71.4%
_LOAD_FAST_0 _LOAD_FAST 53,315,300 0.5% 71.9%
_CHECK_VALIDITY _LOAD_FAST_0 52,544,520 0.5% 72.3%
_BINARY_OP_MULTIPLY_FLOAT _BINARY_OP_SUBTRACT_FLOAT 48,979,480 0.4% 72.8%
_BINARY_OP_SUBTRACT_FLOAT _STORE_FAST 48,979,480 0.4% 73.2%
_CHECK_VALIDITY _EXIT_TRACE 47,399,080 0.4% 73.6%
_CHECK_VALIDITY _JUMP_TO_TOP 44,890,320 0.4% 74.0%
_GUARD_NOS_INT _COMPARE_OP_INT 44,468,580 0.4% 74.4%
_LOAD_CONST_INLINE_BORROW _SET_IP 44,345,240 0.4% 74.8%
_LOAD_FAST _BINARY_OP_ADD_INT 44,015,180 0.4% 75.2%
_BINARY_OP_MULTIPLY_FLOAT _BINARY_OP_ADD_FLOAT 42,156,180 0.4% 75.6%
_SET_IP _BINARY_OP 41,012,840 0.4% 75.9%
_BINARY_OP_ADD_INT _COPY 40,949,640 0.4% 76.3%
_LOAD_FAST_5 _GUARD_TOS_INT 40,949,640 0.4% 76.7%
_BINARY_OP _CHECK_VALIDITY 40,942,500 0.4% 77.0%
_BINARY_OP_ADD_INT _LOAD_FAST_5 40,453,300 0.4% 77.4%
_LOAD_FAST_2 _LOAD_CONST_INLINE_BORROW 39,610,440 0.4% 77.7%
_BUILD_TUPLE _EXIT_TRACE 39,200,100 0.3% 78.1%
_COMPARE_OP_INT _GUARD_IS_FALSE_POP 36,531,280 0.3% 78.4%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 35,923,460 0.3% 78.7%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 35,923,460 0.3% 79.0%
_GUARD_TYPE_VERSION _GUARD_DORV_NO_DICT 32,292,700 0.3% 79.3%
_GUARD_DORV_NO_DICT _STORE_ATTR_INSTANCE_VALUE 32,292,700 0.3% 79.6%
_LOAD_FAST_1 _LOAD_CONST_INLINE_BORROW 31,441,360 0.3% 79.9%
_LOAD_FAST_6 _LOAD_FAST_5 30,723,360 0.3% 80.2%
_LOAD_FAST_5 _BUILD_TUPLE 30,713,520 0.3% 80.4%
_LOAD_CONST_INLINE_BORROW _BINARY_OP_SUBTRACT_INT 30,483,240 0.3% 80.7%
_LOAD_FAST _GUARD_TOS_INT 28,666,140 0.3% 81.0%
_GUARD_BOTH_FLOAT _BINARY_OP_SUBTRACT_FLOAT 28,046,480 0.2% 81.2%
_LOAD_FAST_2 _SET_IP 27,945,000 0.2% 81.5%
_GUARD_NOS_INT _BINARY_OP_ADD_INT 27,836,080 0.2% 81.7%
_CHECK_VALIDITY _LOAD_FAST_5 27,144,240 0.2% 81.9%
_LOAD_FAST_5 _SET_IP 26,990,140 0.2% 82.2%
_STORE_FAST _LOAD_FAST_0 26,655,180 0.2% 82.4%
_CALL_BUILTIN_CLASS _CHECK_PERIODIC 26,323,940 0.2% 82.6%
_LOAD_FAST_0 _LOAD_FAST_5 26,281,600 0.2% 82.9%
_LOAD_FAST_5 _EXIT_TRACE 26,279,060 0.2% 83.1%
_BINARY_OP_SUBTRACT_FLOAT _SWAP 26,263,820 0.2% 83.3%
_SET_IP _CALL_BUILTIN_CLASS 25,044,640 0.2% 83.6%
_LOAD_FAST_4 _LOAD_FAST_0 24,235,120 0.2% 83.8%
_GUARD_KEYS_VERSION _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 24,224,820 0.2% 84.0%

Unsupported opcodes

unsupported opcodes
Opcode Count
BINARY_SUBSCR_GETITEM 440
CALL 80

Optimizer errored out with opcode

Optimization stopped after encountering this opcode

Rare events

Counts of rare/unlikely events
Event Count
set class

Setting an object's class, obj.__class__ = ...

0
set bases

Setting the bases of a class, cls.__bases__ = ...

0
set eval frame func

Setting the PEP 523 frame eval function _PyInterpreterState_SetFrameEvalFunc()

0
builtin dict

Modifying the builtins, __builtins__.__dict__[var] = ...

0
func modification

Modifying a function, e.g. func.__defaults__ = ..., etc.

0
watched dict modification

A watched dict has been modified

0
watched globals modification

A watched globals() dict has been modified

0

Meta stats

Meta statistics
Count
Number of data files 100

Stats gathered on: 2024-06-16