Skip to content

Latest commit

 

History

History
10908 lines (9914 loc) · 190 KB

bm-20241025-azure-x86_64-brandtbucher-justin_no_externs-3.14.0a1+-64b198a-pystats-async_generators.md

File metadata and controls

10908 lines (9914 loc) · 190 KB

Pystats results

  • benchmark: async_generators
  • fork: brandtbucher
  • ref: justin-no-externs
  • commit hash: 64b198a
  • commit date: 2024-10-25T10:03:36-07: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 202,161,120 12.5% 12.5%
RESUME_CHECK 136,144,080 8.4% 20.9% 0.0%
STORE_FAST 118,141,980 7.3% 28.2%
POP_TOP 118,141,680 7.3% 35.5%
INTERPRETER_EXIT 118,137,720 7.3% 42.8%
SEND 100,161,220 6.2% 49.0%
CALL_INTRINSIC_1 94,136,880 5.8% 54.8%
END_SEND 94,136,820 5.8% 60.7%
YIELD_VALUE 94,136,760 5.8% 66.5%
ENTER_EXECUTOR 94,136,760 5.8% 72.3%
LOAD_ATTR_INSTANCE_VALUE 54,006,120 3.3% 75.6%
LOAD_CONST 42,006,780 2.6% 78.2%
RETURN_CONST 36,003,720 2.2% 80.5%
LOAD_FAST_LOAD_FAST 36,003,300 2.2% 82.7%
POP_JUMP_IF_FALSE 30,004,200 1.9% 84.5%
LOAD_GLOBAL_MODULE 24,004,860 1.5% 86.0%
CALL_PY_EXACT_ARGS 18,005,520 1.1% 87.1%
STORE_ATTR_INSTANCE_VALUE 18,002,940 1.1% 88.2%
RETURN_VALUE 12,003,660 0.7% 89.0%
LOAD_GLOBAL_BUILTIN 12,002,880 0.7% 89.7% 0.0%
CALL_NON_PY_GENERAL 12,002,220 0.7% 90.5%
LOAD_ATTR_METHOD_NO_DICT 12,001,980 0.7% 91.2%
COMPARE_OP_INT 12,000,720 0.7% 92.0%
CALL_LEN 12,000,420 0.7% 92.7%
CALL_METHOD_DESCRIPTOR_O 12,000,300 0.7% 93.4% 0.0%
BINARY_SLICE 12,000,000 0.7% 94.2%
TO_BOOL_ALWAYS_TRUE 6,052,180 0.4% 94.6% 45.2%
TO_BOOL_NONE 6,051,420 0.4% 94.9% 45.2%
LOAD_ATTR_METHOD_WITH_VALUES 6,004,080 0.4% 95.3%
TO_BOOL_BOOL 6,003,180 0.4% 95.7%
PUSH_NULL 6,002,700 0.4% 96.0%
BINARY_OP 6,002,000 0.4% 96.4%
BINARY_SUBSCR 6,001,500 0.4% 96.8%
POP_JUMP_IF_NONE 6,000,600 0.4% 97.2%
EXIT_INIT_CHECK 6,000,120 0.4% 97.5%
RETURN_GENERATOR 6,000,120 0.4% 97.9%
CALL_ALLOC_AND_ENTER_INIT 6,000,120 0.4% 98.3%
BINARY_OP_ADD_INT 6,000,060 0.4% 98.6%
END_ASYNC_FOR 6,000,000 0.4% 99.0%
GET_AITER 6,000,000 0.4% 99.4%
GET_ANEXT 6,000,000 0.4% 99.8%
JUMP_BACKWARD_NO_INTERRUPT 3,932,100 0.2% 100.0%
LOAD_ATTR 4,460 0.0% 100.0%
LOAD_ATTR_MODULE 2,700 0.0% 100.0%
CALL 2,560 0.0% 100.0%
STORE_ATTR_SLOT 1,800 0.0% 100.0%
NOP 1,560 0.0% 100.0%
LOAD_GLOBAL 1,460 0.0% 100.0%
LOAD_ATTR_SLOT 1,440 0.0% 100.0%
STORE_ATTR 1,320 0.0% 100.0%
POP_JUMP_IF_TRUE 1,140 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 1,080 0.0% 100.0% 22.2%
POP_JUMP_IF_NOT_NONE 1,080 0.0% 100.0%
TO_BOOL 880 0.0% 100.0%
LOAD_DEREF 720 0.0% 100.0%
CALL_BUILTIN_CLASS 720 0.0% 100.0%
COPY 660 0.0% 100.0%
COPY_FREE_VARS 660 0.0% 100.0%
JUMP_FORWARD 660 0.0% 100.0%
BUILD_TUPLE 600 0.0% 100.0%
GET_ITER 540 0.0% 100.0%
CALL_PY_GENERAL 540 0.0% 100.0%
LOAD_SUPER_ATTR_METHOD 480 0.0% 100.0%
TO_BOOL_INT 480 0.0% 100.0%
CALL_ISINSTANCE 420 0.0% 100.0%
IS_OP 360 0.0% 100.0%
BUILD_LIST 300 0.0% 100.0%
BUILD_MAP 300 0.0% 100.0%
CALL_FUNCTION_EX 300 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 300 0.0% 100.0%
FOR_ITER_LIST 300 0.0% 100.0%
MAKE_FUNCTION 240 0.0% 100.0%
FOR_ITER 240 0.0% 100.0%
JUMP_BACKWARD 240 0.0% 100.0%
SET_FUNCTION_ATTRIBUTE 240 0.0% 100.0%
SWAP 240 0.0% 100.0%
CALL_BUILTIN_FAST 240 0.0% 100.0%
FOR_ITER_RANGE 240 0.0% 100.0%
LOAD_ATTR_CLASS 240 0.0% 100.0%
TO_BOOL_LIST 240 0.0% 100.0%
UNPACK_SEQUENCE_TWO_TUPLE 240 0.0% 100.0%
STORE_FAST_STORE_FAST 180 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST 180 0.0% 100.0%
COMPARE_OP 160 0.0% 100.0%
LOAD_SUPER_ATTR 160 0.0% 100.0%
CHECK_EXC_MATCH 120 0.0% 100.0%
POP_EXCEPT 120 0.0% 100.0%
PUSH_EXC_INFO 120 0.0% 100.0%
UNARY_INVERT 120 0.0% 100.0%
UNARY_NOT 120 0.0% 100.0%
LIST_EXTEND 120 0.0% 100.0%
MAKE_CELL 120 0.0% 100.0%
BINARY_OP_ADD_FLOAT 120 0.0% 100.0%
BINARY_SUBSCR_DICT 120 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 120 0.0% 100.0%
CALL_BUILTIN_O 120 0.0% 100.0%
CALL_KW_NON_PY 120 0.0% 100.0%
UNPACK_SEQUENCE 80 0.0% 100.0%
CALL_KW 60 0.0% 100.0%
DICT_MERGE 60 0.0% 100.0%
GET_AWAITABLE 60 0.0% 100.0%
IMPORT_NAME 60 0.0% 100.0%
RAISE_VARARGS 60 0.0% 100.0%
RERAISE 60 0.0% 100.0%
STORE_DEREF 60 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%
BINARY_OP_SUBTRACT_INT 60 0.0% 100.0%
BINARY_SUBSCR_GETITEM 60 0.0% 100.0%
BINARY_SUBSCR_TUPLE_INT 60 0.0% 100.0%
CALL_BOUND_METHOD_GENERAL 60 0.0% 100.0%
CALL_KW_PY 60 0.0% 100.0%
CALL_TYPE_1 60 0.0% 100.0%
CONTAINS_OP_DICT 60 0.0% 100.0%
CONTAINS_OP_SET 60 0.0% 100.0%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 60 0.0% 100.0%
SEND_GEN 60 0.0% 100.0%
STORE_SUBSCR_DICT 60 0.0% 100.0%
CONTAINS_OP 40 0.0% 100.0%
STORE_SUBSCR 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
STORE_FAST LOAD_FAST 106,139,520 6.6% 6.6%
CACHE RESUME_CHECK 106,137,660 6.6% 13.1%
END_SEND STORE_FAST 94,136,760 5.8% 18.9%
CALL_INTRINSIC_1 YIELD_VALUE 94,136,760 5.8% 24.8%
SEND END_SEND 94,136,760 5.8% 30.6%
YIELD_VALUE INTERPRETER_EXIT 94,136,760 5.8% 36.4%
RESUME_CHECK POP_TOP 94,136,760 5.8% 42.2%
ENTER_EXECUTOR SEND 94,136,760 5.8% 48.0%
POP_TOP ENTER_EXECUTOR 88,136,760 5.4% 53.5%
LOAD_FAST CALL_INTRINSIC_1 88,136,760 5.4% 58.9%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 48,005,000 3.0% 61.9%
RESUME_CHECK LOAD_FAST 24,003,600 1.5% 63.4%
LOAD_FAST LOAD_CONST 24,000,840 1.5% 64.9%
POP_JUMP_IF_FALSE LOAD_FAST 20,069,700 1.2% 66.1%
CALL_PY_EXACT_ARGS RESUME_CHECK 18,004,920 1.1% 67.2%
POP_TOP RETURN_CONST 18,001,020 1.1% 68.3%
RETURN_CONST INTERPRETER_EXIT 18,000,660 1.1% 69.5%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 18,000,240 1.1% 70.6%
LOAD_GLOBAL_BUILTIN LOAD_FAST 12,001,620 0.7% 71.3%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 12,001,100 0.7% 72.1%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT 12,001,080 0.7% 72.8%
COMPARE_OP_INT POP_JUMP_IF_FALSE 12,000,720 0.7% 73.5%
LOAD_CONST COMPARE_OP_INT 12,000,580 0.7% 74.3%
CALL_LEN STORE_FAST 12,000,300 0.7% 75.0%
CALL_METHOD_DESCRIPTOR_O POP_TOP 12,000,300 0.7% 75.8%
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST 12,000,300 0.7% 76.5%
LOAD_FAST CALL_LEN 12,000,060 0.7% 77.2%
BINARY_SLICE CALL_PY_EXACT_ARGS 12,000,000 0.7% 78.0%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 12,000,000 0.7% 78.7%
POP_JUMP_IF_FALSE RETURN_CONST 9,932,880 0.6% 79.3%
LOAD_CONST LOAD_FAST 6,002,820 0.4% 79.7%
RETURN_CONST POP_TOP 6,002,640 0.4% 80.1%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 6,002,280 0.4% 80.5%
POP_TOP LOAD_FAST 6,001,740 0.4% 80.8%
LOAD_FAST CALL_PY_EXACT_ARGS 6,001,340 0.4% 81.2%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 6,001,200 0.4% 81.6%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_BOOL 6,000,840 0.4% 81.9%
PUSH_NULL CALL_NON_PY_GENERAL 6,000,760 0.4% 82.3%
CALL_NON_PY_GENERAL STORE_FAST 6,000,660 0.4% 82.7%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 6,000,660 0.4% 83.1%
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_FALSE 6,000,540 0.4% 83.4%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_ALWAYS_TRUE 6,000,520 0.4% 83.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_WITH_VALUES 6,000,440 0.4% 84.2%
RETURN_VALUE RETURN_VALUE 6,000,420 0.4% 84.5%
LOAD_FAST PUSH_NULL 6,000,420 0.4% 84.9%
LOAD_GLOBAL_MODULE LOAD_FAST 6,000,420 0.4% 85.3%
LOAD_FAST POP_JUMP_IF_NONE 6,000,360 0.4% 85.6%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 6,000,300 0.4% 86.0%
STORE_FAST LOAD_GLOBAL_MODULE 6,000,280 0.4% 86.4%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 6,000,200 0.4% 86.8%
EXIT_INIT_CHECK RETURN_VALUE 6,000,120 0.4% 87.1%
POP_TOP RESUME_CHECK 6,000,120 0.4% 87.5%
BINARY_OP STORE_FAST 6,000,120 0.4% 87.9%
LOAD_FAST CALL_METHOD_DESCRIPTOR_O 6,000,120 0.4% 88.2%
LOAD_FAST_LOAD_FAST LOAD_CONST 6,000,120 0.4% 88.6%
POP_JUMP_IF_NONE LOAD_FAST 6,000,120 0.4% 89.0%
RETURN_CONST EXIT_INIT_CHECK 6,000,120 0.4% 89.4%
RESUME_CHECK LOAD_FAST_LOAD_FAST 6,000,120 0.4% 89.7%
CACHE POP_TOP 6,000,060 0.4% 90.1%
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK 6,000,060 0.4% 90.5%
LOAD_CONST BINARY_OP 6,000,040 0.4% 90.8%
LOAD_CONST BINARY_OP_ADD_INT 6,000,040 0.4% 91.2%
LOAD_GLOBAL_MODULE LOAD_GLOBAL_MODULE 6,000,040 0.4% 91.6%
LOAD_CONST SEND 6,000,020 0.4% 92.0%
CACHE RETURN_GENERATOR 6,000,000 0.4% 92.3%
BINARY_SUBSCR LOAD_GLOBAL_MODULE 6,000,000 0.4% 92.7%
GET_AITER GET_ANEXT 6,000,000 0.4% 93.1%
GET_ANEXT LOAD_CONST 6,000,000 0.4% 93.4%
RETURN_GENERATOR INTERPRETER_EXIT 6,000,000 0.4% 93.8%
LOAD_CONST BINARY_SLICE 6,000,000 0.4% 94.2%
LOAD_FAST BINARY_SLICE 6,000,000 0.4% 94.6%
LOAD_FAST_LOAD_FAST BINARY_SUBSCR 6,000,000 0.4% 94.9%
SEND END_ASYNC_FOR 6,000,000 0.4% 95.3%
STORE_FAST ENTER_EXECUTOR 6,000,000 0.4% 95.7%
BINARY_OP_ADD_INT LOAD_CONST 6,000,000 0.4% 96.0%
CALL_NON_PY_GENERAL CALL_METHOD_DESCRIPTOR_O 6,000,000 0.4% 96.4%
LOAD_ATTR_INSTANCE_VALUE CALL_INTRINSIC_1 6,000,000 0.4% 96.8%
LOAD_ATTR_INSTANCE_VALUE CALL_NON_PY_GENERAL 6,000,000 0.4% 97.1%
LOAD_ATTR_METHOD_NO_DICT LOAD_GLOBAL_MODULE 6,000,000 0.4% 97.5%
LOAD_ATTR_INSTANCE_VALUE GET_AITER 5,999,940 0.4% 97.9%
TO_BOOL_NONE POP_JUMP_IF_FALSE 5,999,760 0.4% 98.3%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_NONE 5,999,480 0.4% 98.6%
RETURN_VALUE LOAD_FAST_LOAD_FAST 3,932,160 0.2% 98.9%
RETURN_CONST CALL_ALLOC_AND_ENTER_INIT 3,932,160 0.2% 99.1%
END_ASYNC_FOR JUMP_BACKWARD_NO_INTERRUPT 3,932,100 0.2% 99.4%
JUMP_BACKWARD_NO_INTERRUPT LOAD_FAST 3,932,100 0.2% 99.6%
END_ASYNC_FOR RETURN_CONST 2,067,900 0.1% 99.7%
RETURN_CONST LOAD_FAST_LOAD_FAST 2,067,900 0.1% 99.9%
RETURN_VALUE CALL_ALLOC_AND_ENTER_INIT 2,067,840 0.1% 100.0%
TO_BOOL_NONE TO_BOOL_ALWAYS_TRUE 51,660 0.0% 100.0%
TO_BOOL_ALWAYS_TRUE TO_BOOL_NONE 51,640 0.0% 100.0%
SEND SEND 24,440 0.0% 100.0%
LOAD_FAST LOAD_ATTR 2,400 0.0% 100.0%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 2,120 0.0% 100.0%
LOAD_ATTR_MODULE PUSH_NULL 2,040 0.0% 100.0%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 1,840 0.0% 100.0%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 1,720 0.0% 100.0%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 1,620 0.0% 100.0%
BINARY_OP BINARY_OP 1,580 0.0% 100.0%
BINARY_SUBSCR BINARY_SUBSCR 1,460 0.0% 100.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.

BINARY_SLICE

Successors and predecessors for BINARY_SLICE
Predecessors Count Percentage
LOAD_CONST 6,000,000 50.0%
LOAD_FAST 6,000,000 50.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 12,000,000 100.0%

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 106,137,660 89.8%
POP_TOP 6,000,060 5.1%
RETURN_GENERATOR 6,000,000 5.1%
COPY_FREE_VARS 60 0.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 6,000,000 100.0%
BINARY_SUBSCR 1,460 0.0%
LOAD_CONST 20 0.0%
LOAD_FAST 20 0.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 6,000,000 100.0%
BINARY_SUBSCR 1,460 0.0%
BINARY_SUBSCR_DICT 20 0.0%
BINARY_SUBSCR_TUPLE_INT 20 0.0%

CHECK_EXC_MATCH

Successors and predecessors for CHECK_EXC_MATCH
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 120 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 120 100.0%

END_ASYNC_FOR

Successors and predecessors for END_ASYNC_FOR
Predecessors Count Percentage
SEND 6,000,000 100.0%
Successors Count Percentage
JUMP_BACKWARD_NO_INTERRUPT 3,932,100 65.5%
RETURN_CONST 2,067,900 34.5%

END_SEND

Successors and predecessors for END_SEND
Predecessors Count Percentage
SEND 94,136,760 100.0%
RETURN_CONST 60 0.0%
Successors Count Percentage
STORE_FAST 94,136,760 100.0%
POP_TOP 60 0.0%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 6,000,120 100.0%
Successors Count Percentage
RETURN_VALUE 6,000,120 100.0%

GET_AITER

Successors and predecessors for GET_AITER
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 5,999,940 100.0%
RETURN_VALUE 60 0.0%
Successors Count Percentage
GET_ANEXT 6,000,000 100.0%

GET_ANEXT

Successors and predecessors for GET_ANEXT
Predecessors Count Percentage
GET_AITER 6,000,000 100.0%
Successors Count Percentage
LOAD_CONST 6,000,000 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_FAST 240 44.4%
CALL_BUILTIN_CLASS 180 33.3%
CALL_METHOD_DESCRIPTOR_NOARGS 120 22.2%
Successors Count Percentage
FOR_ITER_LIST 280 51.9%
FOR_ITER 140 25.9%
FOR_ITER_RANGE 120 22.2%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
YIELD_VALUE 94,136,760 79.7%
RETURN_CONST 18,000,660 15.2%
RETURN_GENERATOR 6,000,000 5.1%
RETURN_VALUE 300 0.0%

MAKE_FUNCTION

Successors and predecessors for MAKE_FUNCTION
Predecessors Count Percentage
LOAD_CONST 240 100.0%
Successors Count Percentage
SET_FUNCTION_ATTRIBUTE 240 100.0%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
RESUME_CHECK 660 42.3%
POP_TOP 240 15.4%
STORE_FAST 240 15.4%
POP_JUMP_IF_TRUE 180 11.5%
POP_JUMP_IF_NOT_NONE 120 7.7%
Successors Count Percentage
LOAD_FAST 1,140 73.1%
LOAD_GLOBAL_MODULE 320 20.5%
LOAD_FAST_LOAD_FAST 60 3.8%
LOAD_GLOBAL 40 2.6%

POP_EXCEPT

Successors and predecessors for POP_EXCEPT
Predecessors Count Percentage
COPY 60 50.0%
SWAP 60 50.0%
Successors Count Percentage
RETURN_VALUE 60 50.0%
RERAISE 60 50.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RESUME_CHECK 94,136,760 79.7%
CALL_METHOD_DESCRIPTOR_O 12,000,300 10.2%
RETURN_CONST 6,002,640 5.1%
CACHE 6,000,060 5.1%
CALL_METHOD_DESCRIPTOR_NOARGS 360 0.0%
Successors Count Percentage
ENTER_EXECUTOR 88,136,760 74.6%
RETURN_CONST 18,001,020 15.2%
LOAD_FAST 6,001,740 5.1%
RESUME_CHECK 6,000,120 5.1%
LOAD_CONST 780 0.0%

PUSH_EXC_INFO

Successors and predecessors for PUSH_EXC_INFO
Predecessors Count Percentage
RERAISE 60 50.0%
BINARY_SUBSCR_DICT 60 50.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 120 100.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_FAST 6,000,420 100.0%
LOAD_ATTR_MODULE 2,040 0.0%
LOAD_ATTR 240 0.0%
Successors Count Percentage
CALL_NON_PY_GENERAL 6,000,760 100.0%
LOAD_FAST 720 0.0%
LOAD_FAST_LOAD_FAST 420 0.0%
CALL 360 0.0%
LOAD_CONST 180 0.0%

RETURN_GENERATOR

Successors and predecessors for RETURN_GENERATOR
Predecessors Count Percentage
CACHE 6,000,000 100.0%
COPY_FREE_VARS 60 0.0%
CALL_PY_EXACT_ARGS 60 0.0%
Successors Count Percentage
INTERPRETER_EXIT 6,000,000 100.0%
GET_AWAITABLE 60 0.0%
CALL_PY_EXACT_ARGS 40 0.0%
CALL 20 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
RETURN_VALUE 6,000,420 50.0%
EXIT_INIT_CHECK 6,000,120 50.0%
LOAD_FAST 1,140 0.0%
LOAD_ATTR_INSTANCE_VALUE 600 0.0%
IS_OP 300 0.0%
Successors Count Percentage
RETURN_VALUE 6,000,420 50.0%
LOAD_FAST_LOAD_FAST 3,932,160 32.8%
CALL_ALLOC_AND_ENTER_INIT 2,067,840 17.2%
STORE_FAST 900 0.0%
TO_BOOL_BOOL 700 0.0%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
LOAD_ATTR 20 100.0%
Successors Count Percentage
STORE_SUBSCR_DICT 20 100.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 240 27.3%
RETURN_VALUE 200 22.7%
COPY 80 9.1%
LOAD_FAST 80 9.1%
TO_BOOL 40 4.5%
Successors Count Percentage
TO_BOOL_BOOL 520 59.1%
POP_JUMP_IF_TRUE 120 13.6%
TO_BOOL_INT 120 13.6%
POP_JUMP_IF_FALSE 60 6.8%
TO_BOOL 40 4.5%

UNARY_INVERT

Successors and predecessors for UNARY_INVERT
Predecessors Count Percentage
BINARY_OP 60 50.0%
LOAD_ATTR_MODULE 60 50.0%
Successors Count Percentage
BINARY_OP 120 100.0%

UNARY_NOT

Successors and predecessors for UNARY_NOT
Predecessors Count Percentage
TO_BOOL_BOOL 60 50.0%
TO_BOOL_INT 60 50.0%
Successors Count Percentage
COPY 60 50.0%
STORE_FAST 60 50.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_CONST 6,000,040 100.0%
BINARY_OP 1,580 0.0%
LOAD_GLOBAL_MODULE 180 0.0%
UNARY_INVERT 120 0.0%
POP_JUMP_IF_FALSE 60 0.0%
Successors Count Percentage
STORE_FAST 6,000,120 100.0%
BINARY_OP 1,580 0.0%
COPY 120 0.0%
UNARY_INVERT 60 0.0%
TO_BOOL_INT 40 0.0%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
STORE_FAST 120 40.0%
LOAD_ATTR_SLOT 120 40.0%
STORE_ATTR_INSTANCE_VALUE 60 20.0%
Successors Count Percentage
LOAD_FAST 180 60.0%
STORE_FAST 120 40.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 120 40.0%
POP_TOP 60 20.0%
BUILD_TUPLE 60 20.0%
RESUME_CHECK 60 20.0%
Successors Count Percentage
LOAD_FAST 300 100.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST 240 40.0%
LOAD_FAST_LOAD_FAST 120 20.0%
LOAD_CONST 60 10.0%
CALL_NON_PY_GENERAL 60 10.0%
LOAD_GLOBAL_BUILTIN 60 10.0%
Successors Count Percentage
LOAD_CONST 240 40.0%
CALL 80 13.3%
RETURN_VALUE 60 10.0%
BUILD_MAP 60 10.0%
CALL_ISINSTANCE 40 6.7%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 560 21.9%
LOAD_FAST 380 14.8%
PUSH_NULL 360 14.1%
LOAD_CONST 260 10.2%
LOAD_ATTR_METHOD_NO_DICT 240 9.4%
Successors Count Percentage
CALL_PY_EXACT_ARGS 1,240 48.4%
CALL_NON_PY_GENERAL 540 21.1%
CALL_METHOD_DESCRIPTOR_NOARGS 240 9.4%
CALL_PY_GENERAL 140 5.5%
CALL_BUILTIN_CLASS 60 2.3%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
CALL_INTRINSIC_1 120 40.0%
DICT_MERGE 60 20.0%
LOAD_FAST 60 20.0%
LOAD_ATTR_INSTANCE_VALUE 60 20.0%
Successors Count Percentage
POP_TOP 240 100.0%

CALL_INTRINSIC_1

Successors and predecessors for CALL_INTRINSIC_1
Predecessors Count Percentage
LOAD_FAST 88,136,760 93.6%
LOAD_ATTR_INSTANCE_VALUE 6,000,000 6.4%
LIST_EXTEND 120 0.0%
Successors Count Percentage
YIELD_VALUE 94,136,760 100.0%
CALL_FUNCTION_EX 120 0.0%

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
LOAD_CONST 60 100.0%
Successors Count Percentage
CALL_KW_NON_PY 40 66.7%
CALL_KW_PY 20 33.3%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
CALL_BUILTIN_CLASS 120 75.0%
COMPARE_OP 20 12.5%
LOAD_CONST 20 12.5%
Successors Count Percentage
POP_JUMP_IF_FALSE 120 75.0%
COMPARE_OP 20 12.5%
COMPARE_OP_INT 20 12.5%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 20 50.0%
LOAD_GLOBAL_MODULE 20 50.0%
Successors Count Percentage
CONTAINS_OP_DICT 20 50.0%
CONTAINS_OP_SET 20 50.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
BINARY_OP 120 18.2%
LOAD_FAST 120 18.2%
CALL_BUILTIN_FAST 120 18.2%
CALL_LEN 120 18.2%
UNARY_NOT 60 9.1%
Successors Count Percentage
TO_BOOL_BOOL 200 30.3%
TO_BOOL_INT 200 30.3%
TO_BOOL 80 12.1%
LOAD_ATTR_INSTANCE_VALUE 80 12.1%
POP_EXCEPT 60 9.1%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 540 81.8%
CACHE 60 9.1%
CALL_ALLOC_AND_ENTER_INIT 60 9.1%
Successors Count Percentage
RESUME_CHECK 540 81.8%
RETURN_GENERATOR 60 9.1%
MAKE_CELL 60 9.1%

DICT_MERGE

Successors and predecessors for DICT_MERGE
Predecessors Count Percentage
LOAD_FAST 60 100.0%
Successors Count Percentage
CALL_FUNCTION_EX 60 100.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 140 58.3%
JUMP_BACKWARD 60 25.0%
FOR_ITER 40 16.7%
Successors Count Percentage
LOAD_FAST 120 50.0%
RETURN_CONST 60 25.0%
FOR_ITER 40 16.7%
FOR_ITER_LIST 20 8.3%

GET_AWAITABLE

Successors and predecessors for GET_AWAITABLE
Predecessors Count Percentage
RETURN_GENERATOR 60 100.0%
Successors Count Percentage
LOAD_CONST 60 100.0%

IMPORT_NAME

Successors and predecessors for IMPORT_NAME
Predecessors Count Percentage
LOAD_CONST 60 100.0%
Successors Count Percentage
STORE_FAST 60 100.0%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_CONST 360 100.0%
Successors Count Percentage
RETURN_VALUE 300 83.3%
STORE_FAST 60 16.7%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_TOP 180 75.0%
POP_JUMP_IF_TRUE 60 25.0%
Successors Count Percentage
FOR_ITER_RANGE 120 50.0%
NOP 60 25.0%
FOR_ITER 60 25.0%

JUMP_BACKWARD_NO_INTERRUPT

Successors and predecessors for JUMP_BACKWARD_NO_INTERRUPT
Predecessors Count Percentage
END_ASYNC_FOR 3,932,100 100.0%
Successors Count Percentage
LOAD_FAST 3,932,100 100.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_FAST 600 90.9%
POP_TOP 60 9.1%
Successors Count Percentage
LOAD_FAST 540 81.8%
LOAD_GLOBAL_BUILTIN 120 18.2%

LIST_EXTEND

Successors and predecessors for LIST_EXTEND
Predecessors Count Percentage
LOAD_ATTR_SLOT 120 100.0%
Successors Count Percentage
CALL_INTRINSIC_1 120 100.0%

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 2,400 53.8%
LOAD_GLOBAL_MODULE 740 16.6%
LOAD_ATTR_INSTANCE_VALUE 400 9.0%
LOAD_ATTR 380 8.5%
LOAD_ATTR_SLOT 200 4.5%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 940 21.1%
LOAD_ATTR_MODULE 740 16.6%
LOAD_ATTR_INSTANCE_VALUE 720 16.1%
LOAD_ATTR 380 8.5%
LOAD_ATTR_METHOD_NO_DICT 360 8.1%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_FAST 24,000,840 57.1%
LOAD_FAST_LOAD_FAST 6,000,120 14.3%
GET_ANEXT 6,000,000 14.3%
BINARY_OP_ADD_INT 6,000,000 14.3%
STORE_ATTR_INSTANCE_VALUE 840 0.0%
Successors Count Percentage
COMPARE_OP_INT 12,000,580 28.6%
LOAD_FAST 6,002,820 14.3%
BINARY_OP 6,000,040 14.3%
BINARY_OP_ADD_INT 6,000,040 14.3%
SEND 6,000,020 14.3%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 480 66.7%
STORE_FAST 120 16.7%
LOAD_ATTR_METHOD_NO_DICT 60 8.3%
RESUME_CHECK 60 8.3%
Successors Count Percentage
LOAD_FAST 480 66.7%
LOAD_CONST 120 16.7%
POP_JUMP_IF_NOT_NONE 60 8.3%
STORE_FAST 60 8.3%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
STORE_FAST 106,139,520 52.5%
RESUME_CHECK 24,003,600 11.9%
POP_JUMP_IF_FALSE 20,069,700 9.9%
LOAD_GLOBAL_BUILTIN 12,001,620 5.9%
LOAD_CONST 6,002,820 3.0%
Successors Count Percentage
CALL_INTRINSIC_1 88,136,760 43.6%
LOAD_ATTR_INSTANCE_VALUE 48,005,000 23.7%
LOAD_CONST 24,000,840 11.9%
CALL_LEN 12,000,060 5.9%
CALL_PY_EXACT_ARGS 6,001,340 3.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 12,000,300 33.3%
STORE_ATTR_INSTANCE_VALUE 12,000,000 33.3%
RESUME_CHECK 6,000,120 16.7%
RETURN_VALUE 3,932,160 10.9%
RETURN_CONST 2,067,900 5.7%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 18,000,240 50.0%
LOAD_ATTR_INSTANCE_VALUE 6,000,200 16.7%
LOAD_CONST 6,000,120 16.7%
BINARY_SUBSCR 6,000,000 16.7%
STORE_ATTR_SLOT 720 0.0%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
RESUME_CHECK 340 23.3%
POP_TOP 200 13.7%
STORE_FAST 160 11.0%
STORE_ATTR_INSTANCE_VALUE 160 11.0%
LOAD_FAST 140 9.6%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,120 76.7%
LOAD_GLOBAL_BUILTIN 340 23.3%

LOAD_SUPER_ATTR

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

MAKE_CELL

Successors and predecessors for MAKE_CELL
Predecessors Count Percentage
COPY_FREE_VARS 60 50.0%
CALL_PY_GENERAL 60 50.0%
Successors Count Percentage
RESUME_CHECK 120 100.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 12,000,720 40.0%
TO_BOOL_BOOL 6,002,280 20.0%
TO_BOOL_ALWAYS_TRUE 6,000,540 20.0%
TO_BOOL_NONE 5,999,760 20.0%
TO_BOOL_INT 240 0.0%
Successors Count Percentage
LOAD_FAST 20,069,700 66.9%
RETURN_CONST 9,932,880 33.1%
LOAD_CONST 660 0.0%
POP_TOP 240 0.0%
LOAD_GLOBAL_MODULE 240 0.0%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 6,000,360 100.0%
CALL_NON_PY_GENERAL 120 0.0%
LOAD_ATTR_INSTANCE_VALUE 120 0.0%
Successors Count Percentage
LOAD_FAST 6,000,120 100.0%
RETURN_CONST 240 0.0%
LOAD_GLOBAL_BUILTIN 100 0.0%
LOAD_FAST_LOAD_FAST 60 0.0%
LOAD_GLOBAL 40 0.0%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 780 72.2%
LOAD_GLOBAL_MODULE 180 16.7%
LOAD_DEREF 60 5.6%
LOAD_ATTR_INSTANCE_VALUE 60 5.6%
Successors Count Percentage
LOAD_GLOBAL_MODULE 420 38.9%
LOAD_FAST 300 27.8%
NOP 120 11.1%
LOAD_FAST_LOAD_FAST 120 11.1%
LOAD_CONST 60 5.6%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL_BOOL 840 73.7%
TO_BOOL_INT 180 15.8%
TO_BOOL 120 10.5%
Successors Count Percentage
LOAD_FAST 300 26.3%
NOP 180 15.8%
LOAD_CONST 180 15.8%
STORE_FAST 120 10.5%
LOAD_GLOBAL_BUILTIN 100 8.8%

RAISE_VARARGS

Successors and predecessors for RAISE_VARARGS
Predecessors Count Percentage
LOAD_CONST 60 100.0%
Successors Count Percentage
COPY 60 100.0%

RERAISE

Successors and predecessors for RERAISE
Predecessors Count Percentage
POP_EXCEPT 60 100.0%
Successors Count Percentage
PUSH_EXC_INFO 60 100.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
POP_TOP 18,001,020 50.0%
POP_JUMP_IF_FALSE 9,932,880 27.6%
STORE_ATTR_INSTANCE_VALUE 6,000,660 16.7%
END_ASYNC_FOR 2,067,900 5.7%
STORE_ATTR_SLOT 360 0.0%
Successors Count Percentage
INTERPRETER_EXIT 18,000,660 50.0%
POP_TOP 6,002,640 16.7%
EXIT_INIT_CHECK 6,000,120 16.7%
CALL_ALLOC_AND_ENTER_INIT 3,932,160 10.9%
LOAD_FAST_LOAD_FAST 2,067,900 5.7%

SEND

Successors and predecessors for SEND
Predecessors Count Percentage
ENTER_EXECUTOR 94,136,760 94.0%
LOAD_CONST 6,000,020 6.0%
SEND 24,440 0.0%
Successors Count Percentage
END_SEND 94,136,760 94.0%
END_ASYNC_FOR 6,000,000 6.0%
SEND 24,440 0.0%
SEND_GEN 20 0.0%

SET_FUNCTION_ATTRIBUTE

Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors Count Percentage
MAKE_FUNCTION 240 100.0%
Successors Count Percentage
STORE_FAST 240 100.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 920 69.7%
LOAD_ATTR_INSTANCE_VALUE 240 18.2%
LOAD_FAST_LOAD_FAST 60 4.5%
STORE_ATTR 60 4.5%
SWAP 40 3.0%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 900 68.2%
LOAD_FAST 180 13.6%
RETURN_CONST 120 9.1%
STORE_ATTR 60 4.5%
STORE_ATTR_SLOT 60 4.5%

STORE_DEREF

Successors and predecessors for STORE_DEREF
Predecessors Count Percentage
CALL_NON_PY_GENERAL 60 100.0%
Successors Count Percentage
LOAD_FAST 60 100.0%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
END_SEND 94,136,760 79.7%
CALL_LEN 12,000,300 10.2%
CALL_NON_PY_GENERAL 6,000,660 5.1%
BINARY_OP 6,000,120 5.1%
LOAD_CONST 960 0.0%
Successors Count Percentage
LOAD_FAST 106,139,520 89.8%
LOAD_GLOBAL_MODULE 6,000,280 5.1%
ENTER_EXECUTOR 6,000,000 5.1%
JUMP_FORWARD 600 0.0%
NOP 240 0.0%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 180 100.0%
Successors Count Percentage
LOAD_FAST 120 66.7%
LOAD_GLOBAL_MODULE 40 22.2%
LOAD_GLOBAL 20 11.1%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_ATTR 60 25.0%
LOAD_FAST 60 25.0%
BINARY_OP_ADD_INT 60 25.0%
BINARY_OP_SUBTRACT_INT 60 25.0%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 80 33.3%
POP_EXCEPT 60 25.0%
STORE_FAST 60 25.0%
STORE_ATTR 40 16.7%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
RETURN_VALUE 20 25.0%
STORE_FAST 20 25.0%
CALL_METHOD_DESCRIPTOR_NOARGS 20 25.0%
CALL_NON_PY_GENERAL 20 25.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 80 100.0%

YIELD_VALUE

Successors and predecessors for YIELD_VALUE
Predecessors Count Percentage
CALL_INTRINSIC_1 94,136,760 100.0%
Successors Count Percentage
INTERPRETER_EXIT 94,136,760 100.0%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 120 100.0%
Successors Count Percentage
STORE_FAST 120 100.0%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 6,000,040 100.0%
BINARY_OP 20 0.0%
Successors Count Percentage
LOAD_CONST 6,000,000 100.0%
SWAP 60 0.0%

BINARY_OP_SUBTRACT_FLOAT

Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors Count Percentage
LOAD_FAST 40 66.7%
BINARY_OP 20 33.3%
Successors Count Percentage
STORE_FAST 60 100.0%

BINARY_OP_SUBTRACT_INT

Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors Count Percentage
LOAD_CONST 40 66.7%
BINARY_OP 20 33.3%
Successors Count Percentage
SWAP 60 100.0%

BINARY_SUBSCR_DICT

Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors Count Percentage
RETURN_VALUE 60 50.0%
LOAD_FAST 40 33.3%
BINARY_SUBSCR 20 16.7%
Successors Count Percentage
PUSH_EXC_INFO 60 50.0%
RETURN_VALUE 60 50.0%

BINARY_SUBSCR_GETITEM

Successors and predecessors for BINARY_SUBSCR_GETITEM
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 60 100.0%
Successors Count Percentage
RESUME_CHECK 60 100.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 40 66.7%
BINARY_SUBSCR 20 33.3%
Successors Count Percentage
STORE_FAST 60 100.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
RETURN_CONST 3,932,160 65.5%
RETURN_VALUE 2,067,840 34.5%
PUSH_NULL 40 0.0%
CALL 40 0.0%
LOAD_ATTR 40 0.0%
Successors Count Percentage
RESUME_CHECK 6,000,060 100.0%
COPY_FREE_VARS 60 0.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_ATTR 40 66.7%
CALL 20 33.3%
Successors Count Percentage
RESUME_CHECK 60 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_FAST 360 50.0%
LOAD_ATTR_INSTANCE_VALUE 160 22.2%
CALL 60 8.3%
LOAD_GLOBAL_BUILTIN 60 8.3%
RETURN_VALUE 40 5.6%
Successors Count Percentage
GET_ITER 180 25.0%
COMPARE_OP 120 16.7%
LOAD_GLOBAL_BUILTIN 120 16.7%
RETURN_VALUE 60 8.3%
LOAD_CONST 60 8.3%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_CONST 220 91.7%
CALL 20 8.3%
Successors Count Percentage
COPY 120 50.0%
TO_BOOL_BOOL 100 41.7%
TO_BOOL 20 8.3%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
CALL 40 33.3%
LOAD_CONST 40 33.3%
CALL_BUILTIN_FAST_WITH_KEYWORDS 40 33.3%
Successors Count Percentage
POP_TOP 60 50.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 40 33.3%
CALL 20 16.7%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
CALL 40 33.3%
LOAD_CONST 40 33.3%
LOAD_FAST 40 33.3%
Successors Count Percentage
POP_TOP 120 100.0%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 300 71.4%
BUILD_TUPLE 40 9.5%
CALL 40 9.5%
LOAD_GLOBAL_MODULE 40 9.5%
Successors Count Percentage
TO_BOOL_BOOL 380 90.5%
TO_BOOL 40 9.5%

CALL_KW_NON_PY

Successors and predecessors for CALL_KW_NON_PY
Predecessors Count Percentage
LOAD_CONST 80 66.7%
CALL_KW 40 33.3%
Successors Count Percentage
POP_TOP 60 50.0%
STORE_FAST 60 50.0%

CALL_KW_PY

Successors and predecessors for CALL_KW_PY
Predecessors Count Percentage
LOAD_CONST 40 66.7%
CALL_KW 20 33.3%
Successors Count Percentage
RESUME_CHECK 60 100.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 12,000,060 100.0%
LOAD_ATTR_INSTANCE_VALUE 360 0.0%
Successors Count Percentage
STORE_FAST 12,000,300 100.0%
COPY 120 0.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 120 66.7%
RETURN_VALUE 40 22.2%
CALL 20 11.1%
Successors Count Percentage
RETURN_VALUE 120 66.7%
STORE_FAST 60 33.3%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 120 40.0%
LOAD_CONST 60 20.0%
CALL 40 13.3%
LOAD_ATTR 40 13.3%
LOAD_FAST 40 13.3%
Successors Count Percentage
POP_TOP 120 40.0%
STORE_FAST 120 40.0%
RETURN_VALUE 60 20.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 600 55.6%
CALL 240 22.2%
LOAD_FAST 120 11.1%
LOAD_ATTR_METHOD_WITH_VALUES 120 11.1%
Successors Count Percentage
POP_TOP 360 33.3%
GET_ITER 120 11.1%
STORE_FAST 120 11.1%
CALL_NON_PY_GENERAL 80 7.4%
TO_BOOL_BOOL 80 7.4%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 6,000,120 50.0%
CALL_NON_PY_GENERAL 6,000,000 50.0%
LOAD_CONST 80 0.0%
CALL 60 0.0%
BUILD_TUPLE 40 0.0%
Successors Count Percentage
POP_TOP 12,000,300 100.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 6,000,760 50.0%
LOAD_ATTR_INSTANCE_VALUE 6,000,000 50.0%
CALL 540 0.0%
LOAD_FAST 320 0.0%
LOAD_FAST_LOAD_FAST 200 0.0%
Successors Count Percentage
STORE_FAST 6,000,660 50.0%
CALL_METHOD_DESCRIPTOR_O 6,000,000 50.0%
LOAD_FAST 480 0.0%
POP_TOP 300 0.0%
RETURN_VALUE 300 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
BINARY_SLICE 12,000,000 66.6%
LOAD_FAST 6,001,340 33.3%
LOAD_ATTR_METHOD_WITH_VALUES 1,620 0.0%
CALL 1,240 0.0%
LOAD_ATTR_METHOD_NO_DICT 240 0.0%
Successors Count Percentage
RESUME_CHECK 18,004,920 100.0%
COPY_FREE_VARS 540 0.0%
RETURN_GENERATOR 60 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
CALL 140 25.9%
LOAD_FAST 120 22.2%
LOAD_ATTR_METHOD_NO_DICT 120 22.2%
LOAD_CONST 80 14.8%
PUSH_NULL 40 7.4%
Successors Count Percentage
RESUME_CHECK 480 88.9%
MAKE_CELL 60 11.1%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_FAST 40 66.7%
CALL 20 33.3%
Successors Count Percentage
LOAD_GLOBAL_MODULE 40 66.7%
LOAD_GLOBAL 20 33.3%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_CONST 12,000,580 100.0%
LOAD_GLOBAL_MODULE 120 0.0%
COMPARE_OP 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 12,000,720 100.0%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 40 66.7%
CONTAINS_OP 20 33.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 100.0%

CONTAINS_OP_SET

Successors and predecessors for CONTAINS_OP_SET
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 40 66.7%
CONTAINS_OP 20 33.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 100.0%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 280 93.3%
FOR_ITER 20 6.7%
Successors Count Percentage
RETURN_CONST 180 60.0%
LOAD_FAST 120 40.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 120 50.0%
JUMP_BACKWARD 120 50.0%
Successors Count Percentage
LOAD_CONST 120 50.0%
STORE_FAST 120 50.0%

LOAD_ATTR_CLASS

Successors and predecessors for LOAD_ATTR_CLASS
Predecessors Count Percentage
LOAD_FAST 120 50.0%
LOAD_ATTR_MODULE 120 50.0%
Successors Count Percentage
LOAD_FAST 120 50.0%
LOAD_FAST_LOAD_FAST 120 50.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 48,005,000 88.9%
LOAD_FAST_LOAD_FAST 6,000,200 11.1%
LOAD_ATTR 720 0.0%
LOAD_ATTR_INSTANCE_VALUE 120 0.0%
COPY 80 0.0%
Successors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 12,001,080 22.2%
TO_BOOL_BOOL 6,000,840 11.1%
TO_BOOL_ALWAYS_TRUE 6,000,520 11.1%
LOAD_ATTR_METHOD_WITH_VALUES 6,000,440 11.1%
CALL_INTRINSIC_1 6,000,000 11.1%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 12,001,080 100.0%
LOAD_FAST 460 0.0%
LOAD_ATTR 360 0.0%
LOAD_FAST_LOAD_FAST 80 0.0%
Successors Count Percentage
LOAD_FAST 6,000,300 50.0%
LOAD_GLOBAL_MODULE 6,000,000 50.0%
CALL_METHOD_DESCRIPTOR_NOARGS 600 0.0%
LOAD_FAST_LOAD_FAST 300 0.0%
CALL 240 0.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 6,000,440 99.9%
LOAD_FAST 2,120 0.0%
LOAD_ATTR 940 0.0%
RETURN_VALUE 280 0.0%
LOAD_ATTR_SLOT 220 0.0%
Successors Count Percentage
LOAD_FAST 6,001,200 100.0%
CALL_PY_EXACT_ARGS 1,620 0.0%
CALL 560 0.0%
LOAD_FAST_LOAD_FAST 180 0.0%
LOAD_GLOBAL_MODULE 160 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 1,840 68.1%
LOAD_ATTR 740 27.4%
LOAD_FAST 120 4.4%
Successors Count Percentage
PUSH_NULL 2,040 75.6%
LOAD_FAST 120 4.4%
LOAD_ATTR_CLASS 120 4.4%
LOAD_ATTR_SLOT 80 3.0%
UNARY_INVERT 60 2.2%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 40 66.7%
LOAD_ATTR 20 33.3%
Successors Count Percentage
LOAD_FAST 60 100.0%

LOAD_ATTR_SLOT

Successors and predecessors for LOAD_ATTR_SLOT
Predecessors Count Percentage
LOAD_FAST 1,260 87.5%
LOAD_ATTR 100 6.9%
LOAD_ATTR_MODULE 80 5.6%
Successors Count Percentage
LOAD_CONST 240 16.7%
TO_BOOL_NONE 240 16.7%
LOAD_ATTR_METHOD_WITH_VALUES 220 15.3%
LOAD_ATTR 200 13.9%
TO_BOOL_BOOL 160 11.1%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
RESUME_CHECK 12,001,100 100.0%
LOAD_FAST 340 0.0%
LOAD_GLOBAL 340 0.0%
POP_TOP 180 0.0%
STORE_FAST 160 0.0%
Successors Count Percentage
LOAD_FAST 12,001,620 100.0%
LOAD_DEREF 480 0.0%
CALL_ISINSTANCE 300 0.0%
CHECK_EXC_MATCH 120 0.0%
LOAD_GLOBAL_MODULE 80 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
STORE_FAST 6,000,280 25.0%
LOAD_GLOBAL_MODULE 6,000,040 25.0%
BINARY_SUBSCR 6,000,000 25.0%
LOAD_ATTR_METHOD_NO_DICT 6,000,000 25.0%
LOAD_GLOBAL 1,120 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 12,000,300 50.0%
LOAD_FAST 6,000,420 25.0%
LOAD_GLOBAL_MODULE 6,000,040 25.0%
LOAD_ATTR_MODULE 1,840 0.0%
LOAD_ATTR 740 0.0%

LOAD_SUPER_ATTR_METHOD

Successors and predecessors for LOAD_SUPER_ATTR_METHOD
Predecessors Count Percentage
LOAD_FAST 320 66.7%
LOAD_SUPER_ATTR 160 33.3%
Successors Count Percentage
CALL_PY_EXACT_ARGS 200 41.7%
LOAD_FAST 120 25.0%
CALL 100 20.8%
LOAD_FAST_LOAD_FAST 60 12.5%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CACHE 106,137,660 78.0%
CALL_PY_EXACT_ARGS 18,004,920 13.2%
POP_TOP 6,000,120 4.4%
CALL_ALLOC_AND_ENTER_INIT 6,000,060 4.4%
COPY_FREE_VARS 540 0.0%
Successors Count Percentage
POP_TOP 94,136,760 69.1%
LOAD_FAST 24,003,600 17.6%
LOAD_GLOBAL_BUILTIN 12,001,100 8.8%
LOAD_FAST_LOAD_FAST 6,000,120 4.4%
LOAD_GLOBAL_MODULE 960 0.0%

SEND_GEN

Successors and predecessors for SEND_GEN
Predecessors Count Percentage
LOAD_CONST 40 66.7%
SEND 20 33.3%
Successors Count Percentage
POP_TOP 60 100.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 18,000,240 100.0%
LOAD_FAST 1,720 0.0%
STORE_ATTR 900 0.0%
SWAP 80 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 12,000,000 66.7%
RETURN_CONST 6,000,660 33.3%
LOAD_CONST 840 0.0%
LOAD_FAST 720 0.0%
LOAD_GLOBAL_MODULE 380 0.0%

STORE_ATTR_SLOT

Successors and predecessors for STORE_ATTR_SLOT
Predecessors Count Percentage
LOAD_FAST 1,020 56.7%
LOAD_FAST_LOAD_FAST 720 40.0%
STORE_ATTR 60 3.3%
Successors Count Percentage
LOAD_CONST 540 30.0%
LOAD_FAST_LOAD_FAST 540 30.0%
LOAD_FAST 360 20.0%
RETURN_CONST 360 20.0%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
LOAD_ATTR 40 66.7%
STORE_SUBSCR 20 33.3%
Successors Count Percentage
LOAD_FAST 60 100.0%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 6,000,520 99.1%
TO_BOOL_NONE 51,660 0.9%
Successors Count Percentage
POP_JUMP_IF_FALSE 6,000,540 99.1%
TO_BOOL_NONE 51,640 0.9%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 6,000,840 100.0%
RETURN_VALUE 700 0.0%
TO_BOOL 520 0.0%
CALL_ISINSTANCE 380 0.0%
COPY 200 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 6,002,280 100.0%
POP_JUMP_IF_TRUE 840 0.0%
UNARY_NOT 60 0.0%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
COPY 200 41.7%
TO_BOOL 120 25.0%
LOAD_FAST 80 16.7%
BINARY_OP 40 8.3%
LOAD_ATTR_SLOT 40 8.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 240 50.0%
POP_JUMP_IF_TRUE 180 37.5%
UNARY_NOT 60 12.5%

TO_BOOL_LIST

Successors and predecessors for TO_BOOL_LIST
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 240 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 240 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 5,999,480 99.1%
TO_BOOL_ALWAYS_TRUE 51,640 0.9%
LOAD_ATTR_SLOT 240 0.0%
LOAD_ATTR 40 0.0%
TO_BOOL 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 5,999,760 99.1%
TO_BOOL_ALWAYS_TRUE 51,660 0.9%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
UNPACK_SEQUENCE 80 33.3%
RETURN_VALUE 40 16.7%
STORE_FAST 40 16.7%
CALL_METHOD_DESCRIPTOR_NOARGS 40 16.7%
CALL_NON_PY_GENERAL 40 16.7%
Successors Count Percentage
STORE_FAST_STORE_FAST 180 75.0%
LOAD_FAST 60 25.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_TOP 88,136,760 93.6%
STORE_FAST 6,000,000 6.4%
Successors Count Percentage
SEND 94,136,760 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.

6,000,360 50.0%
hit

Specialized instructions that complete.

6,000,300 50.0%
Success Count Ratio
Success 60 3.7%
Failure 1,580 96.3%
Failure kind Count Ratio
floor divide 1,460 92.4%
and int 80 5.1%
or 40 2.5%

BINARY_SLICE

specialization stats for BINARY_SLICE family
Kind Count Ratio
deferred

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

12,000,000 100.0%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

6,000,000 100.0%
hit

Specialized instructions that complete.

240 0.0%
Success Count Ratio
Success 40 2.7%
Failure 1,460 97.3%
Failure kind Count Ratio
sequence int 1,460 100.0%

CALL

specialization stats for CALL family
Kind Count Ratio
hit

Specialized instructions that complete.

48,009,240 100.0%
miss

Specialized instructions that deopt.

360 0.0%
Success Count Ratio
Success 2,620 100.0%
Failure 0 0.0%
Failure kind Count Ratio
init not python 20 20 / 0 !!
init not inline values 20 20 / 0 !!

CALL_KW

specialization stats for CALL_KW family

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

120 0.0%
hit

Specialized instructions that complete.

12,000,720 100.0%
Success Count Ratio
Success 20 50.0%
Failure 20 50.0%
Failure kind Count Ratio
bool 20 100.0%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Count Ratio
hit

Specialized instructions that complete.

120 75.0%
Success Count Ratio
Success 40 100.0%
Failure 0 0.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

180 23.1%
hit

Specialized instructions that complete.

540 69.2%
Success Count Ratio
Success 20 33.3%
Failure 40 66.7%
Failure kind Count Ratio
dict items 40 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.

1,200 0.0%
hit

Specialized instructions that complete.

72,016,620 100.0%
Success Count Ratio
Success 2,900 89.0%
Failure 360 11.0%
Failure kind Count Ratio
overriding descriptor 140 38.9%
method 140 38.9%
metaclass attribute 20 5.6%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deopt

Specialized instructions that deopt.

60 0.0%
hit

Specialized instructions that complete.

36,007,680 100.0%
miss

Specialized instructions that deopt.

60 0.0%
Success Count Ratio
Success 1,460 100.0%
Failure 0 0.0%

LOAD_SUPER_ATTR

specialization stats for LOAD_SUPER_ATTR family
Kind Count Ratio
hit

Specialized instructions that complete.

480 75.0%
Success Count Ratio
Success 160 100.0%
Failure 0 0.0%

SEND

specialization stats for SEND family
Kind Count Ratio
deferred

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

100,136,760 100.0%
hit

Specialized instructions that complete.

60 0.0%
Success Count Ratio
Success 20 0.1%
Failure 24,440 99.9%
Failure kind Count Ratio
async generator send 24,440 100.0%

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

300 0.0%
hit

Specialized instructions that complete.

18,004,740 100.0%
Success Count Ratio
Success 960 94.1%
Failure 60 5.9%
Failure kind Count Ratio
overridden 40 66.7%
overriding descriptor 20 33.3%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
hit

Specialized instructions that complete.

60 75.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.

180 0.0%
hit

Specialized instructions that complete.

9,318,060 63.0%
miss

Specialized instructions that deopt.

5,475,100 37.0%
Success Count Ratio
Success 103,960 100.0%
Failure 40 0.0%
Failure kind Count Ratio
sequence 40 100.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
hit

Specialized instructions that complete.

240 75.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,135,098,240 70.2%
Not specialized

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

124,176,160 7.7%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

352,817,560 21.8%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

5,478,480 0.3%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
SEND 100,136,760 80.7%
BINARY_SLICE 12,000,000 9.7%
BINARY_OP 6,000,360 4.8%
BINARY_SUBSCR 6,000,000 4.8%
LOAD_ATTR 1,200 0.0%
STORE_ATTR 300 0.0%
TO_BOOL 180 0.0%
FOR_ITER 180 0.0%
COMPARE_OP 120 0.0%
STORE_SLICE 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
TO_BOOL_ALWAYS_TRUE 2,737,840 49.9%
TO_BOOL_NONE 2,737,260 49.9%
RESUME 2,960 0.1%
RESUME_CHECK 2,960 0.1%
CALL_METHOD_DESCRIPTOR_NOARGS 240 0.0%
CALL_METHOD_DESCRIPTOR_O 120 0.0%
LOAD_GLOBAL_BUILTIN 60 0.0%
CACHE 0 0.0%
CHECK_EXC_MATCH 0 0.0%
END_ASYNC_FOR 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 118,137,780 83.1%
Calls to Python functions inlined 24,006,420 16.9%
Calls via PyEval_EvalFrame (total) 118,137,780 83.1%
Calls via PyEval_EvalFrame (vector) 18,000,960 12.7%
Calls via PyEval_EvalFrame (generator) 100,136,820 70.4%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 18,000,960 12.7%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 0 0.0%
Calls via PyEval_EvalFrame (api) 12,000,060 8.4%
Calls via PyEval_EvalFrame (method) 180 0.0%
Frame objects created 3,932,280 2.8%
Frames pushed 48,007,440 33.8%

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 312,415,360 64.7%
Frees to freelist 312,415,560
Allocations 170,094,540 35.3%
Allocations to 512 bytes 170,094,360 35.3%
Allocations to 4 kbytes 180 0.0%
Allocations over 4 kbytes 0 0.0%
Frees 170,094,692
Inline values 6,000,420
Interpreter mortal increfs 824,105,400 40.6%
Interpreter mortal decrefs 1,164,482,920 44.0%
Mortal increfs 630,264,792 31.0%
Mortal decrefs 772,396,864 29.2%
Interpreter immortal increfs 250,796,940 12.4%
Interpreter immortal decrefs 335,586,300 12.7%
Immortal increfs 324,812,820 16.0%
Immortal decrefs 374,877,888 14.2%
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 5,302
Method cache misses 258
Method cache collisions 325
Method cache dunder hits 6,002,382
Method cache dunder misses 98

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

Generation Collections Objects collected Object visits
0 0 0 0
1 3,000 160 89,182,140
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.

22,980
Traces created

The number of traces that were successfully created.

0 0.0%
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.

0 0.0%
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.

22,980 100.0%
Inner loop found

A trace is truncated because it has an inner loop

0 0.0%
Recursive call

A trace is truncated because it has a recursive call.

0 0.0%
Low confidence

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

0 0.0%
Executors invalidated

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

0
Traces executed

The number of traces that were executed

94,136,760
Uops executed

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

847,230,840 900.0%
Count Ratio
Optimizer attempts

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

0
Optimizer successes

The number of traces that were successfully optimized.

0
Optimizer no memory

The number of optimizations that failed due to no memory.

0
Remove globals builtins changed

The builtins changed during optimization

0
Remove globals incorrect keys

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

0

Trace length histogram

trace length histogram
Range Count Ratio
<= 1 0

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_GET_ANEXT 94,136,760 11.1% 11.1%
_EXIT_TRACE 94,136,760 11.1% 22.2%
_SET_IP 94,136,760 11.1% 33.3%
_CHECK_PERIODIC 94,136,760 11.1% 44.4%
_CHECK_VALIDITY 94,136,760 11.1% 55.6%
_CHECK_VALIDITY_AND_SET_IP 94,136,760 11.1% 66.7%
_LOAD_CONST_INLINE_BORROW 94,136,760 11.1% 77.8%
_MAKE_WARM 94,136,760 11.1% 88.9%
_START_EXECUTOR 94,136,760 11.1% 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.

Unsupported opcodes

unsupported opcodes
Opcode Count
SEND 22,980

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-10-25