Skip to content

Latest commit

 

History

History
10986 lines (10034 loc) · 197 KB

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

File metadata and controls

10986 lines (10034 loc) · 197 KB

Pystats results

  • benchmark: thrift
  • 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 89,100,340 18.7% 18.7%
STORE_ATTR_INSTANCE_VALUE 43,008,280 9.0% 27.7%
LOAD_FAST_LOAD_FAST 29,698,360 6.2% 33.9%
LOAD_CONST 28,674,060 6.0% 39.9%
RESUME_CHECK 27,649,880 5.8% 45.7%
LOAD_GLOBAL_MODULE 19,460,800 4.1% 49.8% 0.0%
RETURN_CONST 19,456,720 4.1% 53.9%
STORE_FAST 17,413,560 3.6% 57.5%
INTERPRETER_EXIT 17,408,460 3.6% 61.2%
LOAD_ATTR_INSTANCE_VALUE 16,384,900 3.4% 64.6%
LOAD_ATTR_MODULE 13,315,280 2.8% 67.4% 0.0%
POP_TOP 12,291,740 2.6% 70.0%
PUSH_NULL 10,242,980 2.1% 72.1%
CALL_PY_EXACT_ARGS 10,241,040 2.1% 74.2% 0.0%
CALL 9,221,180 1.9% 76.2%
RETURN_VALUE 9,216,900 1.9% 78.1%
LOAD_GLOBAL_BUILTIN 9,216,860 1.9% 80.0% 0.0%
POP_JUMP_IF_FALSE 7,168,640 1.5% 81.5%
LOAD_ATTR_METHOD_NO_DICT 6,145,720 1.3% 82.8%
CALL_METHOD_DESCRIPTOR_FAST 6,144,160 1.3% 84.1%
POP_JUMP_IF_NONE 6,144,140 1.3% 85.4%
LOAD_ATTR_METHOD_WITH_VALUES 6,144,020 1.3% 86.7% 0.0%
TO_BOOL_BOOL 5,120,340 1.1% 87.8%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 4,095,920 0.9% 88.6%
ENTER_EXECUTOR 3,079,640 0.6% 89.3%
BUILD_LIST 3,072,300 0.6% 89.9%
BUILD_MAP 3,072,080 0.6% 90.6%
CALL_ISINSTANCE 3,072,000 0.6% 91.2%
LOAD_ATTR 2,050,860 0.4% 91.6%
CALL_NON_PY_GENERAL 2,050,240 0.4% 92.1%
FOR_ITER_TUPLE 2,049,940 0.4% 92.5%
NOP 2,048,660 0.4% 92.9%
GET_ITER 2,048,560 0.4% 93.3%
POP_JUMP_IF_TRUE 2,048,400 0.4% 93.8%
CALL_FUNCTION_EX 2,048,240 0.4% 94.2%
CALL_BUILTIN_FAST 2,048,200 0.4% 94.6%
COPY_FREE_VARS 2,048,140 0.4% 95.1%
LOAD_ATTR_SLOT 2,048,100 0.4% 95.5%
DICT_MERGE 2,048,080 0.4% 95.9%
CALL_KW 2,048,060 0.4% 96.3%
COMPARE_OP_STR 2,048,020 0.4% 96.8%
TO_BOOL_INT 2,048,020 0.4% 97.2%
IMPORT_FROM 2,048,000 0.4% 97.6%
IMPORT_NAME 2,048,000 0.4% 98.1%
LOAD_SUPER_ATTR_ATTR 2,047,980 0.4% 98.5%
LOAD_ATTR_CLASS 2,047,960 0.4% 98.9%
LOAD_ATTR_METHOD_LAZY_DICT 2,047,960 0.4% 99.4%
CALL_METHOD_DESCRIPTOR_O 1,024,080 0.2% 99.6% 0.0%
JUMP_FORWARD 1,024,020 0.2% 99.8%
CALL_METHOD_DESCRIPTOR_NOARGS 1,023,980 0.2% 100.0%
CALL_LIST_APPEND 10,340 0.0% 100.0%
JUMP_BACKWARD 2,680 0.0% 100.0%
BINARY_OP_ADD_FLOAT 1,320 0.0% 100.0% 4.5%
BINARY_OP_SUBTRACT_FLOAT 1,260 0.0% 100.0%
STORE_ATTR 1,140 0.0% 100.0%
LOAD_GLOBAL 1,120 0.0% 100.0%
FOR_ITER_RANGE 1,080 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 580 0.0% 100.0%
CALL_BUILTIN_CLASS 440 0.0% 100.0%
RESUME 400 0.0% 100.0%
LOAD_DEREF 300 0.0% 100.0%
CALL_PY_GENERAL 200 0.0% 100.0%
BEFORE_WITH 160 0.0% 100.0%
COMPARE_OP_INT 140 0.0% 100.0%
CALL_BOUND_METHOD_EXACT_ARGS 120 0.0% 100.0% 66.7%
LOAD_FAST_CHECK 120 0.0% 100.0%
SWAP 120 0.0% 100.0%
FOR_ITER_LIST 120 0.0% 100.0%
TO_BOOL 100 0.0% 100.0%
BINARY_OP 100 0.0% 100.0%
BUILD_TUPLE 100 0.0% 100.0%
STORE_FAST_STORE_FAST 100 0.0% 100.0%
BINARY_SUBSCR_DICT 100 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 80 0.0% 100.0% 25.0%
CALL_INTRINSIC_1 80 0.0% 100.0%
FOR_ITER 80 0.0% 100.0%
IS_OP 80 0.0% 100.0%
LIST_EXTEND 80 0.0% 100.0%
BINARY_SUBSCR_TUPLE_INT 80 0.0% 100.0%
CONTAINS_OP_DICT 80 0.0% 100.0%
STORE_SUBSCR_DICT 80 0.0% 100.0%
TO_BOOL_STR 80 0.0% 100.0%
UNPACK_SEQUENCE_TWO_TUPLE 80 0.0% 100.0%
TO_BOOL_NONE 60 0.0% 100.0% 66.7%
EXIT_INIT_CHECK 60 0.0% 100.0%
COMPARE_OP 60 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 60 0.0% 100.0%
CALL_LEN 60 0.0% 100.0%
LOAD_ATTR_PROPERTY 60 0.0% 100.0%
CALL_BOUND_METHOD_GENERAL 40 0.0% 100.0% 100.0%
CHECK_EXC_MATCH 40 0.0% 100.0%
FORMAT_SIMPLE 40 0.0% 100.0%
POP_EXCEPT 40 0.0% 100.0%
PUSH_EXC_INFO 40 0.0% 100.0%
JUMP_BACKWARD_NO_INTERRUPT 40 0.0% 100.0%
LOAD_SUPER_ATTR 40 0.0% 100.0%
UNPACK_SEQUENCE 40 0.0% 100.0%
BINARY_OP_ADD_UNICODE 40 0.0% 100.0%
CALL_TUPLE_1 40 0.0% 100.0%
CONTAINS_OP_SET 40 0.0% 100.0%
LOAD_SUPER_ATTR_METHOD 40 0.0% 100.0%
TO_BOOL_LIST 40 0.0% 100.0%
DELETE_SUBSCR 20 0.0% 100.0%
MAKE_FUNCTION 20 0.0% 100.0%
BUILD_STRING 20 0.0% 100.0%
COPY 20 0.0% 100.0%
LIST_APPEND 20 0.0% 100.0%
LOAD_FAST_AND_CLEAR 20 0.0% 100.0%
SET_FUNCTION_ATTRIBUTE 20 0.0% 100.0%
STORE_FAST_LOAD_FAST 20 0.0% 100.0%
CALL_BUILTIN_O 20 0.0% 100.0%
COMPARE_OP_FLOAT 20 0.0% 100.0%
STORE_ATTR_SLOT 20 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 22,527,700 4.7% 4.7%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 20,480,040 4.3% 9.0%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 16,384,620 3.4% 12.4%
CACHE RESUME_CHECK 15,360,260 3.2% 15.7%
RETURN_CONST INTERPRETER_EXIT 14,336,420 3.0% 18.7%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 14,336,040 3.0% 21.7%
RESUME_CHECK LOAD_FAST 11,264,220 2.4% 24.0%
CALL_PY_EXACT_ARGS RESUME_CHECK 10,241,040 2.1% 26.2%
RESUME_CHECK LOAD_FAST_LOAD_FAST 10,240,060 2.1% 28.3%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 9,218,980 1.9% 30.3%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 9,216,160 1.9% 32.2%
LOAD_CONST LOAD_CONST 8,192,460 1.7% 33.9%
LOAD_CONST LOAD_FAST 8,192,300 1.7% 35.6%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 8,192,060 1.7% 37.3%
CALL STORE_FAST 7,168,140 1.5% 38.8%
STORE_ATTR_INSTANCE_VALUE LOAD_CONST 7,167,980 1.5% 40.3%
LOAD_ATTR_MODULE PUSH_NULL 6,146,400 1.3% 41.6%
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 6,145,380 1.3% 42.9%
RESUME_CHECK LOAD_GLOBAL_MODULE 6,145,200 1.3% 44.2%
LOAD_ATTR_METHOD_NO_DICT LOAD_CONST 6,144,060 1.3% 45.5%
LOAD_CONST CALL_METHOD_DESCRIPTOR_FAST 6,143,900 1.3% 46.8%
STORE_FAST LOAD_FAST 5,121,900 1.1% 47.8%
STORE_FAST LOAD_GLOBAL_MODULE 5,121,060 1.1% 48.9%
PUSH_NULL CALL 5,120,880 1.1% 50.0%
LOAD_GLOBAL_MODULE LOAD_FAST 5,120,300 1.1% 51.1%
RETURN_CONST POP_TOP 5,120,140 1.1% 52.1%
LOAD_FAST CALL_PY_EXACT_ARGS 5,120,100 1.1% 53.2%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 5,120,080 1.1% 54.3%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 5,119,960 1.1% 55.4%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 5,119,840 1.1% 56.4%
POP_TOP LOAD_FAST 4,097,500 0.9% 57.3%
STORE_FAST LOAD_GLOBAL_BUILTIN 4,096,400 0.9% 58.1%
RETURN_VALUE STORE_FAST 4,096,280 0.9% 59.0%
LOAD_ATTR_MODULE LOAD_FAST 4,096,180 0.9% 59.9%
LOAD_FAST LOAD_ATTR_MODULE 4,095,980 0.9% 60.7%
CALL_METHOD_DESCRIPTOR_FAST LOAD_FAST 4,095,980 0.9% 61.6%
LOAD_FAST LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 4,095,840 0.9% 62.4%
POP_TOP RETURN_CONST 3,072,340 0.6% 63.1%
PUSH_NULL LOAD_FAST 3,072,300 0.6% 63.7%
LOAD_GLOBAL_BUILTIN LOAD_FAST 3,072,300 0.6% 64.4%
POP_JUMP_IF_NONE LOAD_FAST 3,072,120 0.6% 65.0%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 3,072,100 0.6% 65.7%
BUILD_MAP LOAD_FAST 3,072,080 0.6% 66.3%
LOAD_FAST BUILD_MAP 3,072,080 0.6% 66.9%
RETURN_VALUE INTERPRETER_EXIT 3,072,040 0.6% 67.6%
CALL_ISINSTANCE TO_BOOL_BOOL 3,071,980 0.6% 68.2%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 3,071,960 0.6% 68.9%
STORE_ATTR_INSTANCE_VALUE LOAD_GLOBAL_MODULE 3,071,900 0.6% 69.5%
LOAD_FAST RETURN_VALUE 2,051,520 0.4% 69.9%
LOAD_FAST_LOAD_FAST LOAD_FAST 2,049,460 0.4% 70.4%
LOAD_FAST CALL 2,048,360 0.4% 70.8%
LOAD_GLOBAL_MODULE LOAD_ATTR 2,048,260 0.4% 71.2%
POP_TOP NOP 2,048,240 0.4% 71.7%
LOAD_FAST LOAD_CONST 2,048,240 0.4% 72.1%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 2,048,240 0.4% 72.5%
LOAD_ATTR PUSH_NULL 2,048,220 0.4% 73.0%
POP_JUMP_IF_TRUE LOAD_FAST 2,048,140 0.4% 73.4%
POP_JUMP_IF_FALSE RETURN_CONST 2,048,120 0.4% 73.8%
NOP LOAD_CONST 2,048,100 0.4% 74.2%
PUSH_NULL LOAD_FAST_LOAD_FAST 2,048,100 0.4% 74.7%
COPY_FREE_VARS RESUME_CHECK 2,048,100 0.4% 75.1%
DICT_MERGE CALL_FUNCTION_EX 2,048,080 0.4% 75.5%
LOAD_FAST DICT_MERGE 2,048,080 0.4% 76.0%
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST 2,048,080 0.4% 76.4%
CACHE COPY_FREE_VARS 2,048,060 0.4% 76.8%
CALL LOAD_FAST 2,048,060 0.4% 77.2%
LOAD_CONST CALL_KW 2,048,060 0.4% 77.7%
LOAD_FAST GET_ITER 2,048,060 0.4% 78.1%
POP_TOP LOAD_FAST_LOAD_FAST 2,048,040 0.4% 78.5%
LOAD_FAST POP_JUMP_IF_NONE 2,048,040 0.4% 79.0%
CALL_BUILTIN_FAST TO_BOOL_BOOL 2,048,040 0.4% 79.4%
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST 2,048,040 0.4% 79.8%
LOAD_ATTR_INSTANCE_VALUE POP_JUMP_IF_NONE 2,048,040 0.4% 80.2%
LOAD_ATTR_SLOT LOAD_FAST 2,048,040 0.4% 80.7%
LOAD_CONST COMPARE_OP_STR 2,048,020 0.4% 81.1%
LOAD_FAST LOAD_FAST 2,048,020 0.4% 81.5%
LOAD_FAST LOAD_GLOBAL_BUILTIN 2,048,020 0.4% 82.0%
POP_JUMP_IF_FALSE LOAD_GLOBAL_BUILTIN 2,048,020 0.4% 82.4%
COMPARE_OP_STR POP_JUMP_IF_FALSE 2,048,020 0.4% 82.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST 2,048,020 0.4% 83.3%
LOAD_GLOBAL_BUILTIN CALL_ISINSTANCE 2,048,020 0.4% 83.7%
GET_ITER FOR_ITER_TUPLE 2,048,000 0.4% 84.1%
CALL_FUNCTION_EX POP_TOP 2,048,000 0.4% 84.5%
CALL_KW RETURN_VALUE 2,048,000 0.4% 85.0%
IMPORT_FROM STORE_FAST 2,048,000 0.4% 85.4%
IMPORT_NAME IMPORT_FROM 2,048,000 0.4% 85.8%
LOAD_CONST IMPORT_NAME 2,048,000 0.4% 86.3%
LOAD_FAST_LOAD_FAST CALL_BUILTIN_FAST 2,048,000 0.4% 86.7%
STORE_FAST POP_TOP 2,048,000 0.4% 87.1%
FOR_ITER_TUPLE STORE_FAST 2,048,000 0.4% 87.5%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 2,048,000 0.4% 88.0%
LOAD_GLOBAL_BUILTIN LOAD_FAST_LOAD_FAST 2,048,000 0.4% 88.4%
LOAD_GLOBAL_BUILTIN LOAD_GLOBAL_MODULE 2,048,000 0.4% 88.8%
TO_BOOL_INT POP_JUMP_IF_FALSE 2,048,000 0.4% 89.3%
LOAD_SUPER_ATTR_ATTR PUSH_NULL 2,047,980 0.4% 89.7%
LOAD_FAST LOAD_SUPER_ATTR_ATTR 2,047,960 0.4% 90.1%
LOAD_FAST TO_BOOL_INT 2,047,960 0.4% 90.5%
LOAD_ATTR_CLASS LOAD_FAST 2,047,960 0.4% 91.0%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES BUILD_LIST 2,047,960 0.4% 91.4%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES POP_JUMP_IF_NONE 2,047,960 0.4% 91.8%

Predecessor/Successor Pairs

Top 5 predecessors and successors of each Tier 1 opcode.

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

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 15,360,260 88.2%
COPY_FREE_VARS 2,048,060 11.8%
RESUME 140 0.0%

BEFORE_WITH

Successors and predecessors for BEFORE_WITH
Predecessors Count Percentage
CALL_NON_PY_GENERAL 80 50.0%
RETURN_VALUE 40 25.0%
LOAD_ATTR_INSTANCE_VALUE 40 25.0%
Successors Count Percentage
POP_TOP 160 100.0%

CHECK_EXC_MATCH

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

DELETE_SUBSCR

Successors and predecessors for DELETE_SUBSCR
Predecessors Count Percentage
LOAD_FAST 20 100.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 20 100.0%

EXIT_INIT_CHECK

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

FORMAT_SIMPLE

Successors and predecessors for FORMAT_SIMPLE
Predecessors Count Percentage
LOAD_FAST 20 50.0%
LOAD_ATTR_MODULE 20 50.0%
Successors Count Percentage
BUILD_STRING 20 50.0%
LOAD_CONST 20 50.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_FAST 2,048,060 100.0%
CALL_BUILTIN_CLASS 440 0.0%
CALL 40 0.0%
LOAD_ATTR_INSTANCE_VALUE 20 0.0%
Successors Count Percentage
FOR_ITER_TUPLE 2,048,000 100.0%
FOR_ITER_RANGE 440 0.0%
FOR_ITER_LIST 60 0.0%
FOR_ITER 40 0.0%
LOAD_FAST_AND_CLEAR 20 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_CONST 14,336,420 82.4%
RETURN_VALUE 3,072,040 17.6%

MAKE_FUNCTION

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

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
POP_TOP 2,048,240 100.0%
STORE_FAST 180 0.0%
POP_JUMP_IF_NOT_NONE 40 0.0%
CALL_LIST_APPEND 40 0.0%
RESUME_CHECK 40 0.0%
Successors Count Percentage
LOAD_CONST 2,048,100 100.0%
LOAD_FAST 200 0.0%
LOAD_GLOBAL_MODULE 200 0.0%
LOAD_DEREF 80 0.0%
LOAD_FAST_LOAD_FAST 40 0.0%

POP_EXCEPT

Successors and predecessors for POP_EXCEPT
Predecessors Count Percentage
STORE_FAST 40 100.0%
Successors Count Percentage
JUMP_BACKWARD_NO_INTERRUPT 40 100.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_CONST 5,120,140 41.7%
CALL_FUNCTION_EX 2,048,000 16.7%
STORE_FAST 2,048,000 16.7%
CALL_NON_PY_GENERAL 1,024,340 8.3%
RETURN_VALUE 1,024,060 8.3%
Successors Count Percentage
LOAD_FAST 4,097,500 33.3%
RETURN_CONST 3,072,340 25.0%
NOP 2,048,240 16.7%
LOAD_FAST_LOAD_FAST 2,048,040 16.7%
ENTER_EXECUTOR 1,023,660 8.3%

PUSH_EXC_INFO

Successors and predecessors for PUSH_EXC_INFO
Predecessors Count Percentage
BINARY_SUBSCR_DICT 40 100.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 40 100.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 6,146,400 60.0%
LOAD_ATTR 2,048,220 20.0%
LOAD_SUPER_ATTR_ATTR 2,047,980 20.0%
LOAD_DEREF 180 0.0%
LOAD_FAST 180 0.0%
Successors Count Percentage
CALL 5,120,880 50.0%
LOAD_FAST 3,072,300 30.0%
LOAD_FAST_LOAD_FAST 2,048,100 20.0%
CALL_NON_PY_GENERAL 1,700 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
LOAD_FAST 2,051,520 22.3%
CALL_KW 2,048,000 22.2%
ENTER_EXECUTOR 2,044,820 22.2%
RETURN_VALUE 1,024,120 11.1%
LOAD_ATTR_INSTANCE_VALUE 1,024,020 11.1%
Successors Count Percentage
STORE_FAST 4,096,280 44.4%
INTERPRETER_EXIT 3,072,040 33.3%
RETURN_VALUE 1,024,120 11.1%
POP_TOP 1,024,060 11.1%
LOAD_FAST 60 0.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 40 40.0%
CALL 20 20.0%
CALL_ISINSTANCE 20 20.0%
LOAD_ATTR_INSTANCE_VALUE 20 20.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 60.0%
TO_BOOL_BOOL 20 20.0%
TO_BOOL_INT 20 20.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_FAST 40 40.0%
BINARY_OP 20 20.0%
LOAD_CONST 20 20.0%
BINARY_OP_SUBTRACT_FLOAT 20 20.0%
Successors Count Percentage
BINARY_OP 20 20.0%
LOAD_FAST 20 20.0%
STORE_FAST 20 20.0%
BINARY_OP_ADD_FLOAT 20 20.0%
BINARY_OP_SUBTRACT_FLOAT 20 20.0%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 2,047,960 66.7%
LOAD_FAST_LOAD_FAST 1,024,000 33.3%
LOAD_FAST 80 0.0%
STORE_FAST 80 0.0%
STORE_ATTR_INSTANCE_VALUE 60 0.0%
Successors Count Percentage
CALL_NON_PY_GENERAL 2,047,920 66.7%
LOAD_FAST 1,024,060 33.3%
STORE_FAST 100 0.0%
CALL 80 0.0%
LOAD_DEREF 80 0.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
LOAD_FAST 3,072,080 100.0%
Successors Count Percentage
LOAD_FAST 3,072,080 100.0%

BUILD_STRING

Successors and predecessors for BUILD_STRING
Predecessors Count Percentage
FORMAT_SIMPLE 20 100.0%
Successors Count Percentage
STORE_FAST 20 100.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 80 80.0%
LOAD_FAST 20 20.0%
Successors Count Percentage
RETURN_VALUE 80 80.0%
LOAD_CONST 20 20.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
PUSH_NULL 5,120,880 55.5%
LOAD_FAST 2,048,360 22.2%
LOAD_GLOBAL_MODULE 1,024,060 11.1%
ENTER_EXECUTOR 1,023,240 11.1%
CALL 4,020 0.0%
Successors Count Percentage
STORE_FAST 7,168,140 77.7%
LOAD_FAST 2,048,060 22.2%
CALL 4,020 0.0%
CALL_PY_EXACT_ARGS 220 0.0%
RESUME 200 0.0%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
DICT_MERGE 2,048,080 100.0%
CALL_INTRINSIC_1 80 0.0%
LOAD_FAST 80 0.0%
Successors Count Percentage
POP_TOP 2,048,000 100.0%
RETURN_VALUE 80 0.0%
COPY_FREE_VARS 80 0.0%
RESUME_CHECK 60 0.0%
RESUME 20 0.0%

CALL_INTRINSIC_1

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

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
LOAD_CONST 2,048,060 100.0%
Successors Count Percentage
RETURN_VALUE 2,048,000 100.0%
RESUME_CHECK 40 0.0%
STORE_FAST 20 0.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
BUILD_LIST 40 66.7%
LOAD_FAST 20 33.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 40 66.7%
POP_JUMP_IF_TRUE 20 33.3%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 20 100.0%
Successors Count Percentage
TO_BOOL_STR 20 100.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CACHE 2,048,060 100.0%
CALL_FUNCTION_EX 80 0.0%
Successors Count Percentage
RESUME_CHECK 2,048,100 100.0%
RESUME 40 0.0%

DICT_MERGE

Successors and predecessors for DICT_MERGE
Predecessors Count Percentage
LOAD_FAST 2,048,080 100.0%
Successors Count Percentage
CALL_FUNCTION_EX 2,048,080 100.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_JUMP_IF_FALSE 2,046,060 66.4%
POP_TOP 1,023,660 33.2%
CALL_LIST_APPEND 9,900 0.3%
LIST_APPEND 20 0.0%
Successors Count Percentage
RETURN_VALUE 2,044,820 66.4%
CALL 1,023,240 33.2%
CALL_LIST_APPEND 8,900 0.3%
POP_TOP 2,620 0.1%
BINARY_OP_ADD_FLOAT 60 0.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 40 50.0%
JUMP_BACKWARD 40 50.0%
Successors Count Percentage
STORE_FAST 40 50.0%
FOR_ITER_RANGE 40 50.0%

IMPORT_FROM

Successors and predecessors for IMPORT_FROM
Predecessors Count Percentage
IMPORT_NAME 2,048,000 100.0%
Successors Count Percentage
STORE_FAST 2,048,000 100.0%

IMPORT_NAME

Successors and predecessors for IMPORT_NAME
Predecessors Count Percentage
LOAD_CONST 2,048,000 100.0%
Successors Count Percentage
IMPORT_FROM 2,048,000 100.0%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 60 75.0%
LOAD_FAST 20 25.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 75.0%
POP_JUMP_IF_TRUE 20 25.0%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_JUMP_IF_FALSE 1,920 71.6%
POP_TOP 380 14.2%
CALL_LIST_APPEND 320 11.9%
POP_JUMP_IF_NOT_NONE 60 2.2%
Successors Count Percentage
FOR_ITER_TUPLE 1,920 71.6%
FOR_ITER_RANGE 600 22.4%
FOR_ITER_LIST 60 2.2%
CALL 40 1.5%
FOR_ITER 40 1.5%

JUMP_BACKWARD_NO_INTERRUPT

Successors and predecessors for JUMP_BACKWARD_NO_INTERRUPT
Predecessors Count Percentage
POP_EXCEPT 40 100.0%
Successors Count Percentage
LOAD_FAST 40 100.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 1,023,980 100.0%
STORE_ATTR 20 0.0%
STORE_FAST 20 0.0%
Successors Count Percentage
LOAD_FAST 1,024,020 100.0%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 20 100.0%
Successors Count Percentage
ENTER_EXECUTOR 20 100.0%

LIST_EXTEND

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

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 2,048,260 99.9%
LOAD_FAST 1,340 0.1%
LOAD_ATTR 800 0.0%
LOAD_GLOBAL 300 0.0%
LOAD_FAST_LOAD_FAST 60 0.0%
Successors Count Percentage
PUSH_NULL 2,048,220 99.9%
LOAD_ATTR 800 0.0%
LOAD_FAST 340 0.0%
LOAD_ATTR_MODULE 320 0.0%
LOAD_ATTR_INSTANCE_VALUE 260 0.0%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_CONST 8,192,460 28.6%
STORE_ATTR_INSTANCE_VALUE 7,167,980 25.0%
LOAD_ATTR_METHOD_NO_DICT 6,144,060 21.4%
LOAD_FAST 2,048,240 7.1%
NOP 2,048,100 7.1%
Successors Count Percentage
LOAD_CONST 8,192,460 28.6%
LOAD_FAST 8,192,300 28.6%
CALL_METHOD_DESCRIPTOR_FAST 6,143,900 21.4%
CALL_KW 2,048,060 7.1%
COMPARE_OP_STR 2,048,020 7.1%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
NOP 80 26.7%
BUILD_LIST 80 26.7%
RESUME_CHECK 80 26.7%
LOAD_GLOBAL_BUILTIN 40 13.3%
RESUME 20 6.7%
Successors Count Percentage
PUSH_NULL 180 60.0%
LIST_EXTEND 80 26.7%
LOAD_FAST 40 13.3%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
RESUME_CHECK 11,264,220 12.6%
LOAD_CONST 8,192,300 9.2%
STORE_ATTR_INSTANCE_VALUE 8,192,060 9.2%
STORE_FAST 5,121,900 5.7%
LOAD_GLOBAL_MODULE 5,120,300 5.7%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 22,527,700 25.3%
LOAD_ATTR_INSTANCE_VALUE 16,384,620 18.4%
LOAD_ATTR_METHOD_NO_DICT 6,145,380 6.9%
CALL_PY_EXACT_ARGS 5,120,100 5.7%
LOAD_ATTR_METHOD_WITH_VALUES 5,119,840 5.7%

LOAD_FAST_AND_CLEAR

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

LOAD_FAST_CHECK

Successors and predecessors for LOAD_FAST_CHECK
Predecessors Count Percentage
POP_TOP 80 66.7%
LOAD_FAST 20 16.7%
LOAD_ATTR_METHOD_NO_DICT 20 16.7%
Successors Count Percentage
POP_JUMP_IF_NOT_NONE 80 66.7%
LOAD_FAST 20 16.7%
CALL_LIST_APPEND 20 16.7%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
RESUME_CHECK 10,240,060 34.5%
STORE_ATTR_INSTANCE_VALUE 9,216,160 31.0%
PUSH_NULL 2,048,100 6.9%
LOAD_GLOBAL_MODULE 2,048,080 6.9%
POP_TOP 2,048,040 6.9%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 20,480,040 69.0%
CALL_PY_EXACT_ARGS 3,071,960 10.3%
LOAD_FAST 2,049,460 6.9%
CALL_BUILTIN_FAST 2,048,000 6.9%
BUILD_LIST 1,024,000 3.4%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 400 35.7%
RESUME 140 12.5%
RESUME_CHECK 140 12.5%
POP_JUMP_IF_NONE 120 10.7%
STORE_ATTR 60 5.4%
Successors Count Percentage
LOAD_GLOBAL_MODULE 480 42.9%
LOAD_ATTR 300 26.8%
LOAD_FAST 120 10.7%
LOAD_GLOBAL_BUILTIN 80 7.1%
CALL 60 5.4%

LOAD_SUPER_ATTR

Successors and predecessors for LOAD_SUPER_ATTR
Predecessors Count Percentage
LOAD_FAST 40 100.0%
Successors Count Percentage
PUSH_NULL 20 50.0%
LOAD_SUPER_ATTR_ATTR 20 50.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
TO_BOOL_BOOL 3,072,100 42.9%
COMPARE_OP_STR 2,048,020 28.6%
TO_BOOL_INT 2,048,000 28.6%
COMPARE_OP_INT 100 0.0%
TO_BOOL 60 0.0%
Successors Count Percentage
RETURN_CONST 2,048,120 28.6%
LOAD_GLOBAL_BUILTIN 2,048,020 28.6%
ENTER_EXECUTOR 2,046,060 28.5%
LOAD_FAST 1,024,260 14.3%
JUMP_BACKWARD 1,920 0.0%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 2,048,040 33.3%
LOAD_ATTR_INSTANCE_VALUE 2,048,040 33.3%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 2,047,960 33.3%
LOAD_ATTR 80 0.0%
RETURN_VALUE 20 0.0%
Successors Count Percentage
LOAD_FAST 3,072,120 50.0%
LOAD_GLOBAL_MODULE 2,047,920 33.3%
LOAD_GLOBAL_BUILTIN 1,023,980 16.7%
LOAD_GLOBAL 120 0.0%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 260 44.8%
CALL_BUILTIN_FAST 120 20.7%
LOAD_FAST_CHECK 80 13.8%
LOAD_ATTR_INSTANCE_VALUE 80 13.8%
LOAD_GLOBAL_MODULE 40 6.9%
Successors Count Percentage
LOAD_FAST 360 62.1%
LOAD_GLOBAL_MODULE 100 17.2%
JUMP_BACKWARD 60 10.3%
NOP 40 6.9%
RETURN_CONST 20 3.4%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL_BOOL 2,048,240 100.0%
TO_BOOL_STR 40 0.0%
COMPARE_OP 20 0.0%
IS_OP 20 0.0%
COMPARE_OP_INT 20 0.0%
Successors Count Percentage
LOAD_FAST 2,048,140 100.0%
LOAD_GLOBAL_BUILTIN 120 0.0%
LOAD_GLOBAL_MODULE 60 0.0%
LOAD_CONST 20 0.0%
LOAD_FAST_LOAD_FAST 20 0.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 14,336,040 73.7%
POP_TOP 3,072,340 15.8%
POP_JUMP_IF_FALSE 2,048,120 10.5%
STORE_ATTR 140 0.0%
POP_JUMP_IF_NOT_NONE 20 0.0%
Successors Count Percentage
INTERPRETER_EXIT 14,336,420 73.7%
POP_TOP 5,120,140 26.3%
EXIT_INIT_CHECK 60 0.0%
STORE_FAST 60 0.0%
LOAD_FAST 20 0.0%

SET_FUNCTION_ATTRIBUTE

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

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 660 57.9%
LOAD_FAST_LOAD_FAST 480 42.1%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 540 47.4%
LOAD_FAST 140 12.3%
RETURN_CONST 140 12.3%
LOAD_FAST_LOAD_FAST 120 10.5%
LOAD_CONST 100 8.8%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
CALL 7,168,140 41.2%
RETURN_VALUE 4,096,280 23.5%
CALL_METHOD_DESCRIPTOR_FAST 2,048,040 11.8%
IMPORT_FROM 2,048,000 11.8%
FOR_ITER_TUPLE 2,048,000 11.8%
Successors Count Percentage
LOAD_FAST 5,121,900 29.4%
LOAD_GLOBAL_MODULE 5,121,060 29.4%
LOAD_GLOBAL_BUILTIN 4,096,400 23.5%
POP_TOP 2,048,000 11.8%
LOAD_CONST 1,024,140 5.9%

STORE_FAST_LOAD_FAST

Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors Count Percentage
FOR_ITER_TUPLE 20 100.0%
Successors Count Percentage
TO_BOOL_STR 20 100.0%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 80 80.0%
UNPACK_SEQUENCE 20 20.0%
Successors Count Percentage
LOAD_FAST 80 80.0%
NOP 20 20.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
RETURN_VALUE 40 33.3%
LOAD_FAST 40 33.3%
BUILD_LIST 20 16.7%
LOAD_FAST_AND_CLEAR 20 16.7%
Successors Count Percentage
POP_TOP 60 50.0%
BUILD_LIST 20 16.7%
LOAD_CONST 20 16.7%
FOR_ITER_TUPLE 20 16.7%

UNPACK_SEQUENCE

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

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 200 50.0%
CACHE 140 35.0%
COPY_FREE_VARS 40 10.0%
CALL_FUNCTION_EX 20 5.0%
Successors Count Percentage
LOAD_FAST 140 35.0%
LOAD_GLOBAL 140 35.0%
LOAD_FAST_LOAD_FAST 100 25.0%
LOAD_DEREF 20 5.0%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
BINARY_OP_SUBTRACT_FLOAT 1,240 93.9%
ENTER_EXECUTOR 60 4.5%
BINARY_OP 20 1.5%
Successors Count Percentage
STORE_FAST 1,320 100.0%

BINARY_OP_ADD_UNICODE

Successors and predecessors for BINARY_OP_ADD_UNICODE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 40 100.0%
Successors Count Percentage
LOAD_FAST 20 50.0%
CALL_PY_GENERAL 20 50.0%

BINARY_OP_SUBTRACT_FLOAT

Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors Count Percentage
LOAD_FAST 1,240 98.4%
BINARY_OP 20 1.6%
Successors Count Percentage
BINARY_OP_ADD_FLOAT 1,240 98.4%
BINARY_OP 20 1.6%

BINARY_SUBSCR_DICT

Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors Count Percentage
LOAD_FAST 100 100.0%
Successors Count Percentage
STORE_FAST 60 60.0%
PUSH_EXC_INFO 40 40.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 80 100.0%
Successors Count Percentage
STORE_FAST 60 75.0%
RETURN_VALUE 20 25.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_FAST 40 50.0%
LOAD_FAST_LOAD_FAST 40 50.0%
Successors Count Percentage
RESUME_CHECK 60 75.0%
STORE_FAST 20 25.0%

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
LOAD_CONST 80 66.7%
LOAD_FAST 40 33.3%
Successors Count Percentage
POP_TOP 80 66.7%
RESUME_CHECK 40 33.3%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_CONST 40 100.0%
Successors Count Percentage
POP_TOP 40 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_CONST 360 81.8%
CALL 40 9.1%
LOAD_FAST 40 9.1%
Successors Count Percentage
GET_ITER 440 100.0%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 2,048,000 100.0%
LOAD_CONST 160 0.0%
LOAD_FAST 20 0.0%
LOAD_ATTR_SLOT 20 0.0%
Successors Count Percentage
TO_BOOL_BOOL 2,048,040 100.0%
POP_JUMP_IF_NOT_NONE 120 0.0%
POP_TOP 40 0.0%

CALL_BUILTIN_FAST_WITH_KEYWORDS

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

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
LOAD_FAST 20 100.0%
Successors Count Percentage
TO_BOOL_INT 20 100.0%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 2,048,020 66.7%
LOAD_ATTR_MODULE 1,023,960 33.3%
CALL 20 0.0%
Successors Count Percentage
TO_BOOL_BOOL 3,071,980 100.0%
TO_BOOL 20 0.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 60 100.0%
Successors Count Percentage
LOAD_CONST 40 66.7%
TO_BOOL_INT 20 33.3%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
ENTER_EXECUTOR 8,900 86.1%
LOAD_FAST 1,300 12.6%
CALL 40 0.4%
CALL_NON_PY_GENERAL 40 0.4%
LOAD_CONST 20 0.2%
Successors Count Percentage
ENTER_EXECUTOR 9,900 95.7%
JUMP_BACKWARD 320 3.1%
LOAD_FAST_LOAD_FAST 60 0.6%
NOP 40 0.4%
RETURN_CONST 20 0.2%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_CONST 6,143,900 100.0%
LOAD_GLOBAL_MODULE 80 0.0%
CALL 60 0.0%
CALL_TUPLE_1 40 0.0%
LOAD_ATTR_METHOD_NO_DICT 40 0.0%
Successors Count Percentage
LOAD_FAST 4,095,980 66.7%
STORE_FAST 2,048,040 33.3%
TO_BOOL_BOOL 60 0.0%
POP_TOP 40 0.0%
RETURN_VALUE 20 0.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 1,023,960 100.0%
CALL 20 0.0%
Successors Count Percentage
RETURN_VALUE 1,023,980 100.0%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 1,023,960 100.0%
LOAD_CONST 80 0.0%
CALL 20 0.0%
LOAD_ATTR_INSTANCE_VALUE 20 0.0%
Successors Count Percentage
POP_TOP 1,024,000 100.0%
LOAD_CONST 80 0.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
BUILD_LIST 2,047,920 99.9%
PUSH_NULL 1,700 0.1%
LOAD_ATTR_MODULE 300 0.0%
CALL 120 0.0%
LOAD_GLOBAL_MODULE 100 0.0%
Successors Count Percentage
POP_TOP 1,024,340 50.0%
CALL_PY_EXACT_ARGS 1,023,980 49.9%
STORE_FAST 1,720 0.1%
BEFORE_WITH 80 0.0%
CALL 40 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 5,120,100 50.0%
LOAD_FAST_LOAD_FAST 3,071,960 30.0%
LOAD_ATTR_METHOD_WITH_VALUES 1,024,000 10.0%
CALL_NON_PY_GENERAL 1,023,980 10.0%
LOAD_GLOBAL_MODULE 700 0.0%
Successors Count Percentage
RESUME_CHECK 10,241,040 100.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 60 30.0%
LOAD_FAST_LOAD_FAST 60 30.0%
LOAD_ATTR_INSTANCE_VALUE 60 30.0%
BINARY_OP_ADD_UNICODE 20 10.0%
Successors Count Percentage
RESUME_CHECK 200 100.0%

CALL_TUPLE_1

Successors and predecessors for CALL_TUPLE_1
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 40 100.0%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 40 100.0%

COMPARE_OP_FLOAT

Successors and predecessors for COMPARE_OP_FLOAT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 20 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 20 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_FAST 100 71.4%
LOAD_CONST 40 28.6%
Successors Count Percentage
POP_JUMP_IF_FALSE 100 71.4%
RETURN_VALUE 20 14.3%
POP_JUMP_IF_TRUE 20 14.3%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
LOAD_CONST 2,048,020 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 2,048,020 100.0%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_MODULE 80 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 75.0%
STORE_FAST 20 25.0%

CONTAINS_OP_SET

Successors and predecessors for CONTAINS_OP_SET
Predecessors Count Percentage
LOAD_FAST 20 50.0%
LOAD_FAST_LOAD_FAST 20 50.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 20 50.0%
POP_JUMP_IF_TRUE 20 50.0%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 60 50.0%
JUMP_BACKWARD 60 50.0%
Successors Count Percentage
STORE_FAST 100 83.3%
UNPACK_SEQUENCE_TWO_TUPLE 20 16.7%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
JUMP_BACKWARD 600 55.6%
GET_ITER 440 40.7%
FOR_ITER 40 3.7%
Successors Count Percentage
STORE_FAST 1,080 100.0%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
GET_ITER 2,048,000 99.9%
JUMP_BACKWARD 1,920 0.1%
SWAP 20 0.0%
Successors Count Percentage
STORE_FAST 2,048,000 99.9%
LOAD_FAST 1,920 0.1%
STORE_FAST_LOAD_FAST 20 0.0%

LOAD_ATTR_CLASS

Successors and predecessors for LOAD_ATTR_CLASS
Predecessors Count Percentage
LOAD_ATTR_MODULE 2,047,920 100.0%
LOAD_ATTR 40 0.0%
Successors Count Percentage
LOAD_FAST 2,047,960 100.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 16,384,620 100.0%
LOAD_ATTR 260 0.0%
LOAD_FAST_LOAD_FAST 20 0.0%
Successors Count Percentage
LOAD_FAST 5,120,080 31.2%
POP_JUMP_IF_NONE 2,048,040 12.5%
LOAD_CONST 2,048,020 12.5%
LOAD_FAST_LOAD_FAST 2,048,000 12.5%
LOAD_ATTR_METHOD_LAZY_DICT 2,047,920 12.5%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 2,047,920 100.0%
LOAD_ATTR 40 0.0%
Successors Count Percentage
LOAD_FAST 1,023,980 50.0%
CALL_METHOD_DESCRIPTOR_NOARGS 1,023,960 50.0%
CALL 20 0.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_FAST 6,145,380 100.0%
LOAD_ATTR_INSTANCE_VALUE 140 0.0%
LOAD_ATTR 100 0.0%
LOAD_ATTR_MODULE 60 0.0%
LOAD_GLOBAL_MODULE 40 0.0%
Successors Count Percentage
LOAD_CONST 6,144,060 100.0%
LOAD_FAST 1,460 0.0%
LOAD_GLOBAL_MODULE 80 0.0%
CALL_METHOD_DESCRIPTOR_FAST 40 0.0%
LOAD_GLOBAL_BUILTIN 40 0.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 5,119,840 83.3%
LOAD_ATTR_INSTANCE_VALUE 1,024,040 16.7%
LOAD_ATTR 120 0.0%
LOAD_GLOBAL_MODULE 20 0.0%
Successors Count Percentage
LOAD_FAST 5,119,960 83.3%
CALL_PY_EXACT_ARGS 1,024,000 16.7%
LOAD_FAST_LOAD_FAST 40 0.0%
CALL 20 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 9,218,980 69.2%
LOAD_FAST 4,095,980 30.8%
LOAD_ATTR 320 0.0%
Successors Count Percentage
PUSH_NULL 6,146,400 46.2%
LOAD_FAST 4,096,180 30.8%
LOAD_ATTR_CLASS 2,047,920 15.4%
CALL_ISINSTANCE 1,023,960 7.7%
CALL_NON_PY_GENERAL 300 0.0%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 4,095,840 100.0%
LOAD_ATTR 80 0.0%
Successors Count Percentage
BUILD_LIST 2,047,960 50.0%
POP_JUMP_IF_NONE 2,047,960 50.0%

LOAD_ATTR_PROPERTY

Successors and predecessors for LOAD_ATTR_PROPERTY
Predecessors Count Percentage
LOAD_FAST 60 100.0%
Successors Count Percentage
RESUME_CHECK 60 100.0%

LOAD_ATTR_SLOT

Successors and predecessors for LOAD_ATTR_SLOT
Predecessors Count Percentage
LOAD_FAST 1,024,000 50.0%
LOAD_FAST_LOAD_FAST 1,023,960 50.0%
LOAD_ATTR_MODULE 80 0.0%
LOAD_ATTR 40 0.0%
RETURN_VALUE 20 0.0%
Successors Count Percentage
LOAD_FAST 2,048,040 100.0%
LOAD_CONST 20 0.0%
STORE_FAST 20 0.0%
CALL_BUILTIN_FAST 20 0.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
STORE_FAST 4,096,400 44.4%
LOAD_FAST 2,048,020 22.2%
POP_JUMP_IF_FALSE 2,048,020 22.2%
POP_JUMP_IF_NONE 1,023,980 11.1%
POP_JUMP_IF_TRUE 120 0.0%
Successors Count Percentage
LOAD_FAST 3,072,300 33.3%
CALL_ISINSTANCE 2,048,020 22.2%
LOAD_FAST_LOAD_FAST 2,048,000 22.2%
LOAD_GLOBAL_MODULE 2,048,000 22.2%
LOAD_CONST 380 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
RESUME_CHECK 6,145,200 31.6%
STORE_FAST 5,121,060 26.3%
STORE_ATTR_INSTANCE_VALUE 3,071,900 15.8%
LOAD_GLOBAL_BUILTIN 2,048,000 10.5%
POP_JUMP_IF_NONE 2,047,920 10.5%
Successors Count Percentage
LOAD_ATTR_MODULE 9,218,980 47.4%
LOAD_FAST 5,120,300 26.3%
LOAD_ATTR 2,048,260 10.5%
LOAD_FAST_LOAD_FAST 2,048,080 10.5%
CALL 1,024,060 5.3%

LOAD_SUPER_ATTR_ATTR

Successors and predecessors for LOAD_SUPER_ATTR_ATTR
Predecessors Count Percentage
LOAD_FAST 2,047,960 100.0%
LOAD_SUPER_ATTR 20 0.0%
Successors Count Percentage
PUSH_NULL 2,047,980 100.0%

LOAD_SUPER_ATTR_METHOD

Successors and predecessors for LOAD_SUPER_ATTR_METHOD
Predecessors Count Percentage
LOAD_FAST 40 100.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 40 100.0%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CACHE 15,360,260 55.6%
CALL_PY_EXACT_ARGS 10,241,040 37.0%
COPY_FREE_VARS 2,048,100 7.4%
CALL_PY_GENERAL 200 0.0%
CALL_FUNCTION_EX 60 0.0%
Successors Count Percentage
LOAD_FAST 11,264,220 40.7%
LOAD_FAST_LOAD_FAST 10,240,060 37.0%
LOAD_GLOBAL_MODULE 6,145,200 22.2%
LOAD_GLOBAL 140 0.0%
LOAD_DEREF 80 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 22,527,700 52.4%
LOAD_FAST_LOAD_FAST 20,480,040 47.6%
STORE_ATTR 540 0.0%
Successors Count Percentage
RETURN_CONST 14,336,040 33.3%
LOAD_FAST_LOAD_FAST 9,216,160 21.4%
LOAD_FAST 8,192,060 19.0%
LOAD_CONST 7,167,980 16.7%
LOAD_GLOBAL_MODULE 3,071,900 7.1%

STORE_ATTR_SLOT

Successors and predecessors for STORE_ATTR_SLOT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 20 100.0%
Successors Count Percentage
LOAD_FAST 20 100.0%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
LOAD_FAST 40 50.0%
LOAD_ATTR_INSTANCE_VALUE 40 50.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 40 50.0%
NOP 20 25.0%
LOAD_FAST 20 25.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 3,071,980 60.0%
CALL_BUILTIN_FAST 2,048,040 40.0%
LOAD_FAST 140 0.0%
RETURN_VALUE 60 0.0%
CALL_METHOD_DESCRIPTOR_FAST 60 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 3,072,100 60.0%
POP_JUMP_IF_TRUE 2,048,240 40.0%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
LOAD_FAST 2,047,960 100.0%
TO_BOOL 20 0.0%
CALL_BUILTIN_O 20 0.0%
CALL_LEN 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 2,048,000 100.0%
POP_JUMP_IF_TRUE 20 0.0%

TO_BOOL_LIST

Successors and predecessors for TO_BOOL_LIST
Predecessors Count Percentage
LOAD_FAST 20 50.0%
LOAD_ATTR_INSTANCE_VALUE 20 50.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 20 50.0%
POP_JUMP_IF_TRUE 20 50.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_FAST 60 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 100.0%

TO_BOOL_STR

Successors and predecessors for TO_BOOL_STR
Predecessors Count Percentage
LOAD_FAST 40 50.0%
COPY 20 25.0%
STORE_FAST_LOAD_FAST 20 25.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 40 50.0%
POP_JUMP_IF_TRUE 40 50.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
RETURN_VALUE 40 50.0%
UNPACK_SEQUENCE 20 25.0%
FOR_ITER_LIST 20 25.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 80 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.

120 4.4%
hit

Specialized instructions that complete.

2,560 94.1%
miss

Specialized instructions that deopt.

60 2.2%
Success Count Ratio
Success 40 100.0%
Failure 0 0.0%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
hit

Specialized instructions that complete.

180 100.0%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

9,216,900 28.1%
hit

Specialized instructions that complete.

23,564,460 71.9%
miss

Specialized instructions that deopt.

240 0.0%
Success Count Ratio
Success 540 11.9%
Failure 3,980 88.1%
Failure kind Count Ratio
wrong number arguments 3,100 77.9%
class no vectorcall 880 22.1%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

60 0.0%
hit

Specialized instructions that complete.

2,048,180 100.0%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Count Ratio
hit

Specialized instructions that complete.

120 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 0.0%
hit

Specialized instructions that complete.

2,051,140 100.0%
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,049,440 3.8%
deopt

Specialized instructions that deopt.

20 0.0%
hit

Specialized instructions that complete.

52,229,640 96.2%
miss

Specialized instructions that deopt.

280 0.0%
Success Count Ratio
Success 1,000 58.8%
Failure 700 41.2%
Failure kind Count Ratio
metaclass attribute 700 100.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

4,620 0.0%
deopt

Specialized instructions that deopt.

40 0.0%
hit

Specialized instructions that complete.

28,673,540 100.0%
miss

Specialized instructions that deopt.

4,120 0.0%
Success Count Ratio
Success 620 100.0%
Failure 0 0.0%

LOAD_SUPER_ATTR

specialization stats for LOAD_SUPER_ATTR family
Kind Count Ratio
deferred

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

20 0.0%
hit

Specialized instructions that complete.

2,048,020 100.0%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

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

600 0.0%
hit

Specialized instructions that complete.

43,008,300 100.0%
Success Count Ratio
Success 540 100.0%
Failure 0 0.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
hit

Specialized instructions that complete.

80 100.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

100 0.0%
hit

Specialized instructions that complete.

7,168,500 100.0%
miss

Specialized instructions that deopt.

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

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

20 16.7%
hit

Specialized instructions that complete.

80 66.7%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

Specialization effectiveness

specialization effectiveness

All entries are execution counts. Should add up to the total number of Tier 1 instructions executed.

Instructions Count Ratio
Basic

Instructions that are not and cannot be specialized, e.g. LOAD_FAST.

260,141,540 54.5%
Not specialized

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

26,636,480 5.6%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

190,495,080 39.9%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

4,740 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
CALL 9,216,900 81.8%
LOAD_ATTR 2,049,440 18.2%
LOAD_GLOBAL 4,620 0.0%
STORE_ATTR 600 0.0%
BINARY_OP 120 0.0%
TO_BOOL 100 0.0%
COMPARE_OP 60 0.0%
FOR_ITER 40 0.0%
LOAD_SUPER_ATTR 20 0.0%
UNPACK_SEQUENCE 20 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
LOAD_GLOBAL_BUILTIN 3,140 66.2%
LOAD_GLOBAL_MODULE 980 20.7%
LOAD_ATTR_MODULE 240 5.1%
CALL_BOUND_METHOD_EXACT_ARGS 80 1.7%
CALL_PY_EXACT_ARGS 80 1.7%
BINARY_OP_ADD_FLOAT 60 1.3%
CALL_BOUND_METHOD_GENERAL 40 0.8%
LOAD_ATTR_METHOD_WITH_VALUES 40 0.8%
TO_BOOL_NONE 40 0.8%
CALL_ALLOC_AND_ENTER_INIT 20 0.4%

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 17,408,460 60.7%
Calls to Python functions inlined 11,265,100 39.3%
Calls via PyEval_EvalFrame (total) 17,408,460 60.7%
Calls via PyEval_EvalFrame (vector) 17,408,460 60.7%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 17,408,460 60.7%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 160 0.0%
Calls via PyEval_EvalFrame (api) 3,072,060 10.7%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 40 0.0%
Frames pushed 28,673,620 100.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 46,107,960 47.9%
Frees to freelist 46,109,880
Allocations 50,204,140 52.1%
Allocations to 512 bytes 50,204,060 52.1%
Allocations to 4 kbytes 80 0.0%
Allocations over 4 kbytes 0 0.0%
Frees 50,201,882
Inline values 12,288,260
Interpreter increfs 287,852,840 69.2%
Interpreter decrefs 298,142,520 61.1%
Increfs 128,016,393 30.8%
Decrefs 189,461,608 38.9%
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 21,506,514
Method cache misses 986
Method cache collisions 895
Method cache dunder hits 20,484,430
Method cache dunder misses 250

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.

1,140
Traces created

The number of traces that were successfully created.

120 10.5%
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.

600 52.6%
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.

1,020 89.5%
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 0.0%
Traces executed

The number of traces that were executed

8,213,220
Uops executed

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

40,372,120 491.6%
Count Ratio
Optimizer attempts

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

120
Optimizer successes

The number of traces that were successfully optimized.

100 83.3%
Optimizer no memory

The number of optimizations that failed due to no memory.

0 0.0%
Remove globals builtins changed

The builtins changed during optimization

0 0.0%
Remove globals incorrect keys

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

20 16.7%

Trace length histogram

trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 20 16.7%
<= 16 0 0.0%
<= 32 20 16.7%
<= 64 80 66.7%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 20 16.7%
<= 8 0 0.0%
<= 16 0 0.0%
<= 32 60 50.0%
<= 64 20 16.7%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 2,044,800 24.9%
<= 8 2,056,400 25.0%
<= 16 20 0.0%
<= 32 1,022,420 12.4%
<= 64 9,840 0.1%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_EXIT_TRACE 5,133,480 12.7% 12.7%
_START_EXECUTOR 5,133,480 12.7% 25.4%
_COLD_EXIT 3,079,740 7.6% 33.1%
_TIER2_RESUME_CHECK 3,079,720 7.6% 40.7%
_POP_TOP 2,053,780 5.1% 45.8%
_GUARD_NOT_EXHAUSTED_TUPLE 2,046,120 5.1% 50.8% 100.0%
_ITER_CHECK_TUPLE 2,046,120 5.1% 55.9%
_LOAD_FAST_0 2,044,800 5.1% 61.0%
_SET_IP 1,051,960 2.6% 63.6%
_GUARD_NOT_EXHAUSTED_RANGE 1,043,440 2.6% 66.2% 1.0%
_ITER_CHECK_RANGE 1,043,440 2.6% 68.8%
_PUSH_NULL 1,042,080 2.6% 71.3%
_LOAD_CONST_INLINE 1,042,080 2.6% 73.9%
_ITER_NEXT_RANGE 1,033,120 2.6% 76.5%
_STORE_FAST_4 1,033,120 2.6% 79.0%
_CHECK_FUNCTION 1,032,260 2.6% 81.6%
_RESUME_CHECK 1,023,280 2.5% 84.1%
_CHECK_FUNCTION_EXACT_ARGS 1,023,280 2.5% 86.7%
_CHECK_STACK_SPACE_OPERAND 1,023,280 2.5% 89.2%
_INIT_CALL_PY_EXACT_ARGS_0 1,023,280 2.5% 91.7%
_LOAD_CONST_INLINE_WITH_NULL 1,023,280 2.5% 94.3%
_PUSH_FRAME 1,023,280 2.5% 96.8%
_SAVE_RETURN_OFFSET 1,023,280 2.5% 99.3%
_CHECK_PERIODIC 28,680 0.1% 99.4%
_CHECK_VALIDITY 28,680 0.1% 99.5%
_CALL_NON_PY_GENERAL 18,800 0.0% 99.5%
_CHECK_IS_NOT_PY_CALLABLE 18,800 0.0% 99.6%
_LOAD_FAST_5 17,860 0.0% 99.6%
_LOAD_CONST_INLINE_BORROW 9,860 0.0% 99.6%
_GET_ITER 9,840 0.0% 99.7%
_CALL_BUILTIN_CLASS 9,840 0.0% 99.7%
_CHECK_VALIDITY_AND_SET_IP 9,840 0.0% 99.7%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 9,840 0.0% 99.7%
_STORE_FAST_5 9,840 0.0% 99.8%
_GUARD_NOS_FLOAT 8,960 0.0% 99.8% 0.7%
_BINARY_OP_SUBTRACT_FLOAT 8,960 0.0% 99.8%
_GUARD_BOTH_FLOAT 8,960 0.0% 99.8%
_LOAD_FAST 8,960 0.0% 99.8%
_LOAD_FAST_2 8,960 0.0% 99.9%
_STORE_FAST 8,960 0.0% 99.9%
_GUARD_TYPE_VERSION 8,920 0.0% 99.9%
_LOAD_ATTR_METHOD_NO_DICT 8,920 0.0% 99.9%
_BINARY_OP_ADD_FLOAT 8,900 0.0% 100.0%
_LOAD_FAST_3 8,900 0.0% 100.0%
_STORE_FAST_2 8,900 0.0% 100.0%
_LOAD_FAST_1 40 0.0% 100.0%
_STORE_FAST_1 40 0.0% 100.0%
_LIST_APPEND 20 0.0% 100.0%
_SWAP 20 0.0% 100.0%
_TO_BOOL_STR 20 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_FAST 20 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_O 20 0.0% 100.0%
_GUARD_IS_TRUE_POP 20 0.0% 100.0%
_ITER_NEXT_TUPLE 20 0.0% 100.0%
_JUMP_TO_TOP 20 0.0% 100.0%

Pair counts

Pair counts for top 100 Non-JIT uop pairs

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

Pair Count Self Cumulative
_START_EXECUTOR _TIER2_RESUME_CHECK 3,079,700 7.6% 7.6%
_START_EXECUTOR _POP_TOP 2,053,780 5.1% 12.7%
_ITER_CHECK_TUPLE _GUARD_NOT_EXHAUSTED_TUPLE 2,046,120 5.1% 17.8%
_TIER2_RESUME_CHECK _ITER_CHECK_TUPLE 2,046,120 5.1% 22.9%
_GUARD_NOT_EXHAUSTED_TUPLE _EXIT_TRACE 2,046,100 5.1% 27.9%
_POP_TOP _LOAD_FAST_0 2,044,800 5.1% 33.0%
_LOAD_FAST_0 _EXIT_TRACE 2,044,800 5.1% 38.0%
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE 1,043,440 2.6% 40.6%
_LOAD_CONST_INLINE _PUSH_NULL 1,042,080 2.6% 43.2%
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE 1,033,600 2.6% 45.8%
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE 1,033,120 2.6% 48.3%
_ITER_NEXT_RANGE _STORE_FAST_4 1,033,120 2.6% 50.9%
_PUSH_NULL _EXIT_TRACE 1,023,280 2.5% 53.4%
_RESUME_CHECK _LOAD_CONST_INLINE 1,023,280 2.5% 56.0%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 1,023,280 2.5% 58.5%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 1,023,280 2.5% 61.0%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_0 1,023,280 2.5% 63.6%
_INIT_CALL_PY_EXACT_ARGS_0 _SAVE_RETURN_OFFSET 1,023,280 2.5% 66.1%
_LOAD_CONST_INLINE_WITH_NULL _SET_IP 1,023,280 2.5% 68.6%
_PUSH_FRAME _RESUME_CHECK 1,023,280 2.5% 71.2%
_SAVE_RETURN_OFFSET _PUSH_FRAME 1,023,280 2.5% 73.7%
_STORE_FAST_4 _CHECK_FUNCTION 1,023,280 2.5% 76.2%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 1,013,440 2.5% 78.7%
_CHECK_PERIODIC _CHECK_VALIDITY 18,840 0.0% 78.8%
_PUSH_NULL _SET_IP 18,800 0.0% 78.8%
_SET_IP _CHECK_IS_NOT_PY_CALLABLE 18,800 0.0% 78.9%
_CALL_NON_PY_GENERAL _CHECK_PERIODIC 18,800 0.0% 78.9%
_CHECK_FUNCTION _LOAD_CONST_INLINE 18,800 0.0% 79.0%
_CHECK_IS_NOT_PY_CALLABLE _CALL_NON_PY_GENERAL 18,800 0.0% 79.0%
_GUARD_NOT_EXHAUSTED_RANGE _EXIT_TRACE 10,320 0.0% 79.1%
_LOAD_CONST_INLINE_BORROW _SET_IP 9,860 0.0% 79.1%
_GET_ITER _CHECK_VALIDITY 9,840 0.0% 79.1%
_SET_IP _CALL_BUILTIN_CLASS 9,840 0.0% 79.1%
_CALL_BUILTIN_CLASS _CHECK_PERIODIC 9,840 0.0% 79.2%
_CHECK_PERIODIC _CHECK_VALIDITY_AND_SET_IP 9,840 0.0% 79.2%
_CHECK_VALIDITY _ITER_CHECK_RANGE 9,840 0.0% 79.2%
_CHECK_VALIDITY _STORE_FAST_5 9,840 0.0% 79.2%
_CHECK_VALIDITY_AND_SET_IP _GET_ITER 9,840 0.0% 79.3%
_LOAD_CONST_INLINE_BORROW_WITH_NULL _LOAD_CONST_INLINE_BORROW 9,840 0.0% 79.3%
_STORE_FAST_4 _LOAD_CONST_INLINE_WITH_NULL 9,840 0.0% 79.3%
_STORE_FAST_5 _LOAD_CONST_INLINE_BORROW_WITH_NULL 9,840 0.0% 79.3%
_POP_TOP _CHECK_FUNCTION 8,960 0.0% 79.3%
_BINARY_OP_SUBTRACT_FLOAT _GUARD_NOS_FLOAT 8,960 0.0% 79.4%
_CHECK_VALIDITY _STORE_FAST 8,960 0.0% 79.4%
_GUARD_BOTH_FLOAT _BINARY_OP_SUBTRACT_FLOAT 8,960 0.0% 79.4%
_LOAD_FAST _LOAD_FAST_5 8,960 0.0% 79.4%
_LOAD_FAST_2 _LOAD_FAST 8,960 0.0% 79.5%
_LOAD_FAST_5 _GUARD_BOTH_FLOAT 8,960 0.0% 79.5%
_STORE_FAST _LOAD_FAST_2 8,960 0.0% 79.5%
_GUARD_TYPE_VERSION _LOAD_ATTR_METHOD_NO_DICT 8,920 0.0% 79.5%
_BINARY_OP_ADD_FLOAT _STORE_FAST_2 8,900 0.0% 79.5%
_GUARD_NOS_FLOAT _BINARY_OP_ADD_FLOAT 8,900 0.0% 79.6%
_LOAD_ATTR_METHOD_NO_DICT _LOAD_FAST_5 8,900 0.0% 79.6%
_LOAD_FAST_3 _GUARD_TYPE_VERSION 8,900 0.0% 79.6%
_LOAD_FAST_5 _EXIT_TRACE 8,900 0.0% 79.6%
_STORE_FAST_2 _LOAD_FAST_3 8,900 0.0% 79.7%
_GUARD_NOS_FLOAT _EXIT_TRACE 60 0.0% 79.7%
_POP_TOP _SWAP 20 0.0% 79.7%
_LIST_APPEND _JUMP_TO_TOP 20 0.0% 79.7%
_SWAP _STORE_FAST_1 20 0.0% 79.7%
_TO_BOOL_STR _GUARD_IS_TRUE_POP 20 0.0% 79.7%
_SET_IP _CALL_METHOD_DESCRIPTOR_FAST 20 0.0% 79.7%
_SET_IP _CALL_METHOD_DESCRIPTOR_O 20 0.0% 79.7%
_CALL_METHOD_DESCRIPTOR_FAST _CHECK_PERIODIC 20 0.0% 79.7%
_CALL_METHOD_DESCRIPTOR_O _CHECK_PERIODIC 20 0.0% 79.7%
_CHECK_FUNCTION _LOAD_CONST_INLINE_BORROW 20 0.0% 79.7%
_CHECK_VALIDITY _LIST_APPEND 20 0.0% 79.7%
_CHECK_VALIDITY _EXIT_TRACE 20 0.0% 79.7%
_GUARD_IS_TRUE_POP _LOAD_FAST_1 20 0.0% 79.7%
_GUARD_NOT_EXHAUSTED_TUPLE _ITER_NEXT_TUPLE 20 0.0% 79.7%
_ITER_NEXT_TUPLE _STORE_FAST_1 20 0.0% 79.7%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 20 0.0% 79.7%
_LOAD_ATTR_METHOD_NO_DICT _CHECK_FUNCTION 20 0.0% 79.7%
_LOAD_FAST_1 _TO_BOOL_STR 20 0.0% 79.7%
_LOAD_FAST_1 _GUARD_TYPE_VERSION 20 0.0% 79.7%
_STORE_FAST_1 _SET_IP 20 0.0% 79.7%
_STORE_FAST_1 _LOAD_FAST_1 20 0.0% 79.7%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 480
CALL_LIST_APPEND 20

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