Skip to content

Latest commit

 

History

History
9932 lines (9038 loc) · 172 KB

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

File metadata and controls

9932 lines (9038 loc) · 172 KB

Pystats results

  • benchmark: 2to3
  • 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 24,820 20.7% 20.7%
LOAD_CONST 7,380 6.2% 26.9%
STORE_FAST 6,080 5.1% 32.0%
POP_JUMP_IF_FALSE 5,220 4.4% 36.3%
LOAD_ATTR 4,240 3.5% 39.9%
LOAD_GLOBAL_MODULE 3,900 3.3% 43.1%
LOAD_GLOBAL 3,180 2.7% 45.8%
CALL 3,160 2.6% 48.4%
RESUME_CHECK 3,160 2.6% 51.0%
LOAD_FAST_LOAD_FAST 3,020 2.5% 53.6%
LOAD_GLOBAL_BUILTIN 2,920 2.4% 56.0% 27.4%
POP_TOP 2,740 2.3% 58.3%
LOAD_ATTR_INSTANCE_VALUE 2,420 2.0% 60.3%
LOAD_ATTR_MODULE 2,260 1.9% 62.2%
PUSH_NULL 2,160 1.8% 64.0%
STORE_ATTR_INSTANCE_VALUE 2,120 1.8% 65.8%
RETURN_VALUE 1,980 1.7% 67.4%
TO_BOOL 1,960 1.6% 69.1%
TO_BOOL_BOOL 1,860 1.6% 70.6%
POP_JUMP_IF_NOT_NONE 1,680 1.4% 72.0%
RETURN_CONST 1,680 1.4% 73.4%
INTERPRETER_EXIT 1,560 1.3% 74.7%
STORE_ATTR 1,440 1.2% 75.9%
NOP 1,280 1.1% 77.0%
LOAD_DEREF 1,200 1.0% 78.0%
COMPARE_OP_INT 1,140 1.0% 78.9%
LOAD_ATTR_METHOD_NO_DICT 1,120 0.9% 79.9% 14.3%
CALL_PY_EXACT_ARGS 1,060 0.9% 80.8%
POP_JUMP_IF_TRUE 920 0.8% 81.5%
POP_JUMP_IF_NONE 880 0.7% 82.3%
CALL_BUILTIN_FAST 880 0.7% 83.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 880 0.7% 83.7%
COMPARE_OP 860 0.7% 84.5%
CALL_METHOD_DESCRIPTOR_FAST 760 0.6% 85.1%
BUILD_TUPLE 720 0.6% 85.7%
LOAD_ATTR_METHOD_WITH_VALUES 720 0.6% 86.3%
BINARY_OP 660 0.6% 86.8%
RESUME 660 0.6% 87.4%
STORE_FAST_STORE_FAST 640 0.5% 87.9%
CALL_ISINSTANCE 620 0.5% 88.4%
JUMP_FORWARD 560 0.5% 88.9%
CALL_NON_PY_GENERAL 560 0.5% 89.4%
UNPACK_SEQUENCE_TWO_TUPLE 560 0.5% 89.8%
BUILD_LIST 480 0.4% 90.2%
CALL_FUNCTION_EX 480 0.4% 90.6%
DELETE_ATTR 480 0.4% 91.1%
CALL_PY_GENERAL 480 0.4% 91.5%
BINARY_SLICE 400 0.3% 91.8%
COPY 400 0.3% 92.1%
MAKE_CELL 400 0.3% 92.5%
TO_BOOL_STR 380 0.3% 92.8% 21.1%
UNPACK_SEQUENCE 360 0.3% 93.1%
BEFORE_WITH 320 0.3% 93.3%
BUILD_MAP 320 0.3% 93.6%
CALL_KW 320 0.3% 93.9%
COPY_FREE_VARS 320 0.3% 94.1%
DICT_MERGE 320 0.3% 94.4%
CALL_BUILTIN_CLASS 300 0.3% 94.7%
CALL_LEN 300 0.3% 94.9%
TO_BOOL_NONE 300 0.3% 95.2%
GET_ITER 280 0.2% 95.4%
SWAP 260 0.2% 95.6%
COMPARE_OP_STR 240 0.2% 95.8% 33.3%
EXTENDED_ARG 240 0.2% 96.0%
STORE_DEREF 240 0.2% 96.2%
BINARY_OP_ADD_INT 240 0.2% 96.4%
CALL_METHOD_DESCRIPTOR_O 240 0.2% 96.6%
TO_BOOL_INT 240 0.2% 96.8%
BINARY_SUBSCR 200 0.2% 97.0%
IS_OP 180 0.2% 97.1%
BINARY_SUBSCR_LIST_INT 180 0.2% 97.3%
CHECK_EXC_MATCH 160 0.1% 97.4%
MAKE_FUNCTION 160 0.1% 97.5%
POP_EXCEPT 160 0.1% 97.7%
PUSH_EXC_INFO 160 0.1% 97.8%
RETURN_GENERATOR 160 0.1% 97.9%
SET_FUNCTION_ATTRIBUTE 160 0.1% 98.1%
YIELD_VALUE 160 0.1% 98.2%
FOR_ITER_TUPLE 160 0.1% 98.3%
CALL_BOUND_METHOD_EXACT_ARGS 120 0.1% 98.4% 100.0%
BINARY_SUBSCR_TUPLE_INT 120 0.1% 98.5%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 120 0.1% 98.6%
CALL_METHOD_DESCRIPTOR_NOARGS 120 0.1% 98.7%
FOR_ITER_LIST 120 0.1% 98.8%
LOAD_ATTR_CLASS 120 0.1% 98.9%
LOAD_ATTR_METHOD_LAZY_DICT 120 0.1% 99.0%
LOAD_ATTR_SLOT 120 0.1% 99.1%
BINARY_OP_INPLACE_ADD_UNICODE 80 0.1% 99.2%
CALL_INTRINSIC_1 80 0.1% 99.3%
ENTER_EXECUTOR 80 0.1% 99.3%
FOR_ITER 80 0.1% 99.4%
LIST_EXTEND 80 0.1% 99.5%
BINARY_OP_ADD_UNICODE 80 0.1% 99.5%
CALL_BOUND_METHOD_GENERAL 60 0.1% 99.6% 100.0%
CALL_STR_1 60 0.1% 99.6%
CALL_TUPLE_1 60 0.1% 99.7%
CALL_TYPE_1 60 0.1% 99.7%
STORE_SUBSCR_DICT 60 0.1% 99.8%
TO_BOOL_ALWAYS_TRUE 60 0.1% 99.8%
UNPACK_SEQUENCE_TUPLE 60 0.1% 99.9%
STORE_SUBSCR 40 0.0% 99.9%
CONTAINS_OP 40 0.0% 100.0%
JUMP_BACKWARD 40 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_FAST 2,880 2.4% 2.4%
STORE_FAST LOAD_FAST 2,840 2.4% 4.8%
POP_JUMP_IF_FALSE LOAD_FAST 2,560 2.1% 6.9%
LOAD_FAST LOAD_ATTR 2,340 2.0% 8.9%
LOAD_FAST LOAD_CONST 2,340 2.0% 10.8%
LOAD_GLOBAL_BUILTIN LOAD_FAST 1,820 1.5% 12.3%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 1,600 1.3% 13.7%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 1,480 1.2% 14.9%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 1,480 1.2% 16.1%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 1,420 1.2% 17.3%
PUSH_NULL LOAD_FAST 1,360 1.1% 18.5%
LOAD_ATTR_MODULE PUSH_NULL 1,360 1.1% 19.6%
LOAD_CONST LOAD_FAST 1,280 1.1% 20.7%
RESUME_CHECK LOAD_FAST 1,180 1.0% 21.7%
COMPARE_OP_INT POP_JUMP_IF_FALSE 1,140 1.0% 22.6%
LOAD_CONST LOAD_CONST 1,120 0.9% 23.5%
CACHE RESUME_CHECK 1,080 0.9% 24.4%
LOAD_FAST STORE_ATTR 1,080 0.9% 25.3%
POP_TOP LOAD_FAST 1,040 0.9% 26.2%
LOAD_FAST POP_JUMP_IF_NOT_NONE 1,040 0.9% 27.1%
LOAD_GLOBAL LOAD_GLOBAL_MODULE 1,000 0.8% 27.9%
LOAD_CONST STORE_FAST 960 0.8% 28.7%
CALL_PY_EXACT_ARGS RESUME_CHECK 940 0.8% 29.5%
LOAD_FAST CALL 920 0.8% 30.3%
TO_BOOL POP_JUMP_IF_FALSE 900 0.8% 31.0%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 900 0.8% 31.8%
RESUME_CHECK LOAD_GLOBAL_MODULE 860 0.7% 32.5%
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 800 0.7% 33.2%
RETURN_CONST INTERPRETER_EXIT 800 0.7% 33.8%
STORE_FAST LOAD_GLOBAL_MODULE 800 0.7% 34.5%
LOAD_FAST RETURN_VALUE 720 0.6% 35.1%
LOAD_FAST_LOAD_FAST LOAD_FAST 720 0.6% 35.7%
POP_JUMP_IF_NOT_NONE LOAD_FAST 720 0.6% 36.3%
LOAD_ATTR LOAD_ATTR_INSTANCE_VALUE 700 0.6% 36.9%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 700 0.6% 37.5%
LOAD_FAST POP_JUMP_IF_NONE 640 0.5% 38.0%
LOAD_FAST CALL_BUILTIN_FAST_WITH_KEYWORDS 640 0.5% 38.5%
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST 640 0.5% 39.1%
LOAD_ATTR LOAD_ATTR_MODULE 620 0.5% 39.6%
LOAD_GLOBAL_MODULE LOAD_ATTR 620 0.5% 40.1%
RETURN_VALUE INTERPRETER_EXIT 600 0.5% 40.6%
LOAD_CONST COMPARE_OP 600 0.5% 41.1%
LOAD_CONST COMPARE_OP_INT 600 0.5% 41.6%
NOP LOAD_FAST 560 0.5% 42.1%
LOAD_FAST LOAD_GLOBAL_BUILTIN 560 0.5% 42.5%
LOAD_GLOBAL LOAD_GLOBAL_BUILTIN 560 0.5% 43.0%
STORE_FAST LOAD_GLOBAL 560 0.5% 43.5%
LOAD_GLOBAL_MODULE LOAD_FAST 560 0.5% 43.9%
LOAD_FAST LOAD_GLOBAL 540 0.5% 44.4%
LOAD_GLOBAL LOAD_ATTR 540 0.5% 44.8%
STORE_ATTR_INSTANCE_VALUE LOAD_CONST 540 0.5% 45.3%
STORE_ATTR STORE_ATTR_INSTANCE_VALUE 520 0.4% 45.7%
CALL_ISINSTANCE TO_BOOL_BOOL 520 0.4% 46.2%
UNPACK_SEQUENCE_TWO_TUPLE STORE_FAST_STORE_FAST 500 0.4% 46.6%
LOAD_FAST DELETE_ATTR 480 0.4% 47.0%
LOAD_FAST CALL_PY_EXACT_ARGS 480 0.4% 47.4%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 480 0.4% 47.8%
LOAD_FAST_LOAD_FAST LOAD_FAST_LOAD_FAST 480 0.4% 48.2%
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST 480 0.4% 48.6%
POP_JUMP_IF_NONE LOAD_FAST 480 0.4% 49.0%
RETURN_CONST POP_TOP 480 0.4% 49.4%
STORE_FAST STORE_FAST 480 0.4% 49.8%
TO_BOOL TO_BOOL_BOOL 460 0.4% 50.2%
COMPARE_OP POP_JUMP_IF_FALSE 460 0.4% 50.6%
LOAD_CONST CALL 460 0.4% 50.9%
CALL_BUILTIN_FAST_WITH_KEYWORDS STORE_FAST 460 0.4% 51.3%
LOAD_FAST TO_BOOL 440 0.4% 51.7%
LOAD_GLOBAL LOAD_FAST 440 0.4% 52.1%
LOAD_GLOBAL_BUILTIN CALL_ISINSTANCE 440 0.4% 52.4%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 440 0.4% 52.8%
POP_JUMP_IF_FALSE LOAD_GLOBAL 420 0.4% 53.1%
POP_TOP RETURN_CONST 400 0.3% 53.5%
LOAD_ATTR PUSH_NULL 400 0.3% 53.8%
LOAD_FAST_LOAD_FAST BUILD_TUPLE 400 0.3% 54.1%
POP_JUMP_IF_FALSE RETURN_CONST 400 0.3% 54.5%
POP_JUMP_IF_TRUE LOAD_FAST 400 0.3% 54.8%
STORE_FAST LOAD_CONST 400 0.3% 55.2%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 400 0.3% 55.5%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 400 0.3% 55.8%
COMPARE_OP COMPARE_OP_INT 380 0.3% 56.1%
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST 360 0.3% 56.4%
CALL_PY_GENERAL RESUME_CHECK 360 0.3% 56.7%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 340 0.3% 57.0%
PUSH_NULL CALL 320 0.3% 57.3%
DELETE_ATTR LOAD_FAST 320 0.3% 57.6%
DICT_MERGE CALL_FUNCTION_EX 320 0.3% 57.8%
JUMP_FORWARD LOAD_FAST 320 0.3% 58.1%
LOAD_ATTR LOAD_ATTR 320 0.3% 58.4%
LOAD_CONST CALL_KW 320 0.3% 58.6%
LOAD_FAST COPY 320 0.3% 58.9%
LOAD_FAST TO_BOOL_STR 320 0.3% 59.2%
POP_JUMP_IF_NONE LOAD_CONST 320 0.3% 59.4%
RETURN_CONST STORE_FAST 320 0.3% 59.7%
STORE_FAST NOP 320 0.3% 60.0%
CALL STORE_FAST 300 0.3% 60.2%
STORE_ATTR LOAD_FAST 300 0.3% 60.5%
RESUME LOAD_FAST 300 0.3% 60.7%
LOAD_ATTR_INSTANCE_VALUE POP_JUMP_IF_NOT_NONE 300 0.3% 61.0%
TO_BOOL_STR POP_JUMP_IF_FALSE 300 0.3% 61.2%
LOAD_ATTR TO_BOOL 280 0.2% 61.4%

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_FAST 240 60.0%
LOAD_CONST 160 40.0%
Successors Count Percentage
STORE_FAST 240 60.0%
GET_ITER 80 20.0%
LOAD_FAST 80 20.0%

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 1,080 69.2%
RESUME 240 15.4%
POP_TOP 160 10.3%
MAKE_CELL 80 5.1%

BEFORE_WITH

Successors and predecessors for BEFORE_WITH
Predecessors Count Percentage
RETURN_VALUE 160 50.0%
CALL_NON_PY_GENERAL 60 18.8%
LOAD_ATTR_INSTANCE_VALUE 60 18.8%
CALL 20 6.2%
LOAD_ATTR 20 6.2%
Successors Count Percentage
POP_TOP 160 50.0%
STORE_FAST 160 50.0%

BINARY_OP_INPLACE_ADD_UNICODE

Successors and predecessors for BINARY_OP_INPLACE_ADD_UNICODE
Predecessors Count Percentage
BINARY_OP_ADD_UNICODE 80 100.0%
Successors Count Percentage
ENTER_EXECUTOR 80 100.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 200 100.0%
Successors Count Percentage
BINARY_SUBSCR_LIST_INT 60 30.0%
CALL 40 20.0%
STORE_FAST 40 20.0%
BINARY_SUBSCR_TUPLE_INT 40 20.0%
STORE_DEREF 20 10.0%

CHECK_EXC_MATCH

Successors and predecessors for CHECK_EXC_MATCH
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 140 87.5%
LOAD_GLOBAL 20 12.5%
Successors Count Percentage
POP_JUMP_IF_FALSE 160 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_FAST 200 71.4%
BINARY_SLICE 80 28.6%
Successors Count Percentage
FOR_ITER_TUPLE 120 42.9%
FOR_ITER 80 28.6%
FOR_ITER_LIST 80 28.6%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_CONST 800 51.3%
RETURN_VALUE 600 38.5%
YIELD_VALUE 160 10.3%

MAKE_FUNCTION

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

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
STORE_FAST 320 25.0%
DELETE_ATTR 160 12.5%
POP_JUMP_IF_NOT_NONE 160 12.5%
RESUME_CHECK 120 9.4%
NOP 80 6.2%
Successors Count Percentage
LOAD_FAST 560 43.8%
LOAD_GLOBAL_BUILTIN 240 18.8%
LOAD_GLOBAL 160 12.5%
NOP 80 6.2%
LOAD_CONST 80 6.2%

POP_EXCEPT

Successors and predecessors for POP_EXCEPT
Predecessors Count Percentage
POP_TOP 160 100.0%
Successors Count Percentage
RETURN_CONST 160 100.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_CONST 480 17.5%
RETURN_VALUE 240 8.8%
CALL 240 8.8%
POP_JUMP_IF_TRUE 240 8.8%
CALL_METHOD_DESCRIPTOR_O 180 6.6%
Successors Count Percentage
LOAD_FAST 1,040 38.0%
RETURN_CONST 400 14.6%
LOAD_CONST 240 8.8%
POP_EXCEPT 160 5.8%
LOAD_FAST_LOAD_FAST 160 5.8%

PUSH_EXC_INFO

Successors and predecessors for PUSH_EXC_INFO
Predecessors Count Percentage
CALL_BUILTIN_FAST 140 87.5%
CALL 20 12.5%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 120 75.0%
LOAD_GLOBAL 40 25.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 1,360 63.0%
LOAD_ATTR 400 18.5%
LOAD_FAST 240 11.1%
LOAD_DEREF 160 7.4%
Successors Count Percentage
LOAD_FAST 1,360 63.0%
CALL 320 14.8%
CALL_NON_PY_GENERAL 240 11.1%
LOAD_DEREF 160 7.4%
LOAD_CONST 80 3.7%

RETURN_GENERATOR

Successors and predecessors for RETURN_GENERATOR
Predecessors Count Percentage
CALL_FUNCTION_EX 160 100.0%
Successors Count Percentage
LOAD_FAST 160 100.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
LOAD_FAST 720 36.4%
BUILD_TUPLE 240 12.1%
CALL_BUILTIN_FAST 220 11.1%
CALL_NON_PY_GENERAL 200 10.1%
LOAD_ATTR_INSTANCE_VALUE 120 6.1%
Successors Count Percentage
INTERPRETER_EXIT 600 30.3%
POP_TOP 240 12.1%
STORE_FAST 240 12.1%
BEFORE_WITH 160 8.1%
TO_BOOL 120 6.1%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
LOAD_CONST 40 100.0%
Successors Count Percentage
LOAD_FAST 20 50.0%
STORE_SUBSCR_DICT 20 50.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 440 22.4%
LOAD_ATTR 280 14.3%
LOAD_ATTR_INSTANCE_VALUE 280 14.3%
COPY 160 8.2%
RETURN_VALUE 120 6.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 900 45.9%
TO_BOOL_BOOL 460 23.5%
POP_JUMP_IF_TRUE 180 9.2%
TO_BOOL 120 6.1%
TO_BOOL_NONE 100 5.1%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_FAST 240 36.4%
CALL_LEN 240 36.4%
BINARY_OP 100 15.2%
BUILD_LIST 80 12.1%
Successors Count Percentage
STORE_FAST 240 36.4%
COMPARE_OP_STR 240 36.4%
BINARY_OP 100 15.2%
LOAD_FAST 80 12.1%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
LOAD_FAST 160 33.3%
STORE_FAST 80 16.7%
CALL_STR_1 60 12.5%
LOAD_ATTR_INSTANCE_VALUE 60 12.5%
RESUME_CHECK 60 12.5%
Successors Count Percentage
STORE_FAST 240 50.0%
BINARY_OP 80 16.7%
LOAD_FAST 80 16.7%
LOAD_ATTR 40 8.3%
LOAD_ATTR_METHOD_NO_DICT 40 8.3%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
LOAD_FAST 160 50.0%
CALL_INTRINSIC_1 80 25.0%
LOAD_DEREF 80 25.0%
Successors Count Percentage
LOAD_FAST 240 75.0%
LOAD_DEREF 80 25.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 400 55.6%
LOAD_FAST 160 22.2%
LOAD_DEREF 80 11.1%
LOAD_GLOBAL_BUILTIN 60 8.3%
LOAD_GLOBAL 20 2.8%
Successors Count Percentage
RETURN_VALUE 240 33.3%
LOAD_CONST 160 22.2%
CALL 120 16.7%
STORE_FAST 80 11.1%
CALL_METHOD_DESCRIPTOR_O 80 11.1%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 920 29.1%
LOAD_CONST 460 14.6%
PUSH_NULL 320 10.1%
LOAD_ATTR 200 6.3%
LOAD_GLOBAL 180 5.7%
Successors Count Percentage
STORE_FAST 300 9.5%
LOAD_FAST 260 8.2%
POP_TOP 240 7.6%
RESUME 220 7.0%
CALL_PY_EXACT_ARGS 220 7.0%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
DICT_MERGE 320 66.7%
LOAD_FAST 160 33.3%
Successors Count Percentage
RETURN_GENERATOR 160 33.3%
POP_TOP 80 16.7%
COPY_FREE_VARS 80 16.7%
MAKE_CELL 80 16.7%
LOAD_GLOBAL 40 8.3%

CALL_INTRINSIC_1

Successors and predecessors for CALL_INTRINSIC_1
Predecessors Count Percentage
LIST_EXTEND 80 100.0%
Successors Count Percentage
BUILD_MAP 80 100.0%

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
LOAD_CONST 320 100.0%
Successors Count Percentage
RESUME_CHECK 120 37.5%
LOAD_FAST 80 25.0%
STORE_FAST 80 25.0%
RESUME 40 12.5%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST 600 69.8%
LOAD_FAST_LOAD_FAST 80 9.3%
LOAD_GLOBAL 60 7.0%
LOAD_GLOBAL_MODULE 60 7.0%
COMPARE_OP 20 2.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 460 53.5%
COMPARE_OP_INT 380 44.2%
COMPARE_OP 20 2.3%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_ATTR 40 100.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 40 100.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
LOAD_FAST 320 80.0%
RETURN_VALUE 80 20.0%
Successors Count Percentage
TO_BOOL 160 40.0%
TO_BOOL_NONE 120 30.0%
LOAD_FAST 80 20.0%
TO_BOOL_BOOL 40 10.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_PY_GENERAL 120 37.5%
CALL_FUNCTION_EX 80 25.0%
CALL 60 18.8%
CALL_PY_EXACT_ARGS 60 18.8%
Successors Count Percentage
RESUME_CHECK 260 81.2%
RESUME 60 18.8%

DELETE_ATTR

Successors and predecessors for DELETE_ATTR
Predecessors Count Percentage
LOAD_FAST 480 100.0%
Successors Count Percentage
LOAD_FAST 320 66.7%
NOP 160 33.3%

DICT_MERGE

Successors and predecessors for DICT_MERGE
Predecessors Count Percentage
LOAD_FAST 240 75.0%
LOAD_DEREF 80 25.0%
Successors Count Percentage
CALL_FUNCTION_EX 320 100.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
BINARY_OP_INPLACE_ADD_UNICODE 80 100.0%
Successors Count Percentage
POP_TOP 80 100.0%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
LOAD_FAST 160 66.7%
TO_BOOL 80 33.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 80 33.3%
POP_JUMP_IF_NONE 80 33.3%
POP_JUMP_IF_NOT_NONE 80 33.3%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 80 100.0%
Successors Count Percentage
FOR_ITER_LIST 40 50.0%
NOP 20 25.0%
RETURN_CONST 20 25.0%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_CONST 80 44.4%
LOAD_GLOBAL_MODULE 60 33.3%
LOAD_GLOBAL 40 22.2%
Successors Count Percentage
POP_JUMP_IF_FALSE 100 55.6%
STORE_FAST 80 44.4%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_JUMP_IF_TRUE 40 100.0%
Successors Count Percentage
FOR_ITER_TUPLE 40 100.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_FAST 240 42.9%
POP_JUMP_IF_FALSE 160 28.6%
POP_TOP 80 14.3%
POP_JUMP_IF_NOT_NONE 80 14.3%
Successors Count Percentage
LOAD_FAST 320 57.1%
LOAD_CONST 80 14.3%
LOAD_GLOBAL 80 14.3%
LOAD_GLOBAL_BUILTIN 40 7.1%
LOAD_GLOBAL_MODULE 40 7.1%

LIST_EXTEND

Successors and predecessors for LIST_EXTEND
Predecessors Count Percentage
LOAD_FAST 80 100.0%
Successors Count Percentage
CALL_INTRINSIC_1 80 100.0%

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 2,340 55.2%
LOAD_GLOBAL_MODULE 620 14.6%
LOAD_GLOBAL 540 12.7%
LOAD_ATTR 320 7.5%
LOAD_ATTR_MODULE 120 2.8%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 700 16.5%
LOAD_ATTR_MODULE 620 14.6%
PUSH_NULL 400 9.4%
LOAD_ATTR 320 7.5%
TO_BOOL 280 6.6%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_FAST 2,340 31.7%
LOAD_CONST 1,120 15.2%
STORE_ATTR_INSTANCE_VALUE 540 7.3%
STORE_FAST 400 5.4%
POP_JUMP_IF_NONE 320 4.3%
Successors Count Percentage
LOAD_FAST 1,280 17.3%
LOAD_CONST 1,120 15.2%
STORE_FAST 960 13.0%
COMPARE_OP 600 8.1%
COMPARE_OP_INT 600 8.1%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
POP_JUMP_IF_FALSE 240 20.0%
PUSH_NULL 160 13.3%
LOAD_GLOBAL_MODULE 140 11.7%
LOAD_ATTR_MODULE 120 10.0%
NOP 80 6.7%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 240 20.0%
PUSH_NULL 160 13.3%
CALL 160 13.3%
CALL_PY_EXACT_ARGS 120 10.0%
BUILD_MAP 80 6.7%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
LOAD_FAST 2,880 11.6%
STORE_FAST 2,840 11.4%
POP_JUMP_IF_FALSE 2,560 10.3%
LOAD_GLOBAL_BUILTIN 1,820 7.3%
PUSH_NULL 1,360 5.5%
Successors Count Percentage
LOAD_FAST 2,880 11.6%
LOAD_ATTR 2,340 9.4%
LOAD_CONST 2,340 9.4%
LOAD_ATTR_INSTANCE_VALUE 1,600 6.4%
STORE_ATTR_INSTANCE_VALUE 1,480 6.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 480 15.9%
POP_JUMP_IF_FALSE 480 15.9%
LOAD_ATTR 260 8.6%
LOAD_DEREF 240 7.9%
STORE_FAST_STORE_FAST 240 7.9%
Successors Count Percentage
LOAD_FAST 720 23.8%
LOAD_FAST_LOAD_FAST 480 15.9%
BUILD_TUPLE 400 13.2%
STORE_ATTR 280 9.3%
LOAD_GLOBAL_BUILTIN 240 7.9%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 560 17.6%
LOAD_FAST 540 17.0%
POP_JUMP_IF_FALSE 420 13.2%
RESUME 220 6.9%
RESUME_CHECK 220 6.9%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,000 31.4%
LOAD_GLOBAL_BUILTIN 560 17.6%
LOAD_ATTR 540 17.0%
LOAD_FAST 440 13.8%
CALL 180 5.7%

MAKE_CELL

Successors and predecessors for MAKE_CELL
Predecessors Count Percentage
MAKE_CELL 160 40.0%
CACHE 80 20.0%
CALL_FUNCTION_EX 80 20.0%
CALL_PY_EXACT_ARGS 60 15.0%
CALL 20 5.0%
Successors Count Percentage
RESUME_CHECK 180 45.0%
MAKE_CELL 160 40.0%
RESUME 60 15.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
TO_BOOL_BOOL 1,420 27.2%
COMPARE_OP_INT 1,140 21.8%
TO_BOOL 900 17.2%
COMPARE_OP 460 8.8%
TO_BOOL_STR 300 5.7%
Successors Count Percentage
LOAD_FAST 2,560 49.0%
LOAD_FAST_LOAD_FAST 480 9.2%
LOAD_GLOBAL 420 8.0%
RETURN_CONST 400 7.7%
LOAD_GLOBAL_MODULE 280 5.4%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 640 72.7%
LOAD_ATTR_INSTANCE_VALUE 120 13.6%
EXTENDED_ARG 80 9.1%
LOAD_ATTR 40 4.5%
Successors Count Percentage
LOAD_FAST 480 54.5%
LOAD_CONST 320 36.4%
NOP 80 9.1%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 1,040 61.9%
LOAD_ATTR_INSTANCE_VALUE 300 17.9%
LOAD_ATTR 100 6.0%
EXTENDED_ARG 80 4.8%
LOAD_DEREF 80 4.8%
Successors Count Percentage
LOAD_FAST 720 42.9%
LOAD_GLOBAL 200 11.9%
NOP 160 9.5%
LOAD_CONST 160 9.5%
LOAD_GLOBAL_BUILTIN 120 7.1%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL_BOOL 440 47.8%
TO_BOOL 180 19.6%
TO_BOOL_NONE 180 19.6%
TO_BOOL_STR 80 8.7%
CONTAINS_OP 40 4.3%
Successors Count Percentage
LOAD_FAST 400 43.5%
POP_TOP 240 26.1%
NOP 80 8.7%
LOAD_GLOBAL 80 8.7%
LOAD_GLOBAL_MODULE 80 8.7%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
POP_TOP 400 23.8%
POP_JUMP_IF_FALSE 400 23.8%
STORE_ATTR_INSTANCE_VALUE 340 20.2%
STORE_ATTR 220 13.1%
POP_EXCEPT 160 9.5%
Successors Count Percentage
INTERPRETER_EXIT 800 47.6%
POP_TOP 480 28.6%
STORE_FAST 320 19.0%
TO_BOOL 40 2.4%
TO_BOOL_NONE 40 2.4%

SET_FUNCTION_ATTRIBUTE

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

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 1,080 75.0%
LOAD_FAST_LOAD_FAST 280 19.4%
STORE_ATTR 80 5.6%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 520 36.1%
LOAD_FAST 300 20.8%
RETURN_CONST 220 15.3%
LOAD_CONST 180 12.5%
STORE_ATTR 80 5.6%

STORE_DEREF

Successors and predecessors for STORE_DEREF
Predecessors Count Percentage
RETURN_VALUE 80 33.3%
BINARY_SUBSCR_LIST_INT 60 25.0%
CALL_NON_PY_GENERAL 60 25.0%
BINARY_SUBSCR 20 8.3%
CALL 20 8.3%
Successors Count Percentage
LOAD_FAST 80 33.3%
LOAD_GLOBAL 80 33.3%
LOAD_GLOBAL_MODULE 80 33.3%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
LOAD_CONST 960 15.8%
STORE_FAST 480 7.9%
CALL_BUILTIN_FAST_WITH_KEYWORDS 460 7.6%
CALL_METHOD_DESCRIPTOR_FAST 360 5.9%
RETURN_CONST 320 5.3%
Successors Count Percentage
LOAD_FAST 2,840 46.7%
LOAD_GLOBAL_MODULE 800 13.2%
LOAD_GLOBAL 560 9.2%
STORE_FAST 480 7.9%
LOAD_CONST 400 6.6%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 500 78.1%
UNPACK_SEQUENCE 140 21.9%
Successors Count Percentage
LOAD_FAST 240 37.5%
LOAD_FAST_LOAD_FAST 240 37.5%
LOAD_CONST 160 25.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST 160 61.5%
RETURN_VALUE 80 30.8%
LOAD_GLOBAL 20 7.7%
Successors Count Percentage
LOAD_FAST 160 61.5%
LOAD_CONST 80 30.8%
POP_TOP 20 7.7%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
LOAD_CONST 120 33.3%
RETURN_VALUE 80 22.2%
CALL 80 22.2%
CALL_NON_PY_GENERAL 40 11.1%
CALL_BUILTIN_FAST 20 5.6%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 160 44.4%
STORE_FAST_STORE_FAST 140 38.9%
STORE_FAST 40 11.1%
UNPACK_SEQUENCE_TUPLE 20 5.6%

YIELD_VALUE

Successors and predecessors for YIELD_VALUE
Predecessors Count Percentage
LOAD_CONST 80 50.0%
LOAD_FAST 80 50.0%
Successors Count Percentage
INTERPRETER_EXIT 160 100.0%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CACHE 240 36.4%
CALL 220 33.3%
COPY_FREE_VARS 60 9.1%
MAKE_CELL 60 9.1%
POP_TOP 40 6.1%
Successors Count Percentage
LOAD_FAST 300 45.5%
LOAD_GLOBAL 220 33.3%
NOP 40 6.1%
POP_TOP 40 6.1%
BUILD_LIST 20 3.0%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 240 100.0%
Successors Count Percentage
STORE_FAST 240 100.0%

BINARY_OP_ADD_UNICODE

Successors and predecessors for BINARY_OP_ADD_UNICODE
Predecessors Count Percentage
LOAD_FAST 80 100.0%
Successors Count Percentage
BINARY_OP_INPLACE_ADD_UNICODE 80 100.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_CONST 120 66.7%
BINARY_SUBSCR 60 33.3%
Successors Count Percentage
CALL_BUILTIN_CLASS 80 44.4%
STORE_DEREF 60 33.3%
CALL 40 22.2%

BINARY_SUBSCR_TUPLE_INT

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

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
LOAD_CONST 80 66.7%
CALL 40 33.3%
Successors Count Percentage
POP_TOP 120 100.0%

CALL_BOUND_METHOD_GENERAL

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

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_FAST 120 40.0%
CALL 100 33.3%
BINARY_SUBSCR_LIST_INT 80 26.7%
Successors Count Percentage
STORE_FAST 240 80.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 40 13.3%
CALL 20 6.7%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 240 27.3%
LOAD_CONST 200 22.7%
CALL 180 20.5%
LOAD_FAST 160 18.2%
LOAD_FAST_LOAD_FAST 60 6.8%
Successors Count Percentage
STORE_FAST 260 29.5%
RETURN_VALUE 220 25.0%
PUSH_EXC_INFO 140 15.9%
UNPACK_SEQUENCE_TWO_TUPLE 120 13.6%
POP_TOP 60 6.8%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_FAST 640 72.7%
CALL 160 18.2%
LOAD_FAST_LOAD_FAST 40 4.5%
CALL_BUILTIN_CLASS 40 4.5%
Successors Count Percentage
STORE_FAST 460 52.3%
LOAD_FAST 180 20.5%
POP_TOP 120 13.6%
CALL_TUPLE_1 40 4.5%
TO_BOOL_BOOL 40 4.5%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 440 71.0%
CALL 100 16.1%
BUILD_TUPLE 40 6.5%
LOAD_ATTR_MODULE 40 6.5%
Successors Count Percentage
TO_BOOL_BOOL 520 83.9%
TO_BOOL 100 16.1%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 280 93.3%
CALL 20 6.7%
Successors Count Percentage
BINARY_OP 240 80.0%
LOAD_CONST 60 20.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_FAST 640 84.2%
CALL 40 5.3%
LOAD_CONST 40 5.3%
LOAD_ATTR_METHOD_LAZY_DICT 40 5.3%
Successors Count Percentage
STORE_FAST 360 47.4%
LOAD_CONST 240 31.6%
TO_BOOL_BOOL 160 21.1%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
CALL 40 33.3%
LOAD_DEREF 40 33.3%
LOAD_ATTR_METHOD_NO_DICT 40 33.3%
Successors Count Percentage
RETURN_VALUE 60 50.0%
STORE_FAST 60 50.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
CALL 40 33.3%
LOAD_ATTR_METHOD_LAZY_DICT 40 33.3%
LOAD_ATTR_METHOD_NO_DICT 40 33.3%
Successors Count Percentage
POP_TOP 60 50.0%
UNPACK_SEQUENCE_TWO_TUPLE 40 33.3%
UNPACK_SEQUENCE 20 16.7%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
BUILD_TUPLE 80 33.3%
CALL 80 33.3%
LOAD_CONST 40 16.7%
LOAD_FAST 40 16.7%
Successors Count Percentage
POP_TOP 180 75.0%
LOAD_CONST 60 25.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 240 42.9%
CALL 160 28.6%
LOAD_FAST_LOAD_FAST 120 21.4%
LOAD_CONST 40 7.1%
Successors Count Percentage
RETURN_VALUE 200 35.7%
POP_TOP 120 21.4%
UNPACK_SEQUENCE_TWO_TUPLE 80 14.3%
BEFORE_WITH 60 10.7%
STORE_DEREF 60 10.7%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 480 45.3%
CALL 220 20.8%
LOAD_DEREF 120 11.3%
LOAD_GLOBAL_MODULE 120 11.3%
LOAD_FAST_LOAD_FAST 80 7.5%
Successors Count Percentage
RESUME_CHECK 940 88.7%
COPY_FREE_VARS 60 5.7%
MAKE_CELL 60 5.7%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
CALL 160 33.3%
LOAD_FAST 160 33.3%
LOAD_ATTR_METHOD_WITH_VALUES 120 25.0%
LOAD_CONST 40 8.3%
Successors Count Percentage
RESUME_CHECK 360 75.0%
COPY_FREE_VARS 120 25.0%

CALL_STR_1

Successors and predecessors for CALL_STR_1
Predecessors Count Percentage
LOAD_FAST 40 66.7%
CALL 20 33.3%
Successors Count Percentage
BUILD_LIST 60 100.0%

CALL_TUPLE_1

Successors and predecessors for CALL_TUPLE_1
Predecessors Count Percentage
CALL_BUILTIN_FAST_WITH_KEYWORDS 40 66.7%
CALL 20 33.3%
Successors Count Percentage
LOAD_FAST 60 100.0%

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_ATTR 60 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_CONST 600 52.6%
COMPARE_OP 380 33.3%
LOAD_GLOBAL_MODULE 120 10.5%
LOAD_ATTR_INSTANCE_VALUE 40 3.5%
Successors Count Percentage
POP_JUMP_IF_FALSE 1,140 100.0%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
BINARY_OP 240 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 240 100.0%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 80 66.7%
FOR_ITER 40 33.3%
Successors Count Percentage
NOP 60 50.0%
RETURN_CONST 60 50.0%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
GET_ITER 120 75.0%
JUMP_BACKWARD 40 25.0%
Successors Count Percentage
STORE_FAST 140 87.5%
LOAD_GLOBAL 20 12.5%

LOAD_ATTR_CLASS

Successors and predecessors for LOAD_ATTR_CLASS
Predecessors Count Percentage
LOAD_FAST 80 66.7%
LOAD_ATTR 40 33.3%
Successors Count Percentage
LOAD_FAST 120 100.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 1,600 66.1%
LOAD_ATTR 700 28.9%
LOAD_FAST_LOAD_FAST 120 5.0%
Successors Count Percentage
LOAD_FAST 400 16.5%
POP_JUMP_IF_NOT_NONE 300 12.4%
TO_BOOL 280 11.6%
CALL_BUILTIN_FAST 240 9.9%
TO_BOOL_BOOL 200 8.3%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 80 66.7%
LOAD_ATTR 40 33.3%
Successors Count Percentage
CALL 40 33.3%
CALL_METHOD_DESCRIPTOR_FAST 40 33.3%
CALL_METHOD_DESCRIPTOR_NOARGS 40 33.3%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_FAST 800 71.4%
LOAD_ATTR 160 14.3%
LOAD_ATTR_INSTANCE_VALUE 120 10.7%
BUILD_LIST 40 3.6%
Successors Count Percentage
LOAD_FAST 700 62.5%
LOAD_CONST 120 10.7%
LOAD_FAST_LOAD_FAST 120 10.7%
LOAD_DEREF 60 5.4%
CALL 40 3.6%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 480 66.7%
LOAD_ATTR 240 33.3%
Successors Count Percentage
LOAD_FAST 240 33.3%
LOAD_FAST_LOAD_FAST 180 25.0%
CALL_PY_GENERAL 120 16.7%
CALL 60 8.3%
LOAD_CONST 60 8.3%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 1,480 65.5%
LOAD_ATTR 620 27.4%
LOAD_ATTR_MODULE 160 7.1%
Successors Count Percentage
PUSH_NULL 1,360 60.2%
LOAD_FAST 180 8.0%
LOAD_ATTR_MODULE 160 7.1%
LOAD_ATTR 120 5.3%
LOAD_DEREF 120 5.3%

LOAD_ATTR_SLOT

Successors and predecessors for LOAD_ATTR_SLOT
Predecessors Count Percentage
LOAD_ATTR_MODULE 80 66.7%
LOAD_ATTR 40 33.3%
Successors Count Percentage
TO_BOOL_INT 80 66.7%
TO_BOOL 40 33.3%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
LOAD_FAST 560 19.2%
LOAD_GLOBAL 560 19.2%
RESUME_CHECK 400 13.7%
NOP 240 8.2%
LOAD_FAST_LOAD_FAST 240 8.2%
Successors Count Percentage
LOAD_FAST 1,820 62.3%
CALL_ISINSTANCE 440 15.1%
LOAD_GLOBAL_BUILTIN 200 6.8%
CHECK_EXC_MATCH 140 4.8%
CALL 120 4.1%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_GLOBAL 1,000 25.6%
RESUME_CHECK 860 22.1%
STORE_FAST 800 20.5%
LOAD_FAST 280 7.2%
POP_JUMP_IF_FALSE 280 7.2%
Successors Count Percentage
LOAD_ATTR_MODULE 1,480 37.9%
LOAD_ATTR 620 15.9%
LOAD_FAST 560 14.4%
TO_BOOL_BOOL 240 6.2%
CALL 140 3.6%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CACHE 1,080 34.2%
CALL_PY_EXACT_ARGS 940 29.7%
CALL_PY_GENERAL 360 11.4%
COPY_FREE_VARS 260 8.2%
MAKE_CELL 180 5.7%
Successors Count Percentage
LOAD_FAST 1,180 37.3%
LOAD_GLOBAL_MODULE 860 27.2%
LOAD_GLOBAL_BUILTIN 400 12.7%
LOAD_GLOBAL 220 7.0%
NOP 120 3.8%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 1,480 69.8%
STORE_ATTR 520 24.5%
LOAD_FAST_LOAD_FAST 120 5.7%
Successors Count Percentage
LOAD_FAST 900 42.5%
LOAD_CONST 540 25.5%
RETURN_CONST 340 16.0%
LOAD_FAST_LOAD_FAST 140 6.6%
LOAD_GLOBAL_BUILTIN 120 5.7%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
LOAD_CONST 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 40 66.7%
TO_BOOL 20 33.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 100.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 520 28.0%
TO_BOOL 460 24.7%
LOAD_GLOBAL_MODULE 240 12.9%
LOAD_ATTR_INSTANCE_VALUE 200 10.8%
LOAD_FAST 160 8.6%
Successors Count Percentage
POP_JUMP_IF_FALSE 1,420 76.3%
POP_JUMP_IF_TRUE 440 23.7%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
TO_BOOL 80 33.3%
LOAD_ATTR_SLOT 80 33.3%
LOAD_FAST 40 16.7%
LOAD_ATTR_INSTANCE_VALUE 40 16.7%
Successors Count Percentage
POP_JUMP_IF_FALSE 240 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
COPY 120 40.0%
TO_BOOL 100 33.3%
RETURN_CONST 40 13.3%
LOAD_ATTR_INSTANCE_VALUE 40 13.3%
Successors Count Percentage
POP_JUMP_IF_TRUE 180 60.0%
POP_JUMP_IF_FALSE 120 40.0%

TO_BOOL_STR

Successors and predecessors for TO_BOOL_STR
Predecessors Count Percentage
LOAD_FAST 320 84.2%
RETURN_VALUE 40 10.5%
TO_BOOL 20 5.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 300 78.9%
POP_JUMP_IF_TRUE 80 21.1%

UNPACK_SEQUENCE_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TUPLE
Predecessors Count Percentage
RETURN_VALUE 40 66.7%
UNPACK_SEQUENCE 20 33.3%
Successors Count Percentage
STORE_FAST 60 100.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
UNPACK_SEQUENCE 160 28.6%
LOAD_CONST 120 21.4%
CALL_BUILTIN_FAST 120 21.4%
CALL_NON_PY_GENERAL 80 14.3%
RETURN_VALUE 40 7.1%
Successors Count Percentage
STORE_FAST_STORE_FAST 500 89.3%
STORE_FAST 60 10.7%

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.

560 52.8%
hit

Specialized instructions that complete.

400 37.7%
Success Count Ratio
Success 0 0.0%
Failure 100 100.0%
Failure kind Count Ratio
add other 60 60.0%
add different types 20 20.0%
multiply different types 20 20.0%

BINARY_SLICE

specialization stats for BINARY_SLICE family

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

100 20.0%
hit

Specialized instructions that complete.

300 60.0%
Success Count Ratio
Success 100 100.0%
Failure 0 0.0%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

1,860 21.1%
hit

Specialized instructions that complete.

5,460 62.0%
miss

Specialized instructions that deopt.

180 2.0%
Success Count Ratio
Success 1,420 95.9%
Failure 60 4.1%
Failure kind Count Ratio
class no vectorcall 60 100.0%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

540 24.1%
hit

Specialized instructions that complete.

1,300 58.0%
miss

Specialized instructions that deopt.

80 3.6%
Success Count Ratio
Success 380 95.0%
Failure 20 5.0%
Failure kind Count Ratio
different types 20 100.0%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Count Ratio
deferred

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

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

40 11.1%
hit

Specialized instructions that complete.

280 77.8%
Success Count Ratio
Success 40 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.

2,460 22.1%
hit

Specialized instructions that complete.

6,720 60.4%
miss

Specialized instructions that deopt.

160 1.4%
Success Count Ratio
Success 1,840 94.8%
Failure 100 5.2%
Failure kind Count Ratio
metaclass attribute 40 40.0%
shadowed 20 20.0%
class attr simple 20 20.0%
class attr descriptor 20 20.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

2,380 23.8%
hit

Specialized instructions that complete.

6,020 60.2%
miss

Specialized instructions that deopt.

800 8.0%
Success Count Ratio
Success 1,600 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

POP_JUMP_IF_NONE

specialization stats for POP_JUMP_IF_NONE family

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

840 23.6%
hit

Specialized instructions that complete.

2,120 59.6%
Success Count Ratio
Success 520 86.7%
Failure 80 13.3%
Failure kind Count Ratio
class attr simple 60 75.0%
not managed dict 20 25.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 20.0%
hit

Specialized instructions that complete.

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

1,240 26.2%
hit

Specialized instructions that complete.

2,700 57.0%
miss

Specialized instructions that deopt.

80 1.7%
Success Count Ratio
Success 680 85.0%
Failure 120 15.0%
Failure kind Count Ratio
bytes 40 33.3%
sequence 40 33.3%
bytearray 20 16.7%
tuple 20 16.7%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

180 18.4%
hit

Specialized instructions that complete.

620 63.3%
Success Count Ratio
Success 180 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.

62,920 52.5%
Not specialized

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

25,320 21.1%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

30,240 25.2%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

1,300 1.1%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
LOAD_ATTR 2,460 24.0%
LOAD_GLOBAL 2,380 23.2%
CALL 1,860 18.1%
TO_BOOL 1,240 12.1%
STORE_ATTR 840 8.2%
BINARY_OP 560 5.5%
COMPARE_OP 540 5.3%
UNPACK_SEQUENCE 180 1.8%
BINARY_SUBSCR 100 1.0%
CONTAINS_OP 40 0.4%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
LOAD_GLOBAL_BUILTIN 800 61.5%
LOAD_ATTR_METHOD_NO_DICT 160 12.3%
CALL_BOUND_METHOD_EXACT_ARGS 120 9.2%
COMPARE_OP_STR 80 6.2%
TO_BOOL_STR 80 6.2%
CALL_BOUND_METHOD_GENERAL 60 4.6%
CACHE 0 0.0%
BEFORE_WITH 0 0.0%
BINARY_OP_INPLACE_ADD_UNICODE 0 0.0%
CHECK_EXC_MATCH 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 1,560 39.2%
Calls to Python functions inlined 2,420 60.8%
Calls via PyEval_EvalFrame (total) 1,560 39.2%
Calls via PyEval_EvalFrame (vector) 1,240 31.2%
Calls via PyEval_EvalFrame (generator) 320 8.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 1,240 31.2%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 320 8.0%
Calls via PyEval_EvalFrame (api) 160 4.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 160 4.0%
Frames pushed 3,660 92.0%

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 4,960 31.5%
Frees to freelist 5,000
Allocations 10,780 68.5%
Allocations to 512 bytes 10,460 66.5%
Allocations to 4 kbytes 80 0.5%
Allocations over 4 kbytes 240 1.5%
Frees 10,629
Inline values 400
Interpreter increfs 39,380 57.4%
Interpreter decrefs 49,340 60.5%
Increfs 29,274 42.6%
Decrefs 32,240 39.5%
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 7,455
Method cache misses 1,405
Method cache collisions 1,235
Method cache dunder hits 2,364
Method cache dunder misses 456

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.

0
Traces created

The number of traces that were successfully created.

0
Trace stack overflow

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

0
Trace stack underflow

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

0
Trace too long

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

0
Trace too short

A potential trace is abandoced because it it too short.

0
Inner loop found

A trace is truncated because it has an inner loop

0
Recursive call

A trace is truncated because it has a recursive call.

0
Low confidence

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

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

160
Uops executed

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

480 300.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%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 80 50.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_GUARD_NOT_EXHAUSTED_TUPLE 80 16.7% 16.7% 100.0%
_EXIT_TRACE 80 16.7% 33.3%
_COLD_EXIT 80 16.7% 50.0%
_ITER_CHECK_TUPLE 80 16.7% 66.7%
_START_EXECUTOR 80 16.7% 83.3%
_TIER2_RESUME_CHECK 80 16.7% 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
_GUARD_NOT_EXHAUSTED_TUPLE _EXIT_TRACE 80 16.7% 16.7%
_ITER_CHECK_TUPLE _GUARD_NOT_EXHAUSTED_TUPLE 80 16.7% 33.3%
_START_EXECUTOR _TIER2_RESUME_CHECK 80 16.7% 50.0%
_TIER2_RESUME_CHECK _ITER_CHECK_TUPLE 80 16.7% 66.7%

Unsupported opcodes

unsupported opcodes

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