Skip to content

Latest commit

 

History

History
9514 lines (8781 loc) · 177 KB

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

File metadata and controls

9514 lines (8781 loc) · 177 KB

Pystats results

  • benchmark: chaos
  • 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 103,874,860 15.5% 15.5%
LOAD_ATTR_INSTANCE_VALUE 66,798,360 10.0% 25.5%
LOAD_FAST_LOAD_FAST 62,789,540 9.4% 34.9%
RETURN_VALUE 35,879,940 5.4% 40.2%
STORE_ATTR_INSTANCE_VALUE 35,210,320 5.3% 45.5%
LOAD_CONST 34,598,360 5.2% 50.7%
STORE_FAST 29,398,620 4.4% 55.1%
RESUME_CHECK 24,009,900 3.6% 58.6%
BINARY_OP 19,211,340 2.9% 61.5%
ENTER_EXECUTOR 18,596,900 2.8% 64.3%
BINARY_SUBSCR_LIST_INT 16,994,220 2.5% 66.8%
BINARY_OP_SUBTRACT_INT 15,201,660 2.3% 69.1%
RETURN_CONST 12,000,480 1.8% 70.9%
LOAD_GLOBAL_BUILTIN 11,581,080 1.7% 72.6%
POP_JUMP_IF_FALSE 11,408,080 1.7% 74.3%
COMPARE_OP 11,204,200 1.7% 76.0%
EXIT_INIT_CHECK 11,200,100 1.7% 77.7%
CALL_ALLOC_AND_ENTER_INIT 11,200,100 1.7% 79.3%
BINARY_OP_ADD_FLOAT 11,200,080 1.7% 81.0%
STORE_SUBSCR_LIST_INT 10,399,980 1.6% 82.6%
BINARY_SUBSCR_TUPLE_INT 10,399,900 1.6% 84.1%
CALL_PY_EXACT_ARGS 8,804,640 1.3% 85.4%
LOAD_ATTR_METHOD_WITH_VALUES 8,800,820 1.3% 86.8%
BINARY_OP_ADD_INT 6,592,000 1.0% 87.7%
POP_TOP 6,150,360 0.9% 88.7%
CALL_LEN 5,789,840 0.9% 89.5%
POP_JUMP_IF_TRUE 5,600,680 0.8% 90.4%
SWAP 5,343,320 0.8% 91.2%
CALL_BUILTIN_CLASS 4,989,340 0.7% 91.9%
LOAD_GLOBAL_MODULE 4,813,120 0.7% 92.6%
BUILD_TUPLE 4,551,600 0.7% 93.3%
PUSH_NULL 4,013,240 0.6% 93.9%
INTERPRETER_EXIT 4,000,220 0.6% 94.5%
BINARY_OP_MULTIPLY_FLOAT 3,999,900 0.6% 95.1%
FOR_ITER_RANGE 3,390,300 0.5% 95.6%
GET_ITER 3,389,000 0.5% 96.1%
BINARY_OP_SUBTRACT_FLOAT 3,200,900 0.5% 96.6%
COMPARE_OP_FLOAT 3,199,920 0.5% 97.1%
CALL_BUILTIN_O 2,412,520 0.4% 97.4%
LOAD_ATTR_MODULE 2,404,480 0.4% 97.8%
COMPARE_OP_INT 1,990,680 0.3% 98.1%
BUILD_LIST 1,600,640 0.2% 98.3%
LIST_APPEND 1,600,480 0.2% 98.6%
CALL_NON_PY_GENERAL 1,600,280 0.2% 98.8%
LOAD_FAST_AND_CLEAR 1,600,160 0.2% 99.0%
COPY 1,600,000 0.2% 99.3%
CALL_ISINSTANCE 800,300 0.1% 99.4%
TO_BOOL_BOOL 800,300 0.1% 99.5%
UNARY_NEGATIVE 800,000 0.1% 99.6%
JUMP_FORWARD 800,000 0.1% 99.8%
STORE_FAST_STORE_FAST 800,000 0.1% 99.9%
UNPACK_SEQUENCE_TWO_TUPLE 799,980 0.1% 100.0%
LOAD_ATTR 11,640 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 4,780 0.0% 100.0%
CALL_BOUND_METHOD_GENERAL 4,380 0.0% 100.0%
IS_OP 4,300 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 4,280 0.0% 100.0%
LOAD_ATTR_METHOD_NO_DICT 4,280 0.0% 100.0%
BINARY_SUBSCR 1,900 0.0% 100.0%
JUMP_BACKWARD 1,800 0.0% 100.0%
CALL 1,520 0.0% 100.0%
LOAD_GLOBAL 1,160 0.0% 100.0%
CALL_PY_GENERAL 460 0.0% 100.0%
STORE_ATTR 360 0.0% 100.0%
LOAD_DEREF 320 0.0% 100.0%
COPY_FREE_VARS 240 0.0% 100.0%
RESUME 220 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST 160 0.0% 100.0% 100.0%
FOR_ITER 160 0.0% 100.0%
CALL_TYPE_1 160 0.0% 100.0%
LOAD_SUPER_ATTR_METHOD 160 0.0% 100.0%
TO_BOOL_NONE 140 0.0% 100.0%
TO_BOOL 120 0.0% 100.0%
NOP 80 0.0% 100.0%
CALL_FUNCTION_EX 80 0.0% 100.0%
STORE_SUBSCR 40 0.0% 100.0%
UNPACK_SEQUENCE 40 0.0% 100.0%
LOAD_SUPER_ATTR 20 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 59,594,500 8.9% 8.9%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 33,600,480 5.0% 13.9%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 22,605,020 3.4% 17.3%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 22,400,320 3.3% 20.6%
RETURN_VALUE STORE_FAST 17,788,700 2.7% 23.3%
STORE_FAST LOAD_FAST 17,614,820 2.6% 25.9%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST 14,401,200 2.2% 28.1%
LOAD_FAST RETURN_VALUE 12,009,920 1.8% 29.9%
RESUME_CHECK LOAD_FAST_LOAD_FAST 12,000,140 1.8% 31.7%
LOAD_GLOBAL_BUILTIN LOAD_FAST 11,390,900 1.7% 33.4%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 11,209,580 1.7% 35.0%
EXIT_INIT_CHECK RETURN_VALUE 11,200,100 1.7% 36.7%
RETURN_CONST EXIT_INIT_CHECK 11,200,100 1.7% 38.4%
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK 11,200,100 1.7% 40.1%
LOAD_CONST BINARY_SUBSCR_TUPLE_INT 10,399,800 1.6% 41.6%
STORE_SUBSCR_LIST_INT ENTER_EXECUTOR 10,399,660 1.6% 43.2%
RETURN_VALUE LOAD_FAST_LOAD_FAST 9,600,000 1.4% 44.6%
ENTER_EXECUTOR CALL_ALLOC_AND_ENTER_INIT 9,600,000 1.4% 46.0%
LOAD_FAST_LOAD_FAST STORE_SUBSCR_LIST_INT 9,600,000 1.4% 47.5%
LOAD_FAST LOAD_CONST 8,805,440 1.3% 48.8%
CALL_PY_EXACT_ARGS RESUME_CHECK 8,804,640 1.3% 50.1%
RESUME_CHECK LOAD_FAST 8,004,880 1.2% 51.3%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 8,000,720 1.2% 52.5%
LOAD_CONST BINARY_OP 8,000,640 1.2% 53.7%
BINARY_OP_SUBTRACT_INT BINARY_SUBSCR_LIST_INT 8,000,000 1.2% 54.9%
BINARY_OP LOAD_FAST 7,200,360 1.1% 56.0%
LOAD_FAST_LOAD_FAST LOAD_CONST 7,200,000 1.1% 57.0%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_SUBTRACT_INT 7,200,000 1.1% 58.1%
STORE_FAST LOAD_FAST_LOAD_FAST 6,597,960 1.0% 59.1%
LOAD_CONST BINARY_OP_SUBTRACT_INT 6,401,640 1.0% 60.1%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 6,400,280 1.0% 61.0%
COMPARE_OP POP_JUMP_IF_FALSE 6,400,240 1.0% 62.0%
BINARY_SUBSCR_TUPLE_INT COMPARE_OP 6,400,000 1.0% 62.9%
LOAD_ATTR_INSTANCE_VALUE CALL_LEN 5,789,800 0.9% 63.8%
POP_JUMP_IF_FALSE LOAD_FAST 5,625,880 0.8% 64.6%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 5,602,840 0.8% 65.5%
CALL_LEN LOAD_FAST 5,600,000 0.8% 66.3%
STORE_FAST LOAD_GLOBAL_BUILTIN 4,988,600 0.7% 67.0%
ENTER_EXECUTOR POP_TOP 4,801,580 0.7% 67.8%
LOAD_CONST BINARY_OP_ADD_INT 4,800,700 0.7% 68.5%
COMPARE_OP POP_JUMP_IF_TRUE 4,800,520 0.7% 69.2%
BINARY_OP BINARY_OP_ADD_FLOAT 4,800,160 0.7% 69.9%
POP_TOP ENTER_EXECUTOR 4,800,000 0.7% 70.6%
BINARY_OP_ADD_FLOAT LOAD_FAST 4,799,920 0.7% 71.3%
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST 4,189,560 0.6% 72.0%
ENTER_EXECUTOR RETURN_VALUE 4,178,760 0.6% 72.6%
PUSH_NULL LOAD_FAST 4,012,360 0.6% 73.2%
BUILD_TUPLE RETURN_VALUE 4,008,280 0.6% 73.8%
LOAD_FAST BINARY_OP 4,000,520 0.6% 74.4%
CACHE RESUME_CHECK 4,000,140 0.6% 75.0%
RETURN_VALUE INTERPRETER_EXIT 4,000,000 0.6% 75.6%
BINARY_SUBSCR_LIST_INT BUILD_TUPLE 4,000,000 0.6% 76.2%
BINARY_SUBSCR_LIST_INT LOAD_FAST 4,000,000 0.6% 76.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_BUILTIN 4,000,000 0.6% 77.4%
FOR_ITER_RANGE STORE_FAST 3,390,220 0.5% 77.9%
CALL_BUILTIN_CLASS GET_ITER 3,388,860 0.5% 78.4%
RESUME_CHECK LOAD_GLOBAL_MODULE 3,204,780 0.5% 78.9%
BINARY_OP STORE_FAST 3,201,060 0.5% 79.4%
BINARY_SUBSCR_LIST_INT COMPARE_OP 3,200,520 0.5% 79.8%
POP_JUMP_IF_TRUE LOAD_FAST_LOAD_FAST 3,200,260 0.5% 80.3%
BINARY_OP_ADD_INT BINARY_SUBSCR_LIST_INT 3,200,260 0.5% 80.8%
COMPARE_OP_FLOAT POP_JUMP_IF_FALSE 3,199,920 0.5% 81.3%
BINARY_SUBSCR_TUPLE_INT BINARY_SUBSCR_LIST_INT 3,199,840 0.5% 81.7%
LOAD_ATTR_INSTANCE_VALUE COMPARE_OP_FLOAT 3,199,840 0.5% 82.2%
LOAD_ATTR_MODULE PUSH_NULL 2,404,420 0.4% 82.6%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 2,404,340 0.4% 82.9%
LOAD_FAST CALL_PY_EXACT_ARGS 2,404,220 0.4% 83.3%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 2,400,440 0.4% 83.7%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_ADD_FLOAT 2,400,120 0.4% 84.0%
BINARY_OP_SUBTRACT_INT LOAD_CONST 2,399,980 0.4% 84.4%
CALL_BUILTIN_O RETURN_VALUE 2,399,980 0.4% 84.7%
BINARY_OP_ADD_FLOAT CALL_BUILTIN_O 2,399,960 0.4% 85.1%
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_ADD_FLOAT 2,399,880 0.4% 85.4%
COMPARE_OP_INT POP_JUMP_IF_FALSE 1,800,740 0.3% 85.7%
LOAD_FAST_LOAD_FAST COMPARE_OP_INT 1,797,020 0.3% 86.0%
LOAD_FAST BINARY_SUBSCR_LIST_INT 1,794,000 0.3% 86.3%
GET_ITER FOR_ITER_RANGE 1,788,780 0.3% 86.5%
BINARY_OP BINARY_OP 1,608,480 0.2% 86.8%
LOAD_GLOBAL_MODULE LOAD_FAST 1,604,380 0.2% 87.0%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP 1,601,100 0.2% 87.2%
BINARY_OP_SUBTRACT_FLOAT LOAD_FAST 1,600,880 0.2% 87.5%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_SUBTRACT_FLOAT 1,600,800 0.2% 87.7%
LOAD_FAST CALL_BUILTIN_CLASS 1,600,200 0.2% 88.0%
GET_ITER LOAD_FAST_AND_CLEAR 1,600,160 0.2% 88.2%
BUILD_LIST SWAP 1,600,160 0.2% 88.4%
LOAD_FAST_AND_CLEAR SWAP 1,600,160 0.2% 88.7%
SWAP BUILD_LIST 1,600,160 0.2% 88.9%
LIST_APPEND ENTER_EXECUTOR 1,600,140 0.2% 89.2%
SWAP FOR_ITER_RANGE 1,600,140 0.2% 89.4%
CALL_BUILTIN_CLASS STORE_FAST 1,600,020 0.2% 89.6%
CALL_NON_PY_GENERAL STORE_FAST 1,600,020 0.2% 89.9%
RETURN_VALUE BINARY_OP 1,600,000 0.2% 90.1%
LOAD_FAST COPY 1,600,000 0.2% 90.3%
LOAD_FAST BINARY_OP_ADD_INT 1,600,000 0.2% 90.6%
BINARY_OP_ADD_INT LOAD_FAST 1,600,000 0.2% 90.8%
BINARY_OP_ADD_INT CALL_BUILTIN_CLASS 1,600,000 0.2% 91.1%
BINARY_OP_SUBTRACT_INT CALL_BUILTIN_CLASS 1,600,000 0.2% 91.3%
BINARY_OP_SUBTRACT_INT LOAD_GLOBAL_BUILTIN 1,600,000 0.2% 91.5%
BINARY_SUBSCR_LIST_INT LIST_APPEND 1,600,000 0.2% 91.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 1,600,000 0.2% 92.0%

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.

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 4,000,140 100.0%
RESUME 80 0.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 1,480 77.9%
BINARY_SUBSCR 180 9.5%
LOAD_FAST 120 6.3%
BINARY_SUBSCR_TUPLE_INT 80 4.2%
LOAD_FAST_LOAD_FAST 40 2.1%
Successors Count Percentage
CALL_BOUND_METHOD_GENERAL 1,240 65.3%
BINARY_SUBSCR 180 9.5%
BINARY_SUBSCR_LIST_INT 160 8.4%
BINARY_SUBSCR_TUPLE_INT 100 5.3%
BINARY_OP 80 4.2%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 11,200,100 100.0%
Successors Count Percentage
RETURN_VALUE 11,200,100 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 3,388,860 100.0%
LOAD_FAST 80 0.0%
CALL 60 0.0%
Successors Count Percentage
FOR_ITER_RANGE 1,788,780 52.8%
LOAD_FAST_AND_CLEAR 1,600,160 47.2%
FOR_ITER 60 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_VALUE 4,000,000 100.0%
RETURN_CONST 220 0.0%

NOP

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

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
ENTER_EXECUTOR 4,801,580 78.1%
RETURN_CONST 800,160 13.0%
SWAP 543,000 8.8%
STORE_FAST 5,200 0.1%
CALL_NON_PY_GENERAL 200 0.0%
Successors Count Percentage
ENTER_EXECUTOR 4,800,000 78.0%
LOAD_FAST 805,360 13.1%
RETURN_VALUE 543,000 8.8%
LOAD_GLOBAL_BUILTIN 1,360 0.0%
JUMP_BACKWARD 160 0.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 2,404,420 59.9%
BINARY_SUBSCR_LIST_INT 1,599,960 39.9%
LOAD_FAST 8,620 0.2%
LOAD_ATTR 120 0.0%
LOAD_DEREF 80 0.0%
Successors Count Percentage
LOAD_FAST 4,012,360 100.0%
LOAD_GLOBAL_BUILTIN 440 0.0%
CALL_NON_PY_GENERAL 240 0.0%
CALL 160 0.0%
LOAD_GLOBAL 40 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
LOAD_FAST 12,009,920 33.5%
EXIT_INIT_CHECK 11,200,100 31.2%
ENTER_EXECUTOR 4,178,760 11.6%
BUILD_TUPLE 4,008,280 11.2%
CALL_BUILTIN_O 2,399,980 6.7%
Successors Count Percentage
STORE_FAST 17,788,700 49.6%
LOAD_FAST_LOAD_FAST 9,600,000 26.8%
INTERPRETER_EXIT 4,000,000 11.1%
BINARY_OP 1,600,000 4.5%
LOAD_CONST 800,000 2.2%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
BINARY_OP 20 50.0%
BINARY_OP_SUBTRACT_INT 20 50.0%
Successors Count Percentage
JUMP_BACKWARD 20 50.0%
STORE_SUBSCR_LIST_INT 20 50.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 60 50.0%
LOAD_FAST 40 33.3%
CALL 20 16.7%
Successors Count Percentage
TO_BOOL_BOOL 60 50.0%
POP_JUMP_IF_FALSE 20 16.7%
POP_JUMP_IF_TRUE 20 16.7%
TO_BOOL_NONE 20 16.7%

UNARY_NEGATIVE

Successors and predecessors for UNARY_NEGATIVE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 799,980 100.0%
LOAD_ATTR 20 0.0%
Successors Count Percentage
LOAD_FAST 800,000 100.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_CONST 8,000,640 41.6%
LOAD_FAST 4,000,520 20.8%
BINARY_OP 1,608,480 8.4%
LOAD_ATTR_INSTANCE_VALUE 1,601,100 8.3%
RETURN_VALUE 1,600,000 8.3%
Successors Count Percentage
LOAD_FAST 7,200,360 37.5%
BINARY_OP_ADD_FLOAT 4,800,160 25.0%
STORE_FAST 3,201,060 16.7%
BINARY_OP 1,608,480 8.4%
RETURN_VALUE 800,000 4.2%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
SWAP 1,600,160 100.0%
LOAD_CONST 480 0.0%
Successors Count Percentage
SWAP 1,600,160 100.0%
LOAD_FAST 480 0.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 4,000,000 87.9%
RETURN_VALUE 551,280 12.1%
LOAD_GLOBAL_BUILTIN 320 0.0%
Successors Count Percentage
RETURN_VALUE 4,008,280 88.1%
SWAP 543,000 11.9%
CALL_ISINSTANCE 280 0.0%
CALL 40 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 540 35.5%
LOAD_ATTR 180 11.8%
PUSH_NULL 160 10.5%
BINARY_OP 120 7.9%
LOAD_ATTR_METHOD_WITH_VALUES 100 6.6%
Successors Count Percentage
STORE_FAST 260 17.1%
CALL_BUILTIN_CLASS 140 9.2%
CALL_PY_EXACT_ARGS 140 9.2%
RESUME 120 7.9%
CALL_NON_PY_GENERAL 120 7.9%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
LOAD_FAST 80 100.0%
Successors Count Percentage
COPY_FREE_VARS 80 100.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
BINARY_SUBSCR_TUPLE_INT 6,400,000 57.1%
BINARY_SUBSCR_LIST_INT 3,200,520 28.6%
LOAD_CONST 800,120 7.1%
LOAD_FAST 800,000 7.1%
COMPARE_OP 3,160 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 6,400,240 57.1%
POP_JUMP_IF_TRUE 4,800,520 42.8%
COMPARE_OP 3,160 0.0%
COMPARE_OP_INT 200 0.0%
COMPARE_OP_FLOAT 80 0.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
LOAD_FAST 1,600,000 100.0%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 1,599,920 100.0%
LOAD_ATTR 80 0.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_BOUND_METHOD_GENERAL 140 58.3%
CALL_FUNCTION_EX 80 33.3%
CALL 20 8.3%
Successors Count Percentage
RESUME_CHECK 220 91.7%
RESUME 20 8.3%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
STORE_SUBSCR_LIST_INT 10,399,660 55.9%
POP_TOP 4,800,000 25.8%
LIST_APPEND 1,600,140 8.6%
POP_JUMP_IF_TRUE 1,596,060 8.6%
COMPARE_OP_INT 189,940 1.0%
Successors Count Percentage
CALL_ALLOC_AND_ENTER_INIT 9,600,000 51.6%
POP_TOP 4,801,580 25.8%
RETURN_VALUE 4,178,760 22.5%
ENTER_EXECUTOR 7,840 0.0%
LOAD_FAST 4,920 0.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD 80 50.0%
GET_ITER 60 37.5%
SWAP 20 12.5%
Successors Count Percentage
STORE_FAST 80 50.0%
FOR_ITER_RANGE 80 50.0%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 4,280 99.5%
LOAD_GLOBAL 20 0.5%
Successors Count Percentage
POP_JUMP_IF_FALSE 4,300 100.0%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
LIST_APPEND 340 18.9%
POP_JUMP_IF_FALSE 340 18.9%
STORE_FAST 340 18.9%
STORE_SUBSCR_LIST_INT 320 17.8%
POP_JUMP_IF_TRUE 280 15.6%
Successors Count Percentage
FOR_ITER_RANGE 1,300 72.2%
LOAD_FAST 340 18.9%
FOR_ITER 80 4.4%
POP_JUMP_IF_FALSE 40 2.2%
POP_TOP 20 1.1%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 799,980 100.0%
STORE_ATTR 20 0.0%
Successors Count Percentage
LOAD_FAST 800,000 100.0%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 1,600,000 100.0%
BINARY_OP 480 0.0%
Successors Count Percentage
ENTER_EXECUTOR 1,600,140 100.0%
JUMP_BACKWARD 340 0.0%

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 10,920 93.8%
LOAD_ATTR 240 2.1%
LOAD_GLOBAL 140 1.2%
LOAD_GLOBAL_MODULE 140 1.2%
COPY 80 0.7%
Successors Count Percentage
LOAD_FAST 4,900 42.1%
STORE_FAST 4,320 37.1%
LOAD_ATTR_INSTANCE_VALUE 1,100 9.5%
BINARY_OP 300 2.6%
LOAD_ATTR 240 2.1%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 14,401,200 41.6%
LOAD_FAST 8,805,440 25.5%
LOAD_FAST_LOAD_FAST 7,200,000 20.8%
BINARY_OP_SUBTRACT_INT 2,399,980 6.9%
RETURN_VALUE 800,000 2.3%
Successors Count Percentage
BINARY_SUBSCR_TUPLE_INT 10,399,800 30.1%
BINARY_OP 8,000,640 23.1%
BINARY_OP_SUBTRACT_INT 6,401,640 18.5%
BINARY_OP_ADD_INT 4,800,700 13.9%
BINARY_OP_ADD_FLOAT 1,599,920 4.6%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 160 50.0%
NOP 80 25.0%
STORE_FAST 80 25.0%
Successors Count Percentage
LOAD_FAST 160 50.0%
PUSH_NULL 80 25.0%
STORE_FAST 80 25.0%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 22,605,020 21.8%
STORE_FAST 17,614,820 17.0%
LOAD_GLOBAL_BUILTIN 11,390,900 11.0%
RESUME_CHECK 8,004,880 7.7%
BINARY_OP 7,200,360 6.9%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 59,594,500 57.4%
RETURN_VALUE 12,009,920 11.6%
LOAD_CONST 8,805,440 8.5%
LOAD_ATTR_METHOD_WITH_VALUES 8,000,720 7.7%
BINARY_OP 4,000,520 3.9%

LOAD_FAST_AND_CLEAR

Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors Count Percentage
GET_ITER 1,600,160 100.0%
Successors Count Percentage
SWAP 1,600,160 100.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 22,400,320 35.7%
RESUME_CHECK 12,000,140 19.1%
RETURN_VALUE 9,600,000 15.3%
STORE_FAST 6,597,960 10.5%
POP_JUMP_IF_FALSE 4,189,560 6.7%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 33,600,480 53.5%
STORE_SUBSCR_LIST_INT 9,600,000 15.3%
LOAD_CONST 7,200,000 11.5%
LOAD_ATTR_INSTANCE_VALUE 5,602,840 8.9%
COMPARE_OP_INT 1,797,020 2.9%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 200 17.2%
LOAD_FAST 160 13.8%
RESUME 140 12.1%
LOAD_GLOBAL_BUILTIN 140 12.1%
RESUME_CHECK 140 12.1%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 440 37.9%
LOAD_FAST 260 22.4%
LOAD_GLOBAL_MODULE 260 22.4%
LOAD_ATTR 140 12.1%
CALL 20 1.7%

LOAD_SUPER_ATTR

Successors and predecessors for LOAD_SUPER_ATTR
Predecessors Count Percentage
LOAD_FAST 20 100.0%
Successors Count Percentage
LOAD_SUPER_ATTR_METHOD 20 100.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP 6,400,240 56.1%
COMPARE_OP_FLOAT 3,199,920 28.0%
COMPARE_OP_INT 1,800,740 15.8%
IS_OP 4,300 0.0%
ENTER_EXECUTOR 2,520 0.0%
Successors Count Percentage
LOAD_FAST 5,625,880 49.3%
LOAD_FAST_LOAD_FAST 4,189,560 36.7%
LOAD_CONST 800,000 7.0%
RETURN_CONST 790,720 6.9%
ENTER_EXECUTOR 1,180 0.0%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 4,780 100.0%
Successors Count Percentage
LOAD_FAST 4,780 100.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
COMPARE_OP 4,800,520 85.7%
TO_BOOL_BOOL 800,140 14.3%
TO_BOOL 20 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 3,200,260 57.1%
ENTER_EXECUTOR 1,596,060 28.5%
LOAD_GLOBAL_MODULE 799,960 14.3%
LOAD_FAST 3,920 0.1%
JUMP_BACKWARD 280 0.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 11,209,580 93.4%
POP_JUMP_IF_FALSE 790,720 6.6%
STORE_ATTR 180 0.0%
Successors Count Percentage
EXIT_INIT_CHECK 11,200,100 93.3%
POP_TOP 800,160 6.7%
INTERPRETER_EXIT 220 0.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 240 66.7%
SWAP 80 22.2%
STORE_ATTR 40 11.1%
Successors Count Percentage
RETURN_CONST 180 50.0%
STORE_ATTR_INSTANCE_VALUE 80 22.2%
LOAD_FAST 40 11.1%
STORE_ATTR 40 11.1%
JUMP_FORWARD 20 5.6%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 17,788,700 60.5%
FOR_ITER_RANGE 3,390,220 11.5%
BINARY_OP 3,201,060 10.9%
CALL_BUILTIN_CLASS 1,600,020 5.4%
CALL_NON_PY_GENERAL 1,600,020 5.4%
Successors Count Percentage
LOAD_FAST 17,614,820 59.9%
LOAD_FAST_LOAD_FAST 6,597,960 22.4%
LOAD_GLOBAL_BUILTIN 4,988,600 17.0%
LOAD_CONST 189,080 0.6%
POP_TOP 5,200 0.0%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 799,980 100.0%
UNPACK_SEQUENCE 20 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 800,000 100.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
BUILD_LIST 1,600,160 29.9%
LOAD_FAST_AND_CLEAR 1,600,160 29.9%
BINARY_OP_ADD_FLOAT 1,599,960 29.9%
BUILD_TUPLE 543,000 10.2%
BINARY_OP 40 0.0%
Successors Count Percentage
BUILD_LIST 1,600,160 29.9%
FOR_ITER_RANGE 1,600,140 29.9%
STORE_ATTR_INSTANCE_VALUE 1,599,920 29.9%
POP_TOP 543,000 10.2%
STORE_ATTR 80 0.0%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
RETURN_VALUE 40 100.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 20 50.0%
UNPACK_SEQUENCE_TWO_TUPLE 20 50.0%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 120 54.5%
CACHE 80 36.4%
COPY_FREE_VARS 20 9.1%
Successors Count Percentage
LOAD_GLOBAL 140 63.6%
LOAD_FAST 60 27.3%
LOAD_FAST_LOAD_FAST 20 9.1%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
BINARY_OP 4,800,160 42.9%
LOAD_ATTR_INSTANCE_VALUE 2,400,120 21.4%
BINARY_OP_MULTIPLY_FLOAT 2,399,880 21.4%
LOAD_CONST 1,599,920 14.3%
Successors Count Percentage
LOAD_FAST 4,799,920 42.9%
CALL_BUILTIN_O 2,399,960 21.4%
SWAP 1,599,960 14.3%
STORE_FAST 799,980 7.1%
CALL_ALLOC_AND_ENTER_INIT 799,960 7.1%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 4,800,700 72.8%
LOAD_FAST 1,600,000 24.3%
BINARY_SUBSCR_LIST_INT 191,240 2.9%
BINARY_OP 60 0.0%
Successors Count Percentage
BINARY_SUBSCR_LIST_INT 3,200,260 48.5%
LOAD_FAST 1,600,000 24.3%
CALL_BUILTIN_CLASS 1,600,000 24.3%
COMPARE_OP_INT 188,880 2.9%
STORE_FAST 2,380 0.0%

BINARY_OP_MULTIPLY_FLOAT

Successors and predecessors for BINARY_OP_MULTIPLY_FLOAT
Predecessors Count Percentage
BINARY_OP_SUBTRACT_FLOAT 1,599,920 40.0%
LOAD_ATTR_INSTANCE_VALUE 1,599,920 40.0%
LOAD_FAST_LOAD_FAST 799,960 20.0%
BINARY_OP 100 0.0%
Successors Count Percentage
BINARY_OP_ADD_FLOAT 2,399,880 60.0%
LOAD_FAST 1,599,960 40.0%
BINARY_OP 60 0.0%

BINARY_OP_SUBTRACT_FLOAT

Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 1,600,800 50.0%
LOAD_CONST 1,599,920 50.0%
BINARY_OP 140 0.0%
LOAD_FAST 40 0.0%
Successors Count Percentage
LOAD_FAST 1,600,880 50.0%
BINARY_OP_MULTIPLY_FLOAT 1,599,920 50.0%
STORE_FAST 60 0.0%
BINARY_OP 40 0.0%

BINARY_OP_SUBTRACT_INT

Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 7,200,000 47.4%
LOAD_CONST 6,401,640 42.1%
LOAD_FAST_LOAD_FAST 1,599,920 10.5%
BINARY_OP 100 0.0%
Successors Count Percentage
BINARY_SUBSCR_LIST_INT 8,000,000 52.6%
LOAD_CONST 2,399,980 15.8%
CALL_BUILTIN_CLASS 1,600,000 10.5%
LOAD_GLOBAL_BUILTIN 1,600,000 10.5%
STORE_FAST 800,440 5.3%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
BINARY_OP_SUBTRACT_INT 8,000,000 47.1%
BINARY_OP_ADD_INT 3,200,260 18.8%
BINARY_SUBSCR_TUPLE_INT 3,199,840 18.8%
LOAD_FAST 1,794,000 10.6%
LOAD_FAST_LOAD_FAST 799,960 4.7%
Successors Count Percentage
BUILD_TUPLE 4,000,000 23.5%
LOAD_FAST 4,000,000 23.5%
COMPARE_OP 3,200,520 18.8%
LIST_APPEND 1,600,000 9.4%
PUSH_NULL 1,599,960 9.4%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 10,399,800 100.0%
BINARY_SUBSCR 100 0.0%
Successors Count Percentage
COMPARE_OP 6,400,000 61.5%
BINARY_SUBSCR_LIST_INT 3,199,840 30.8%
BINARY_OP 799,980 7.7%
BINARY_SUBSCR 80 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
ENTER_EXECUTOR 9,600,000 85.7%
BINARY_OP 799,960 7.1%
BINARY_OP_ADD_FLOAT 799,960 7.1%
LOAD_CONST 120 0.0%
CALL 60 0.0%
Successors Count Percentage
RESUME_CHECK 11,200,100 100.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 2,500 57.1%
BINARY_SUBSCR 1,240 28.3%
BINARY_OP_ADD_INT 440 10.0%
LOAD_FAST 120 2.7%
CALL 80 1.8%
Successors Count Percentage
RESUME_CHECK 4,240 96.8%
COPY_FREE_VARS 140 3.2%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_FAST 1,600,200 32.1%
BINARY_OP_ADD_INT 1,600,000 32.1%
BINARY_OP_SUBTRACT_INT 1,600,000 32.1%
CALL_LEN 188,560 3.8%
LOAD_ATTR_INSTANCE_VALUE 440 0.0%
Successors Count Percentage
GET_ITER 3,388,860 67.9%
STORE_FAST 1,600,020 32.1%
LOAD_CONST 460 0.0%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
BINARY_OP_ADD_FLOAT 2,399,960 99.5%
LOAD_FAST 12,480 0.5%
CALL 80 0.0%
Successors Count Percentage
RETURN_VALUE 2,399,980 99.5%
STORE_FAST 12,540 0.5%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 799,960 100.0%
BUILD_TUPLE 280 0.0%
CALL 60 0.0%
Successors Count Percentage
TO_BOOL_BOOL 800,240 100.0%
TO_BOOL 60 0.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 5,789,800 100.0%
CALL 40 0.0%
Successors Count Percentage
LOAD_FAST 5,600,000 96.7%
CALL_BUILTIN_CLASS 188,560 3.3%
LOAD_CONST 1,260 0.0%
CALL 20 0.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_FAST 140 87.5%
CALL 20 12.5%
Successors Count Percentage
POP_TOP 160 100.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 4,260 99.5%
CALL 20 0.5%
Successors Count Percentage
STORE_FAST 4,280 100.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 799,960 50.0%
BINARY_OP_ADD_FLOAT 799,960 50.0%
PUSH_NULL 240 0.0%
CALL 120 0.0%
Successors Count Percentage
STORE_FAST 1,600,020 100.0%
POP_TOP 200 0.0%
LOAD_FAST 60 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 6,400,280 72.7%
LOAD_FAST 2,404,220 27.3%
CALL 140 0.0%
Successors Count Percentage
RESUME_CHECK 8,804,640 100.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 440 95.7%
CALL 20 4.3%
Successors Count Percentage
RESUME_CHECK 460 100.0%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_CONST 140 87.5%
CALL 20 12.5%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 140 87.5%
LOAD_GLOBAL 20 12.5%

COMPARE_OP_FLOAT

Successors and predecessors for COMPARE_OP_FLOAT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,199,840 100.0%
COMPARE_OP 80 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 3,199,920 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 1,797,020 90.3%
BINARY_OP_ADD_INT 188,880 9.5%
LOAD_CONST 4,580 0.2%
COMPARE_OP 200 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 1,800,740 90.5%
ENTER_EXECUTOR 189,940 9.5%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 1,788,780 52.8%
SWAP 1,600,140 47.2%
JUMP_BACKWARD 1,300 0.0%
FOR_ITER 80 0.0%
Successors Count Percentage
STORE_FAST 3,390,220 100.0%
LOAD_FAST 80 0.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 59,594,500 89.2%
LOAD_FAST_LOAD_FAST 5,602,840 8.4%
COPY 1,599,920 2.4%
LOAD_ATTR 1,100 0.0%
Successors Count Percentage
LOAD_FAST 22,605,020 33.8%
LOAD_CONST 14,401,200 21.6%
BINARY_OP_SUBTRACT_INT 7,200,000 10.8%
CALL_LEN 5,789,800 8.7%
LOAD_GLOBAL_BUILTIN 4,000,000 6.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_FAST 4,260 99.5%
LOAD_ATTR 20 0.5%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_NOARGS 4,260 99.5%
CALL 20 0.5%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 8,000,720 90.9%
BINARY_SUBSCR_LIST_INT 799,960 9.1%
LOAD_ATTR 140 0.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 6,400,280 72.7%
LOAD_FAST 2,400,440 27.3%
CALL 100 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 2,404,340 100.0%
LOAD_ATTR 140 0.0%
Successors Count Percentage
PUSH_NULL 2,404,420 100.0%
STORE_FAST 60 0.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
STORE_FAST 4,988,600 43.1%
LOAD_ATTR_INSTANCE_VALUE 4,000,000 34.5%
BINARY_OP_SUBTRACT_INT 1,600,000 13.8%
RESUME_CHECK 799,960 6.9%
LOAD_GLOBAL_BUILTIN 189,400 1.6%
Successors Count Percentage
LOAD_FAST 11,390,900 98.4%
LOAD_GLOBAL_BUILTIN 189,400 1.6%
BUILD_TUPLE 320 0.0%
LOAD_CONST 160 0.0%
LOAD_DEREF 160 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
RESUME_CHECK 3,204,780 66.6%
LOAD_FAST 806,720 16.8%
POP_JUMP_IF_TRUE 799,960 16.6%
BINARY_OP_SUBTRACT_INT 1,240 0.0%
LOAD_GLOBAL 260 0.0%
Successors Count Percentage
LOAD_ATTR_MODULE 2,404,340 50.0%
LOAD_FAST 1,604,380 33.3%
CALL_ISINSTANCE 799,960 16.6%
IS_OP 4,280 0.1%
LOAD_ATTR 140 0.0%

LOAD_SUPER_ATTR_METHOD

Successors and predecessors for LOAD_SUPER_ATTR_METHOD
Predecessors Count Percentage
LOAD_FAST 140 87.5%
LOAD_SUPER_ATTR 20 12.5%
Successors Count Percentage
LOAD_FAST 160 100.0%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_ALLOC_AND_ENTER_INIT 11,200,100 46.6%
CALL_PY_EXACT_ARGS 8,804,640 36.7%
CACHE 4,000,140 16.7%
CALL_BOUND_METHOD_GENERAL 4,240 0.0%
CALL_PY_GENERAL 460 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 12,000,140 50.0%
LOAD_FAST 8,004,880 33.3%
LOAD_GLOBAL_MODULE 3,204,780 13.3%
LOAD_GLOBAL_BUILTIN 799,960 3.3%
LOAD_GLOBAL 140 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 33,600,480 95.4%
SWAP 1,599,920 4.5%
LOAD_FAST 9,840 0.0%
STORE_ATTR 80 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 22,400,320 63.6%
RETURN_CONST 11,209,580 31.8%
LOAD_FAST 800,440 2.3%
JUMP_FORWARD 799,980 2.3%

STORE_SUBSCR_LIST_INT

Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 9,600,000 92.3%
BINARY_OP_SUBTRACT_INT 799,960 7.7%
STORE_SUBSCR 20 0.0%
Successors Count Percentage
ENTER_EXECUTOR 10,399,660 100.0%
JUMP_BACKWARD 320 0.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 800,240 100.0%
TO_BOOL 60 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 800,140 100.0%
POP_JUMP_IF_FALSE 160 0.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_FAST 120 85.7%
TO_BOOL 20 14.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 140 100.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
RETURN_VALUE 799,960 100.0%
UNPACK_SEQUENCE 20 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 799,980 100.0%

Specialization stats

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.

19,202,400 32.3%
hit

Specialized instructions that complete.

40,194,540 67.7%
Success Count Ratio
Success 640 7.2%
Failure 8,300 92.8%
Failure kind Count Ratio
multiply different types 2,720 32.8%
power 2,340 28.2%
true divide float 1,640 19.8%
add different types 380 4.6%
add other 380 4.6%
subtract other 380 4.6%
true divide other 380 4.6%
true divide different types 80 1.0%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

1,540 0.0%
hit

Specialized instructions that complete.

27,394,120 100.0%
Success Count Ratio
Success 260 72.2%
Failure 100 27.8%
Failure kind Count Ratio
out of range 100 100.0%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

880 0.0%
hit

Specialized instructions that complete.

34,001,180 100.0%
miss

Specialized instructions that deopt.

160 0.0%
Success Count Ratio
Success 800 100.0%
Failure 0 0.0%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

11,200,760 68.3%
hit

Specialized instructions that complete.

5,190,600 31.7%
Success Count Ratio
Success 280 8.1%
Failure 3,160 91.9%
Failure kind Count Ratio
float long 3,160 100.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

80 0.0%
hit

Specialized instructions that complete.

3,390,300 100.0%
Success Count Ratio
Success 80 100.0%
Failure 0 0.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

10,000 0.0%
hit

Specialized instructions that complete.

78,007,940 100.0%
Success Count Ratio
Success 1,400 85.4%
Failure 240 14.6%
Failure kind Count Ratio
method 120 50.0%
not managed dict 120 50.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

460 0.0%
hit

Specialized instructions that complete.

16,394,200 100.0%
Success Count Ratio
Success 700 100.0%
Failure 0 0.0%

LOAD_SUPER_ATTR

specialization stats for LOAD_SUPER_ATTR family
Kind Count Ratio
hit

Specialized instructions that complete.

160 88.9%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

POP_JUMP_IF_NOT_NONE

specialization stats for POP_JUMP_IF_NOT_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.

240 0.0%
hit

Specialized instructions that complete.

35,210,320 100.0%
Success Count Ratio
Success 80 66.7%
Failure 40 33.3%
Failure kind Count Ratio
non string or split 40 100.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

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

20 0.0%
hit

Specialized instructions that complete.

10,399,980 100.0%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

40 0.0%
hit

Specialized instructions that complete.

800,440 100.0%
Success Count Ratio
Success 80 100.0%
Failure 0 0.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

20 0.0%
hit

Specialized instructions that complete.

799,980 100.0%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

Specialization effectiveness

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.

344,594,860 51.5%
Not specialized

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

47,446,040 7.1%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

277,398,780 41.4%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

160 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
BINARY_OP 19,202,400 63.1%
COMPARE_OP 11,200,760 36.8%
LOAD_ATTR 10,000 0.0%
BINARY_SUBSCR 1,540 0.0%
CALL 880 0.0%
LOAD_GLOBAL 460 0.0%
STORE_ATTR 240 0.0%
FOR_ITER 80 0.0%
TO_BOOL 40 0.0%
STORE_SUBSCR 20 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
CALL_METHOD_DESCRIPTOR_FAST 160 100.0%
CACHE 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%
INTERPRETER_EXIT 0 0.0%
NOP 0 0.0%
POP_TOP 0 0.0%
PUSH_NULL 0 0.0%
RETURN_VALUE 0 0.0%
UNARY_NEGATIVE 0 0.0%

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 4,000,220 10.4%
Calls to Python functions inlined 34,400,340 89.6%
Calls via PyEval_EvalFrame (total) 4,000,220 10.4%
Calls via PyEval_EvalFrame (vector) 4,000,220 10.4%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 4,000,220 10.4%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 2,400,000 6.2%
Calls via PyEval_EvalFrame (function ex) 80 0.0%
Calls via PyEval_EvalFrame (api) 0 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 0 0.0%
Frames pushed 49,600,660 129.2%

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 135,253,280 79.7%
Frees to freelist 135,254,900
Allocations 34,472,680 20.3%
Allocations to 512 bytes 34,431,540 20.3%
Allocations to 4 kbytes 41,120 0.0%
Allocations over 4 kbytes 20 0.0%
Frees 36,070,908
Inline values 11,200,160
Interpreter increfs 771,987,460 96.9%
Interpreter decrefs 901,591,240 93.3%
Increfs 24,805,076 3.1%
Decrefs 64,844,425 6.7%
Materialize dict (on request) 0 0.0%
Materialize dict (new key) 0 0.0%
Materialize dict (too big) 0 0.0%
Materialize dict (str subclass) 0 0.0%
Method cache hits 3,203,079
Method cache misses 181
Method cache collisions 209
Method cache dunder hits 4,000,699
Method cache dunder misses 61

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

5,260
Traces created

The number of traces that were successfully created.

240 4.6%
Trace stack overflow

A trace is truncated because it would require more than 5 stack frames.

0 0.0%
Trace stack underflow

A potential trace is abandoned because it pops more frames than it pushes.

1,640 31.2%
Trace too long

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

0 0.0%
Trace too short

A potential trace is abandoced because it it too short.

5,020 95.4%
Inner loop found

A trace is truncated because it has an inner loop

1,200 22.8%
Recursive call

A trace is truncated because it has a recursive call.

0 0.0%
Low confidence

A trace is abandoned because the likelihood of the jump to top being taken is too low.

40 0.8%
Executors invalidated

The number of executors that were invalidated due to watched dictionary changes.

0 0.0%
Traces executed

The number of traces that were executed

43,739,680
Uops executed

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

1,917,287,620 4,383.4%
Count Ratio
Optimizer attempts

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

240
Optimizer successes

The number of traces that were successfully optimized.

240 100.0%
Optimizer no memory

The number of optimizations that failed due to no memory.

0 0.0%
Remove globals builtins changed

The builtins changed during optimization

0 0.0%
Remove globals incorrect keys

The keys in the globals dictionary aren't what was expected

0 0.0%

Trace length histogram

trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 20 8.3%
<= 16 20 8.3%
<= 32 100 41.7%
<= 64 20 8.3%
<= 128 20 8.3%
<= 256 40 16.7%
<= 512 20 8.3%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 20 8.3%
<= 8 20 8.3%
<= 16 80 33.3%
<= 32 40 16.7%
<= 64 0 0.0%
<= 128 60 25.0%
<= 256 20 8.3%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 784,700 1.8%
<= 8 9,609,840 22.0%
<= 16 1,228,720 2.8%
<= 32 348,000 0.8%
<= 64 20 0.0%
<= 128 2,771,440 6.3%
<= 256 10,399,520 23.8%
<= 512 0 0.0%
<= 1,024 0 0.0%
<= 2,048 0 0.0%
<= 4,096 160 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_GUARD_TYPE_VERSION 118,272,720 6.2% 6.2%
_CHECK_MANAGED_OBJECT_HAS_VALUES 105,477,980 5.5% 11.7%
_LOAD_ATTR_INSTANCE_VALUE_0 105,477,980 5.5% 17.2%
_LOAD_FAST 96,799,520 5.0% 22.2%
_LOAD_FAST_0 79,869,380 4.2% 26.4%
_BINARY_OP_SUBTRACT_INT 76,813,600 4.0% 30.4%
_LOAD_FAST_3 73,612,320 3.8% 34.2%
_SET_IP 73,285,420 3.8% 38.1%
_CHECK_VALIDITY 61,290,200 3.2% 41.3%
_LOAD_FAST_1 59,845,700 3.1% 44.4%
_BINARY_OP_ADD_INT 58,133,860 3.0% 47.4%
_BINARY_OP_MULTIPLY_FLOAT 57,600,000 3.0% 50.4%
_LOAD_CONST_INLINE_BORROW 50,789,200 2.6% 53.1%
_BINARY_SUBSCR_LIST_INT 49,642,740 2.6% 55.6%
_STORE_FAST 48,799,520 2.5% 58.2%
_LOAD_FAST_4 42,378,060 2.2% 60.4%
_BINARY_OP 40,039,520 2.1% 62.5%
_GUARD_NOS_FLOAT 38,400,000 2.0% 64.5%
_LOAD_FAST_2 36,644,280 1.9% 66.4%
_GUARD_NOT_EXHAUSTED_RANGE 30,384,580 1.6% 68.0% 26.4%
_ITER_CHECK_RANGE 30,384,580 1.6% 69.6%
_GUARD_TOS_INT 29,392,160 1.5% 71.1%
_BINARY_OP_ADD_FLOAT 28,800,000 1.5% 72.6%
_GUARD_BOTH_INT 27,023,040 1.4% 74.0%
_EXIT_TRACE 25,142,400 1.3% 75.3%
_START_EXECUTOR 25,142,400 1.3% 76.6%
_LOAD_FAST_7 24,000,000 1.3% 77.9%
_TIER2_RESUME_CHECK 23,660,380 1.2% 79.1%
_STORE_FAST_4 22,386,520 1.2% 80.3%
_ITER_NEXT_RANGE 22,369,380 1.2% 81.5%
_LOAD_FAST_5 20,800,000 1.1% 82.5%
_GUARD_BOTH_FLOAT 20,799,040 1.1% 83.6%
_LOAD_FAST_6 19,200,000 1.0% 84.6%
_COLD_EXIT 18,597,280 1.0% 85.6%
_RESUME_CHECK 14,390,440 0.8% 86.4%
_PUSH_FRAME 14,390,440 0.8% 87.1%
_SAVE_RETURN_OFFSET 14,390,440 0.8% 87.9%
_CHECK_PERIODIC 13,398,820 0.7% 88.6%
_CHECK_FUNCTION_EXACT_ARGS 11,995,220 0.6% 89.2%
_LOAD_CONST_INLINE_WITH_NULL 11,820,700 0.6% 89.8%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 11,199,040 0.6% 90.4%
_GUARD_KEYS_VERSION 11,199,040 0.6% 91.0%
_LOAD_ATTR_METHOD_WITH_VALUES 11,199,040 0.6% 91.5%
_CHECK_STACK_SPACE_OPERAND 9,600,000 0.5% 92.0%
_GUARD_IS_NOT_NONE_POP 9,600,000 0.5% 92.5%
_INIT_CALL_PY_EXACT_ARGS_3 9,600,000 0.5% 93.1%
_CALL_BUILTIN_CLASS 7,810,920 0.4% 93.5%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 7,810,920 0.4% 93.9%
_CHECK_VALIDITY_AND_SET_IP 7,636,400 0.4% 94.3%
_CHECK_FUNCTION 7,191,880 0.4% 94.6%
_GET_ITER 7,011,400 0.4% 95.0%
_COMPARE_OP_INT 6,399,320 0.3% 95.3%
_GUARD_IS_FALSE_POP 5,916,800 0.3% 95.6% 26.0%
_JUMP_TO_TOP 5,591,020 0.3% 95.9%
_POP_TOP 5,050,520 0.3% 96.2%
_LIST_APPEND 4,840,480 0.3% 96.5%
_STORE_FAST_7 4,800,000 0.3% 96.7%
_STORE_FAST_3 4,724,600 0.2% 97.0%
_GUARD_IS_TRUE_POP 4,517,240 0.2% 97.2% 3.8%
_PUSH_NULL 3,992,200 0.2% 97.4%
_CALL_BUILTIN_O 3,992,200 0.2% 97.6%
_CHECK_PEP_523 3,194,740 0.2% 97.8%
_LOAD_ATTR 3,191,400 0.2% 97.9%
_LOAD_CONST 3,006,620 0.2% 98.1%
_STORE_FAST_2 2,812,060 0.1% 98.2%
_CHECK_STACK_SPACE 2,395,220 0.1% 98.4%
_GUARD_IS_NONE_POP 2,395,220 0.1% 98.5%
_PY_FRAME_GENERAL 2,395,220 0.1% 98.6%
_COMPARE_OP 2,251,640 0.1% 98.7%
_POP_FRAME 1,720,240 0.1% 98.8%
_STORE_FAST_6 1,640,480 0.1% 98.9%
_GUARD_NOS_INT 1,613,600 0.1% 99.0%
_STORE_FAST_5 1,600,000 0.1% 99.1%
_BINARY_OP_SUBTRACT_FLOAT 1,599,040 0.1% 99.2%
_IS_OP 1,595,700 0.1% 99.2%
_CALL_METHOD_DESCRIPTOR_NOARGS 1,595,700 0.1% 99.3%
_CHECK_METHOD_VERSION 1,595,700 0.1% 99.4%
_EXPAND_METHOD 1,595,700 0.1% 99.5%
_INIT_CALL_PY_EXACT_ARGS_1 1,595,700 0.1% 99.6%
_LOAD_ATTR_METHOD_NO_DICT 1,595,700 0.1% 99.7%
_LOAD_CONST_INLINE 1,595,700 0.1% 99.7%
_CHECK_ATTR_MODULE 799,520 0.0% 99.8%
_CHECK_FUNCTION_VERSION 799,520 0.0% 99.8%
_INIT_CALL_PY_EXACT_ARGS_0 799,520 0.0% 99.9%
_LOAD_ATTR_MODULE 799,520 0.0% 99.9%
_CALL_LEN 625,000 0.0% 99.9%
_STORE_FAST_1 611,400 0.0% 100.0%
_BUILD_TUPLE 248,720 0.0% 100.0%
_SWAP 242,120 0.0% 100.0%
_BUILD_LIST 40,480 0.0% 100.0%
_BINARY_SUBSCR 13,600 0.0% 100.0%

Pair counts

Pair counts for top 100 Non-JIT uop pairs

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

Pair Count Self Cumulative
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 105,477,980 5.5% 5.5%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 105,477,980 5.5% 11.0%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 76,677,980 4.0% 15.0%
_SET_IP _BINARY_OP 40,039,520 2.1% 17.1%
_BINARY_OP _CHECK_VALIDITY 40,039,520 2.1% 19.2%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_3 38,442,740 2.0% 21.2%
_GUARD_NOS_FLOAT _BINARY_OP_MULTIPLY_FLOAT 38,400,000 2.0% 23.2%
_LOAD_FAST_1 _GUARD_TYPE_VERSION 31,994,740 1.7% 24.9%
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE 30,384,580 1.6% 26.4%
_BINARY_OP_MULTIPLY_FLOAT _BINARY_OP_ADD_FLOAT 28,800,000 1.5% 27.9%
_BINARY_OP_MULTIPLY_FLOAT _LOAD_FAST_1 28,800,000 1.5% 29.4%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_2 28,800,000 1.5% 30.9%
_LOAD_FAST _LOAD_FAST 28,800,000 1.5% 32.4%
_LOAD_CONST_INLINE_BORROW _BINARY_OP_ADD_INT 25,125,820 1.3% 33.8%
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE 23,373,180 1.2% 35.0%
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE 22,369,380 1.2% 36.1%
_LOAD_FAST _SET_IP 19,999,520 1.0% 37.2%
_GUARD_TOS_INT _BINARY_OP_ADD_INT 19,792,160 1.0% 38.2%
_BINARY_SUBSCR_LIST_INT _STORE_FAST 19,200,000 1.0% 39.2%
_BINARY_OP_ADD_FLOAT _LOAD_FAST_0 19,200,000 1.0% 40.2%
_BINARY_OP_ADD_INT _LOAD_FAST_7 19,200,000 1.0% 41.2%
_BINARY_OP_SUBTRACT_INT _BINARY_SUBSCR_LIST_INT 19,200,000 1.0% 42.2%
_BINARY_OP_SUBTRACT_INT _SET_IP 19,200,000 1.0% 43.2%
_CHECK_VALIDITY _LOAD_FAST 19,200,000 1.0% 44.2%
_CHECK_VALIDITY _STORE_FAST 19,200,000 1.0% 45.2%
_GUARD_BOTH_FLOAT _BINARY_OP_MULTIPLY_FLOAT 19,200,000 1.0% 46.2%
_GUARD_BOTH_INT _BINARY_OP_SUBTRACT_INT 19,200,000 1.0% 47.2%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TOS_INT 19,200,000 1.0% 48.2%
_LOAD_CONST_INLINE_BORROW _BINARY_OP_SUBTRACT_INT 19,200,000 1.0% 49.2%
_LOAD_FAST_2 _GUARD_NOS_FLOAT 19,200,000 1.0% 50.2%
_LOAD_FAST_3 _GUARD_NOS_FLOAT 19,200,000 1.0% 51.2%
_LOAD_FAST_5 _LOAD_FAST 19,200,000 1.0% 52.2%
_LOAD_FAST_6 _LOAD_FAST_4 19,200,000 1.0% 53.2%
_START_EXECUTOR _TIER2_RESUME_CHECK 18,069,360 0.9% 54.2%
_BINARY_OP_ADD_INT _BINARY_SUBSCR_LIST_INT 15,525,820 0.8% 55.0%
_BINARY_OP_SUBTRACT_INT _LOAD_CONST_INLINE_BORROW 14,400,000 0.8% 55.7%
_ITER_NEXT_RANGE _STORE_FAST_4 14,400,000 0.8% 56.5%
_LOAD_FAST_7 _BINARY_OP_SUBTRACT_INT 14,400,000 0.8% 57.2%
_SAVE_RETURN_OFFSET _PUSH_FRAME 14,390,440 0.8% 58.0%
_PUSH_FRAME _RESUME_CHECK 11,995,220 0.6% 58.6%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 11,199,040 0.6% 59.2%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 11,199,040 0.6% 59.8%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 11,199,040 0.6% 60.4%
_LOAD_FAST_1 _SET_IP 11,195,700 0.6% 61.0%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_0 10,225,000 0.5% 61.5%
_BINARY_SUBSCR_LIST_INT _GUARD_TYPE_VERSION 9,600,000 0.5% 62.0%
_BINARY_SUBSCR_LIST_INT _LOAD_FAST 9,600,000 0.5% 62.5%
_RESUME_CHECK _LOAD_FAST_3 9,600,000 0.5% 63.0%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 9,600,000 0.5% 63.5%
_BINARY_OP_ADD_FLOAT _EXIT_TRACE 9,600,000 0.5% 64.0%
_BINARY_OP_SUBTRACT_INT _LOAD_FAST_0 9,600,000 0.5% 64.5%
_BINARY_OP_SUBTRACT_INT _STORE_FAST 9,600,000 0.5% 65.0%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 9,600,000 0.5% 65.5%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_3 9,600,000 0.5% 66.0%
_GUARD_IS_NOT_NONE_POP _LOAD_CONST_INLINE_WITH_NULL 9,600,000 0.5% 66.5%
_GUARD_TOS_INT _BINARY_OP_SUBTRACT_INT 9,600,000 0.5% 67.0%
_INIT_CALL_PY_EXACT_ARGS_3 _SAVE_RETURN_OFFSET 9,600,000 0.5% 67.5%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_BOTH_INT 9,600,000 0.5% 68.0%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_5 9,600,000 0.5% 68.5%
_LOAD_FAST _BINARY_SUBSCR_LIST_INT 9,600,000 0.5% 69.0%
_LOAD_FAST _BINARY_OP_SUBTRACT_INT 9,600,000 0.5% 69.5%
_LOAD_FAST _GUARD_BOTH_INT 9,600,000 0.5% 70.0%
_LOAD_FAST _LOAD_CONST_INLINE_BORROW 9,600,000 0.5% 70.5%
_LOAD_FAST _LOAD_FAST_1 9,600,000 0.5% 71.0%
_LOAD_FAST_1 _LOAD_FAST 9,600,000 0.5% 71.5%
_LOAD_FAST_2 _GUARD_BOTH_FLOAT 9,600,000 0.5% 72.0%
_LOAD_FAST_3 _GUARD_BOTH_FLOAT 9,600,000 0.5% 72.5%
_LOAD_FAST_3 _GUARD_IS_NOT_NONE_POP 9,600,000 0.5% 73.0%
_LOAD_FAST_3 _LOAD_FAST_0 9,600,000 0.5% 73.5%
_LOAD_FAST_4 _LOAD_CONST_INLINE_BORROW 9,600,000 0.5% 74.0%
_LOAD_FAST_4 _LOAD_FAST_0 9,600,000 0.5% 74.5%
_LOAD_FAST_4 _LOAD_FAST_3 9,600,000 0.5% 75.0%
_STORE_FAST _LOAD_FAST 9,600,000 0.5% 75.5%
_STORE_FAST _LOAD_FAST_1 9,600,000 0.5% 76.0%
_STORE_FAST _LOAD_FAST_4 9,600,000 0.5% 76.5%
_STORE_FAST _LOAD_FAST_5 9,600,000 0.5% 77.0%
_STORE_FAST _LOAD_FAST_6 9,600,000 0.5% 77.5%
_STORE_FAST_4 _LOAD_FAST_6 9,600,000 0.5% 78.0%
_GUARD_NOT_EXHAUSTED_RANGE _EXIT_TRACE 8,015,200 0.4% 78.4%
_CALL_BUILTIN_CLASS _CHECK_PERIODIC 7,810,920 0.4% 78.8%
_LOAD_FAST_3 _LOAD_CONST_INLINE_BORROW 7,521,520 0.4% 79.2%
_SET_IP _CALL_BUILTIN_CLASS 7,199,520 0.4% 79.6%
_BINARY_OP_ADD_INT _SET_IP 7,199,520 0.4% 80.0%
_GET_ITER _CHECK_VALIDITY 7,011,400 0.4% 80.4%
_CHECK_PERIODIC _CHECK_VALIDITY_AND_SET_IP 7,011,400 0.4% 80.7%
_CHECK_VALIDITY _ITER_CHECK_RANGE 7,011,400 0.4% 81.1%
_CHECK_VALIDITY_AND_SET_IP _GET_ITER 7,011,400 0.4% 81.4%
_STORE_FAST_4 _LOAD_FAST_0 6,400,000 0.3% 81.8%
_CHECK_PERIODIC _CHECK_VALIDITY 6,387,420 0.3% 82.1%
_GUARD_BOTH_INT _COMPARE_OP_INT 5,807,160 0.3% 82.4%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 5,591,020 0.3% 82.7%
_LIST_APPEND _JUMP_TO_TOP 4,840,480 0.3% 83.0%
_BINARY_SUBSCR_LIST_INT _LIST_APPEND 4,800,000 0.3% 83.2%
_BINARY_OP_ADD_INT _LOAD_CONST_INLINE_BORROW 4,800,000 0.3% 83.5%
_BINARY_OP_ADD_INT _LOAD_FAST_3 4,800,000 0.3% 83.7%
_BINARY_OP_ADD_INT _LOAD_FAST_4 4,800,000 0.3% 84.0%
_BINARY_OP_SUBTRACT_INT _LOAD_FAST_7 4,800,000 0.3% 84.2%
_CHECK_FUNCTION _LOAD_CONST_INLINE_BORROW_WITH_NULL 4,800,000 0.3% 84.5%
_ITER_NEXT_RANGE _STORE_FAST_7 4,800,000 0.3% 84.7%
_LOAD_CONST_INLINE_BORROW_WITH_NULL _LOAD_FAST_3 4,800,000 0.3% 85.0%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 2,340

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 20

Stats gathered on: 2024-06-16