Skip to content

Latest commit

 

History

History
10439 lines (9574 loc) · 188 KB

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

File metadata and controls

10439 lines (9574 loc) · 188 KB

Pystats results

  • benchmark: unpickle_pure_python
  • fork: brandtbucher
  • ref: justin-no-externs
  • commit hash: 64b198a
  • commit date: 2024-10-25T10:03:36-07:00

Execution counts

Execution counts for Tier 1 instructions.

The "miss ratio" column shows the percentage of times the instruction executed that it deoptimized. When this happens, the base unspecialized instruction is not counted.

Name Count Self Cumulative Miss ratio
LOAD_FAST 273,723,620 23.1% 23.1%
LOAD_ATTR_INSTANCE_VALUE 89,223,580 7.5% 30.7%
LOAD_CONST 68,166,520 5.8% 36.4%
POP_JUMP_IF_TRUE 58,958,220 5.0% 41.4%
STORE_FAST 58,225,380 4.9% 46.4%
LOAD_GLOBAL_BUILTIN 54,210,600 4.6% 50.9%
RESUME_CHECK 39,903,360 3.4% 54.3%
RETURN_VALUE 39,514,980 3.3% 57.7%
TO_BOOL 38,563,360 3.3% 60.9%
BINARY_SUBSCR 38,563,280 3.3% 64.2%
POP_JUMP_IF_FALSE 38,099,520 3.2% 67.4%
POP_TOP 32,069,420 2.7% 70.1%
CALL_LEN 26,169,000 2.2% 72.3%
BINARY_SUBSCR_DICT 22,771,260 1.9% 74.2%
LOAD_GLOBAL_MODULE 22,239,540 1.9% 76.1%
LOAD_FAST_LOAD_FAST 21,331,900 1.8% 77.9%
CALL_PY_EXACT_ARGS 20,984,300 1.8% 79.7% 62.8%
PUSH_NULL 20,782,920 1.8% 81.5%
RETURN_CONST 20,531,000 1.7% 83.2%
TO_BOOL_BOOL 20,365,840 1.7% 84.9%
ENTER_EXECUTOR 20,281,440 1.7% 86.6%
CALL_ISINSTANCE 20,231,460 1.7% 88.3%
CALL_METHOD_DESCRIPTOR_FAST 18,948,900 1.6% 89.9%
COMPARE_OP_INT 18,825,440 1.6% 91.5% 0.0%
CALL_BOUND_METHOD_EXACT_ARGS 18,803,400 1.6% 93.1%
TO_BOOL_ALWAYS_TRUE 18,473,640 1.6% 94.7% 1.8%
LOAD_ATTR_METHOD_LAZY_DICT 18,467,280 1.6% 96.2%
CALL_BUILTIN_O 11,704,260 1.0% 97.2%
STORE_SUBSCR_DICT 7,730,160 0.7% 97.9%
CALL_BUILTIN_CLASS 7,258,560 0.6% 98.5%
STORE_ATTR_INSTANCE_VALUE 3,168,300 0.3% 98.8%
NOP 2,966,040 0.3% 99.0%
CALL_BUILTIN_FAST 1,708,860 0.1% 99.2%
LOAD_ATTR 1,502,940 0.1% 99.3%
BINARY_SUBSCR_TUPLE_INT 925,680 0.1% 99.4%
LOAD_ATTR_METHOD_NO_DICT 794,640 0.1% 99.4%
BUILD_LIST 652,860 0.1% 99.5%
LOAD_ATTR_METHOD_WITH_VALUES 573,720 0.0% 99.5%
TO_BOOL_NONE 466,620 0.0% 99.6% 70.2%
LOAD_ATTR_MODULE 417,780 0.0% 99.6%
CALL_NON_PY_GENERAL 341,340 0.0% 99.6%
BINARY_SUBSCR_LIST_INT 307,320 0.0% 99.7%
BUILD_MAP 269,040 0.0% 99.7%
CALL_LIST_APPEND 268,800 0.0% 99.7%
SWAP 232,140 0.0% 99.7%
INTERPRETER_EXIT 230,640 0.0% 99.8%
CALL_KW_NON_PY 186,600 0.0% 99.8%
GET_ITER 154,320 0.0% 99.8%
BINARY_OP_ADD_INT 153,660 0.0% 99.8%
FOR_ITER_RANGE 153,660 0.0% 99.8%
POP_JUMP_IF_NONE 142,200 0.0% 99.8%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 134,040 0.0% 99.8%
CALL_PY_GENERAL 119,040 0.0% 99.8%
COMPARE_OP 118,740 0.0% 99.9%
COPY 117,120 0.0% 99.9%
EXIT_INIT_CHECK 115,380 0.0% 99.9%
STORE_SUBSCR 115,320 0.0% 99.9%
STORE_ATTR 115,240 0.0% 99.9%
CHECK_EXC_MATCH 115,200 0.0% 99.9%
POP_EXCEPT 115,200 0.0% 99.9%
PUSH_EXC_INFO 115,200 0.0% 99.9%
DELETE_FAST 115,200 0.0% 99.9%
RAISE_VARARGS 115,200 0.0% 99.9%
UNPACK_SEQUENCE_TUPLE 115,200 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 109,680 0.0% 100.0%
IS_OP 94,680 0.0% 100.0%
BUILD_TUPLE 86,160 0.0% 100.0%
CALL_TYPE_1 85,680 0.0% 100.0%
CALL_FUNCTION_EX 38,580 0.0% 100.0%
CONTAINS_OP 38,540 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_O 25,680 0.0% 100.0%
BINARY_OP 24,160 0.0% 100.0%
JUMP_FORWARD 10,860 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 9,840 0.0% 100.0%
CONTAINS_OP_DICT 9,300 0.0% 100.0%
TO_BOOL_INT 9,120 0.0% 100.0%
CALL_BOUND_METHOD_GENERAL 8,640 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 8,460 0.0% 100.0%
EXTENDED_ARG 8,400 0.0% 100.0%
CALL 1,140 0.0% 100.0%
LOAD_GLOBAL 1,020 0.0% 100.0%
STORE_FAST_STORE_FAST 660 0.0% 100.0%
UNPACK_SEQUENCE_TWO_TUPLE 660 0.0% 100.0%
FOR_ITER 580 0.0% 100.0%
JUMP_BACKWARD 420 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 420 0.0% 100.0%
FOR_ITER_LIST 360 0.0% 100.0%
CALL_KW_PY 180 0.0% 100.0%
LOAD_DEREF 120 0.0% 100.0%
COMPARE_OP_STR 120 0.0% 100.0%
MAKE_FUNCTION 60 0.0% 100.0%
CALL_INTRINSIC_1 60 0.0% 100.0%
COPY_FREE_VARS 60 0.0% 100.0%
LIST_EXTEND 60 0.0% 100.0%
MAKE_CELL 60 0.0% 100.0%
SET_FUNCTION_ATTRIBUTE 60 0.0% 100.0%
STORE_DEREF 60 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%
FOR_ITER_TUPLE 60 0.0% 100.0%
CALL_KW 40 0.0% 100.0%
UNPACK_SEQUENCE 20 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 89,223,200 7.5% 7.5%
STORE_FAST LOAD_FAST 54,563,400 4.6% 12.2%
LOAD_GLOBAL_BUILTIN LOAD_FAST 53,775,360 4.5% 16.7%
RESUME_CHECK LOAD_FAST 39,361,660 3.3% 20.0%
POP_JUMP_IF_TRUE LOAD_GLOBAL_BUILTIN 38,563,380 3.3% 23.3%
LOAD_FAST TO_BOOL 38,553,740 3.3% 26.5%
TO_BOOL POP_JUMP_IF_TRUE 38,553,720 3.3% 29.8%
LOAD_CONST BINARY_SUBSCR 38,553,620 3.3% 33.1%
POP_JUMP_IF_FALSE LOAD_FAST 37,445,220 3.2% 36.2%
LOAD_FAST CALL_LEN 26,159,820 2.2% 38.4%
CALL_PY_EXACT_ARGS RESUME_CHECK 20,735,500 1.8% 40.2%
PUSH_NULL LOAD_FAST 20,618,460 1.7% 41.9%
RETURN_VALUE STORE_FAST 20,429,220 1.7% 43.7%
LOAD_FAST_LOAD_FAST LOAD_CONST 20,384,700 1.7% 45.4%
LOAD_FAST CALL_PY_EXACT_ARGS 20,302,820 1.7% 47.1%
LOAD_FAST LOAD_GLOBAL_MODULE 20,245,840 1.7% 48.8%
POP_JUMP_IF_TRUE LOAD_FAST_LOAD_FAST 20,236,800 1.7% 50.5%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 20,232,120 1.7% 52.2%
CALL_ISINSTANCE TO_BOOL_BOOL 20,231,400 1.7% 54.0%
RETURN_CONST POP_TOP 20,175,920 1.7% 55.7%
LOAD_GLOBAL_MODULE CALL_ISINSTANCE 20,121,780 1.7% 57.4%
BINARY_SUBSCR BINARY_SUBSCR_DICT 20,121,620 1.7% 59.1%
BINARY_SUBSCR_DICT PUSH_NULL 20,121,600 1.7% 60.8%
POP_TOP ENTER_EXECUTOR 20,022,480 1.7% 62.5%
ENTER_EXECUTOR RETURN_VALUE 20,006,400 1.7% 64.1%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST 19,602,420 1.7% 65.8%
CALL_BOUND_METHOD_EXACT_ARGS RESUME_CHECK 18,803,400 1.6% 67.4%
LOAD_FAST RETURN_VALUE 18,701,220 1.6% 69.0%
COMPARE_OP_INT POP_JUMP_IF_FALSE 18,700,220 1.6% 70.6%
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST 18,680,100 1.6% 72.1%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_ALWAYS_TRUE 18,467,460 1.6% 73.7%
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_FALSE 18,467,460 1.6% 75.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_LAZY_DICT 18,457,800 1.6% 76.8%
LOAD_ATTR_METHOD_LAZY_DICT LOAD_FAST 18,457,620 1.6% 78.4%
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST 18,440,700 1.6% 79.9%
CALL_LEN LOAD_FAST 18,432,180 1.6% 81.5%
LOAD_FAST COMPARE_OP_INT 18,432,000 1.6% 83.1%
RETURN_VALUE LOAD_CONST 17,548,800 1.5% 84.5%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 13,601,220 1.1% 85.7%
POP_TOP RETURN_CONST 11,821,460 1.0% 86.7%
CALL_BUILTIN_O POP_TOP 11,673,960 1.0% 87.7%
LOAD_CONST CALL_BOUND_METHOD_EXACT_ARGS 11,596,800 1.0% 88.7%
BINARY_SUBSCR STORE_FAST 10,214,400 0.9% 89.5%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 7,997,220 0.7% 90.2%
LOAD_FAST LOAD_GLOBAL_BUILTIN 7,683,280 0.6% 90.8%
BINARY_SUBSCR LOAD_FAST 7,603,200 0.6% 91.5%
STORE_SUBSCR_DICT RETURN_CONST 7,576,560 0.6% 92.1%
CALL_LEN STORE_SUBSCR_DICT 7,564,800 0.6% 92.8%
LOAD_CONST CALL_BUILTIN_CLASS 7,257,600 0.6% 93.4%
LOAD_CONST LOAD_CONST 7,228,260 0.6% 94.0%
LOAD_FAST CALL_BOUND_METHOD_EXACT_ARGS 7,180,800 0.6% 94.6%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_BUILTIN 7,113,120 0.6% 95.2%
CALL_BUILTIN_CLASS CALL_BUILTIN_O 7,104,000 0.6% 95.8%
NOP LOAD_FAST 2,850,240 0.2% 96.0%
STORE_FAST NOP 2,842,080 0.2% 96.3%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 2,695,940 0.2% 96.5%
LOAD_FAST BINARY_SUBSCR_DICT 2,649,640 0.2% 96.7%
BINARY_SUBSCR_DICT CALL_BUILTIN_O 2,611,200 0.2% 97.0%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 1,613,520 0.1% 97.1%
LOAD_CONST LOAD_FAST 1,559,000 0.1% 97.2%
LOAD_ATTR LOAD_FAST 1,267,740 0.1% 97.3%
LOAD_GLOBAL_MODULE LOAD_CONST 1,051,980 0.1% 97.4%
RETURN_VALUE CALL_BUILTIN_FAST 1,036,800 0.1% 97.5%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR 998,800 0.1% 97.6%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_MODULE 971,660 0.1% 97.7%
LOAD_CONST BINARY_SUBSCR_TUPLE_INT 925,660 0.1% 97.7%
BINARY_SUBSCR_TUPLE_INT CALL_BUILTIN_O 921,600 0.1% 97.8%
CALL_BUILTIN_FAST LOAD_CONST 921,600 0.1% 97.9%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT 738,620 0.1% 98.0%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 620,900 0.1% 98.0%
BINARY_SUBSCR CALL_BUILTIN_O 537,600 0.0% 98.1%
BUILD_LIST LOAD_FAST 537,600 0.0% 98.1%
LOAD_FAST CALL_BUILTIN_FAST 514,400 0.0% 98.2%
LOAD_ATTR_METHOD_NO_DICT CALL_METHOD_DESCRIPTOR_FAST 499,200 0.0% 98.2%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 472,360 0.0% 98.2%
LOAD_FAST LOAD_ATTR 462,520 0.0% 98.3%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_NONE 460,440 0.0% 98.3%
TO_BOOL_NONE POP_JUMP_IF_FALSE 460,440 0.0% 98.4%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 417,440 0.0% 98.4%
LOAD_FAST PUSH_NULL 397,080 0.0% 98.4%
CALL_BUILTIN_FAST RETURN_VALUE 384,000 0.0% 98.5%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 378,660 0.0% 98.5%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 353,300 0.0% 98.5%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 351,200 0.0% 98.5%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 339,360 0.0% 98.6%
LOAD_FAST LOAD_CONST 334,520 0.0% 98.6%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 277,620 0.0% 98.6%
CALL_LIST_APPEND BUILD_LIST 268,800 0.0% 98.7%
CALL_METHOD_DESCRIPTOR_FAST LOAD_FAST 268,800 0.0% 98.7%
LOAD_ATTR_INSTANCE_VALUE CALL_LIST_APPEND 268,800 0.0% 98.7%
LOAD_ATTR_MODULE PUSH_NULL 264,060 0.0% 98.7%
LOAD_GLOBAL_MODULE LOAD_FAST 263,640 0.0% 98.7%
LOAD_FAST_LOAD_FAST LOAD_FAST 263,340 0.0% 98.8%
ENTER_EXECUTOR RETURN_CONST 263,320 0.0% 98.8%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 257,620 0.0% 98.8%
CALL_PY_EXACT_ARGS CALL_PY_EXACT_ARGS 248,740 0.0% 98.8%
STORE_ATTR_INSTANCE_VALUE LOAD_CONST 236,360 0.0% 98.8%
CACHE RESUME_CHECK 230,700 0.0% 98.9%
RETURN_CONST INTERPRETER_EXIT 230,640 0.0% 98.9%
STORE_ATTR_INSTANCE_VALUE BUILD_LIST 230,400 0.0% 98.9%

Predecessor/Successor Pairs

Top 5 predecessors and successors of each Tier 1 opcode.

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

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 230,700 100.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 38,553,620 100.0%
BINARY_SUBSCR 9,640 0.0%
LOAD_FAST 20 0.0%
Successors Count Percentage
BINARY_SUBSCR_DICT 20,121,620 52.2%
STORE_FAST 10,214,400 26.5%
LOAD_FAST 7,603,200 19.7%
CALL_BUILTIN_O 537,600 1.4%
BUILD_TUPLE 76,800 0.2%

CHECK_EXC_MATCH

Successors and predecessors for CHECK_EXC_MATCH
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 115,200 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 115,200 100.0%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 115,380 100.0%
Successors Count Percentage
RETURN_VALUE 115,380 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 153,900 99.7%
LOAD_FAST 420 0.3%
Successors Count Percentage
FOR_ITER_RANGE 153,660 99.6%
FOR_ITER 300 0.2%
FOR_ITER_LIST 300 0.2%
FOR_ITER_TUPLE 60 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_CONST 230,640 100.0%

MAKE_FUNCTION

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

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
STORE_FAST 2,842,080 95.8%
NOP 115,200 3.9%
POP_TOP 7,980 0.3%
STORE_FAST_STORE_FAST 360 0.0%
STORE_ATTR_INSTANCE_VALUE 180 0.0%
Successors Count Percentage
LOAD_FAST 2,850,240 96.1%
NOP 115,200 3.9%
LOAD_GLOBAL_BUILTIN 500 0.0%
LOAD_GLOBAL 60 0.0%
LOAD_GLOBAL_MODULE 40 0.0%

POP_EXCEPT

Successors and predecessors for POP_EXCEPT
Predecessors Count Percentage
SWAP 115,200 100.0%
Successors Count Percentage
LOAD_CONST 115,200 100.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_CONST 20,175,920 62.9%
CALL_BUILTIN_O 11,673,960 36.4%
RETURN_VALUE 141,120 0.4%
CALL_KW_NON_PY 38,460 0.1%
CALL_BUILTIN_FAST 38,400 0.1%
Successors Count Percentage
ENTER_EXECUTOR 20,022,480 62.4%
RETURN_CONST 11,821,460 36.9%
LOAD_FAST 198,060 0.6%
LOAD_FAST_LOAD_FAST 9,120 0.0%
EXTENDED_ARG 8,400 0.0%

PUSH_EXC_INFO

Successors and predecessors for PUSH_EXC_INFO
Predecessors Count Percentage
RAISE_VARARGS 115,200 100.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 115,200 100.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
BINARY_SUBSCR_DICT 20,121,600 96.8%
LOAD_FAST 397,080 1.9%
LOAD_ATTR_MODULE 264,060 1.3%
LOAD_ATTR 120 0.0%
LOAD_DEREF 60 0.0%
Successors Count Percentage
LOAD_FAST 20,618,460 99.2%
LOAD_CONST 153,600 0.7%
LOAD_FAST_LOAD_FAST 8,760 0.0%
LOAD_GLOBAL_MODULE 1,220 0.0%
CALL_NON_PY_GENERAL 700 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
ENTER_EXECUTOR 20,006,400 50.6%
LOAD_FAST 18,701,220 47.3%
CALL_BUILTIN_FAST 384,000 1.0%
EXIT_INIT_CHECK 115,380 0.3%
RETURN_VALUE 115,260 0.3%
Successors Count Percentage
STORE_FAST 20,429,220 51.7%
LOAD_CONST 17,548,800 44.4%
CALL_BUILTIN_FAST 1,036,800 2.6%
POP_TOP 141,120 0.4%
LOAD_FAST 115,440 0.3%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
LOAD_CONST 115,200 99.9%
STORE_SUBSCR 120 0.1%
Successors Count Percentage
RETURN_CONST 115,200 99.9%
STORE_SUBSCR 120 0.1%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 38,553,740 100.0%
TO_BOOL 9,460 0.0%
CALL_ISINSTANCE 60 0.0%
LOAD_ATTR_INSTANCE_VALUE 60 0.0%
CALL_BUILTIN_FAST 20 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 38,553,720 100.0%
TO_BOOL 9,460 0.0%
TO_BOOL_BOOL 120 0.0%
POP_JUMP_IF_FALSE 60 0.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
CALL_BUILTIN_FAST 15,180 62.8%
LOAD_FAST 8,540 35.3%
BINARY_OP 360 1.5%
LOAD_CONST 80 0.3%
Successors Count Percentage
CALL_BOUND_METHOD_EXACT_ARGS 10,940 45.3%
LOAD_FAST 8,520 35.3%
RETURN_VALUE 4,020 16.6%
BINARY_OP 360 1.5%
CALL_BUILTIN_O 180 0.7%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
CALL_LIST_APPEND 268,800 41.2%
STORE_ATTR_INSTANCE_VALUE 230,400 35.3%
LOAD_ATTR_INSTANCE_VALUE 115,200 17.6%
BUILD_TUPLE 38,400 5.9%
LOAD_FAST 60 0.0%
Successors Count Percentage
LOAD_FAST 537,600 82.3%
CALL_BUILTIN_O 115,200 17.6%
LOAD_DEREF 60 0.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 153,600 57.1%
STORE_ATTR_INSTANCE_VALUE 115,380 42.9%
LOAD_FAST 60 0.0%
Successors Count Percentage
CALL_BUILTIN_O 153,600 57.1%
LOAD_FAST 115,380 42.9%
CALL_FUNCTION_EX 60 0.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
BINARY_SUBSCR 76,800 89.1%
LOAD_FAST_LOAD_FAST 9,240 10.7%
LOAD_FAST 120 0.1%
Successors Count Percentage
LOAD_FAST 47,520 55.2%
BUILD_LIST 38,400 44.6%
LOAD_CONST 60 0.1%
STORE_FAST 60 0.1%
CALL_METHOD_DESCRIPTOR_O 40 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 360 31.6%
LOAD_CONST 160 14.0%
LOAD_FAST_LOAD_FAST 120 10.5%
LOAD_GLOBAL_MODULE 120 10.5%
LOAD_GLOBAL_BUILTIN 100 8.8%
Successors Count Percentage
CALL_PY_EXACT_ARGS 220 19.3%
CALL_BUILTIN_FAST 200 17.5%
CALL_PY_GENERAL 140 12.3%
CALL_NON_PY_GENERAL 100 8.8%
CALL_BOUND_METHOD_EXACT_ARGS 80 7.0%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
LOAD_FAST 38,460 99.7%
BUILD_MAP 60 0.2%
CALL_INTRINSIC_1 60 0.2%
Successors Count Percentage
LOAD_FAST 38,400 99.7%
POP_TOP 60 0.2%
RESUME_CHECK 60 0.2%

CALL_INTRINSIC_1

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

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
LOAD_CONST 40 100.0%
Successors Count Percentage
CALL_KW_NON_PY 40 100.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_ATTR_MODULE 115,200 97.0%
LOAD_CONST 1,860 1.6%
COPY 1,520 1.3%
COMPARE_OP 160 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 118,320 99.6%
COMPARE_OP_INT 220 0.2%
COMPARE_OP 160 0.1%
COMPARE_OP_STR 40 0.0%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_FAST 38,460 99.8%
CONTAINS_OP 60 0.2%
LOAD_ATTR_INSTANCE_VALUE 20 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 38,460 99.8%
CONTAINS_OP 60 0.2%
CONTAINS_OP_DICT 20 0.1%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
SWAP 116,940 99.8%
LOAD_FAST 180 0.2%
Successors Count Percentage
COMPARE_OP_INT 115,420 98.5%
COMPARE_OP 1,520 1.3%
TO_BOOL_BOOL 180 0.2%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 60 100.0%
Successors Count Percentage
RESUME_CHECK 60 100.0%

DELETE_FAST

Successors and predecessors for DELETE_FAST
Predecessors Count Percentage
STORE_FAST 115,200 100.0%
Successors Count Percentage
RETURN_VALUE 115,200 100.0%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
POP_TOP 8,400 100.0%
Successors Count Percentage
JUMP_FORWARD 8,400 100.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 300 51.7%
JUMP_BACKWARD 240 41.4%
FOR_ITER 40 6.9%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 360 62.1%
LOAD_GLOBAL_BUILTIN 120 20.7%
LOAD_FAST 60 10.3%
FOR_ITER 40 6.9%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 85,500 90.3%
LOAD_GLOBAL_MODULE 8,880 9.4%
CALL_TYPE_1 180 0.2%
LOAD_CONST 60 0.1%
LOAD_FAST 60 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 56,220 59.4%
POP_JUMP_IF_TRUE 38,400 40.6%
STORE_FAST 60 0.1%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_TOP 360 85.7%
STORE_FAST 60 14.3%
Successors Count Percentage
FOR_ITER 240 57.1%
CALL_BUILTIN_O 60 14.3%
CALL_PY_EXACT_ARGS 60 14.3%
FOR_ITER_LIST 60 14.3%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
EXTENDED_ARG 8,400 77.3%
POP_JUMP_IF_FALSE 1,440 13.3%
POP_TOP 900 8.3%
STORE_FAST 120 1.1%
Successors Count Percentage
LOAD_FAST 10,380 95.6%
LOAD_FAST_LOAD_FAST 420 3.9%
LOAD_GLOBAL_BUILTIN 40 0.4%
LOAD_GLOBAL 20 0.2%

LIST_EXTEND

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

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 998,800 66.5%
LOAD_FAST 462,520 30.8%
LOAD_GLOBAL_BUILTIN 38,400 2.6%
LOAD_ATTR 3,020 0.2%
LOAD_GLOBAL_MODULE 160 0.0%
Successors Count Percentage
LOAD_FAST 1,267,740 84.4%
STORE_FAST 115,800 7.7%
SWAP 115,200 7.7%
LOAD_ATTR 3,020 0.2%
LOAD_ATTR_INSTANCE_VALUE 340 0.0%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 20,384,700 29.9%
LOAD_ATTR_INSTANCE_VALUE 19,602,420 28.8%
RETURN_VALUE 17,548,800 25.7%
LOAD_CONST 7,228,260 10.6%
LOAD_GLOBAL_MODULE 1,051,980 1.5%
Successors Count Percentage
BINARY_SUBSCR 38,553,620 56.6%
CALL_BOUND_METHOD_EXACT_ARGS 11,596,800 17.0%
CALL_BUILTIN_CLASS 7,257,600 10.6%
LOAD_CONST 7,228,260 10.6%
LOAD_FAST 1,559,000 2.3%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
BUILD_LIST 60 50.0%
RESUME_CHECK 60 50.0%
Successors Count Percentage
PUSH_NULL 60 50.0%
LIST_EXTEND 60 50.0%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
STORE_FAST 54,563,400 19.9%
LOAD_GLOBAL_BUILTIN 53,775,360 19.6%
RESUME_CHECK 39,361,660 14.4%
POP_JUMP_IF_FALSE 37,445,220 13.7%
PUSH_NULL 20,618,460 7.5%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 89,223,200 32.6%
TO_BOOL 38,553,740 14.1%
CALL_LEN 26,159,820 9.6%
CALL_PY_EXACT_ARGS 20,302,820 7.4%
LOAD_GLOBAL_MODULE 20,245,840 7.4%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
POP_JUMP_IF_TRUE 20,236,800 94.9%
STORE_ATTR_INSTANCE_VALUE 351,200 1.6%
STORE_FAST 153,660 0.7%
BINARY_SUBSCR_LIST_INT 153,600 0.7%
RESUME_CHECK 120,980 0.6%
Successors Count Percentage
LOAD_CONST 20,384,700 95.6%
STORE_ATTR_INSTANCE_VALUE 472,360 2.2%
LOAD_FAST 263,340 1.2%
STORE_ATTR 115,200 0.5%
CALL_PY_EXACT_ARGS 47,380 0.2%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
LOAD_FAST 220 21.6%
STORE_FAST 140 13.7%
PUSH_NULL 100 9.8%
POP_JUMP_IF_FALSE 80 7.8%
NOP 60 5.9%
Successors Count Percentage
LOAD_GLOBAL_MODULE 520 51.0%
LOAD_GLOBAL_BUILTIN 500 49.0%

MAKE_CELL

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

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 18,700,220 49.1%
TO_BOOL_ALWAYS_TRUE 18,467,460 48.5%
TO_BOOL_NONE 460,440 1.2%
TO_BOOL_BOOL 133,720 0.4%
COMPARE_OP 118,320 0.3%
Successors Count Percentage
LOAD_FAST 37,445,220 98.3%
LOAD_GLOBAL_MODULE 353,300 0.9%
LOAD_GLOBAL_BUILTIN 133,220 0.3%
STORE_FAST 115,200 0.3%
LOAD_CONST 41,640 0.1%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 142,200 100.0%
Successors Count Percentage
LOAD_CONST 115,200 81.0%
LOAD_FAST 17,940 12.6%
LOAD_GLOBAL_BUILTIN 8,780 6.2%
LOAD_FAST_LOAD_FAST 180 0.1%
RETURN_CONST 60 0.0%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 420 100.0%
Successors Count Percentage
LOAD_FAST 180 42.9%
NOP 60 14.3%
LOAD_CONST 60 14.3%
LOAD_GLOBAL 40 9.5%
LOAD_GLOBAL_BUILTIN 40 9.5%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL 38,553,720 65.4%
TO_BOOL_BOOL 20,232,120 34.3%
COMPARE_OP_INT 124,860 0.2%
IS_OP 38,400 0.1%
CONTAINS_OP_DICT 9,120 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 38,563,380 65.4%
LOAD_FAST_LOAD_FAST 20,236,800 34.3%
LOAD_GLOBAL_MODULE 109,500 0.2%
LOAD_FAST 48,180 0.1%
RETURN_CONST 240 0.0%

RAISE_VARARGS

Successors and predecessors for RAISE_VARARGS
Predecessors Count Percentage
CALL_NON_PY_GENERAL 115,200 100.0%
Successors Count Percentage
PUSH_EXC_INFO 115,200 100.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
POP_TOP 11,821,460 57.6%
STORE_SUBSCR_DICT 7,576,560 36.9%
STORE_ATTR_INSTANCE_VALUE 620,900 3.0%
ENTER_EXECUTOR 263,320 1.3%
STORE_SUBSCR 115,200 0.6%
Successors Count Percentage
POP_TOP 20,175,920 98.3%
INTERPRETER_EXIT 230,640 1.1%
EXIT_INIT_CHECK 115,380 0.6%
STORE_FAST 9,000 0.0%
RETURN_VALUE 60 0.0%

SET_FUNCTION_ATTRIBUTE

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

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 115,200 100.0%
STORE_ATTR 40 0.0%
Successors Count Percentage
RETURN_CONST 115,200 100.0%
STORE_ATTR 40 0.0%

STORE_DEREF

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

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 20,429,220 35.1%
CALL_METHOD_DESCRIPTOR_FAST 18,680,100 32.1%
BINARY_SUBSCR 10,214,400 17.5%
LOAD_ATTR_INSTANCE_VALUE 7,997,220 13.7%
FOR_ITER_RANGE 153,660 0.3%
Successors Count Percentage
LOAD_FAST 54,563,400 93.7%
NOP 2,842,080 4.9%
LOAD_GLOBAL_MODULE 224,960 0.4%
LOAD_GLOBAL_BUILTIN 210,080 0.4%
LOAD_FAST_LOAD_FAST 153,660 0.3%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 660 100.0%
Successors Count Percentage
NOP 360 54.5%
LOAD_FAST 300 45.5%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST 116,940 50.4%
LOAD_ATTR 115,200 49.6%
Successors Count Percentage
COPY 116,940 50.4%
POP_EXCEPT 115,200 49.6%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
CALL_METHOD_DESCRIPTOR_NOARGS 20 100.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 20 100.0%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 153,640 100.0%
BINARY_OP 20 0.0%
Successors Count Percentage
BINARY_SUBSCR_LIST_INT 153,600 100.0%
STORE_FAST 60 0.0%

BINARY_OP_SUBTRACT_FLOAT

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

BINARY_SUBSCR_DICT

Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors Count Percentage
BINARY_SUBSCR 20,121,620 88.4%
LOAD_FAST 2,649,640 11.6%
Successors Count Percentage
PUSH_NULL 20,121,600 88.4%
CALL_BUILTIN_O 2,611,200 11.5%
LOAD_FAST 38,400 0.2%
STORE_FAST 60 0.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 153,720 50.0%
BINARY_OP_ADD_INT 153,600 50.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 153,600 50.0%
STORE_SUBSCR_DICT 153,600 50.0%
CALL_BOUND_METHOD_EXACT_ARGS 120 0.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 925,660 100.0%
BINARY_SUBSCR 20 0.0%
Successors Count Percentage
CALL_BUILTIN_O 921,600 99.6%
CALL_PY_EXACT_ARGS 4,020 0.4%
STORE_FAST 60 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 109,680 100.0%
Successors Count Percentage
ENTER_EXECUTOR 104,160 95.0%
RESUME_CHECK 5,520 5.0%

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
LOAD_CONST 11,596,800 61.7%
LOAD_FAST 7,180,800 38.2%
RETURN_VALUE 13,140 0.1%
BINARY_OP 10,940 0.1%
LOAD_GLOBAL_MODULE 1,520 0.0%
Successors Count Percentage
RESUME_CHECK 18,803,400 100.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_FAST 8,600 99.5%
CALL 40 0.5%
Successors Count Percentage
RESUME_CHECK 8,640 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_CONST 7,257,600 100.0%
CALL_NON_PY_GENERAL 420 0.0%
LOAD_FAST 340 0.0%
LOAD_FAST_LOAD_FAST 180 0.0%
CALL 20 0.0%
Successors Count Percentage
CALL_BUILTIN_O 7,104,000 97.9%
GET_ITER 153,900 2.1%
STORE_FAST 480 0.0%
LOAD_FAST 180 0.0%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
RETURN_VALUE 1,036,800 60.7%
LOAD_FAST 514,400 30.1%
LOAD_CONST 109,800 6.4%
LOAD_FAST_LOAD_FAST 38,440 2.2%
LOAD_GLOBAL_MODULE 8,820 0.5%
Successors Count Percentage
LOAD_CONST 921,600 53.9%
RETURN_VALUE 384,000 22.5%
CALL_NON_PY_GENERAL 115,200 6.7%
UNPACK_SEQUENCE_TUPLE 115,200 6.7%
TO_BOOL_BOOL 109,720 6.4%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
CALL_BUILTIN_CLASS 7,104,000 60.7%
BINARY_SUBSCR_DICT 2,611,200 22.3%
BINARY_SUBSCR_TUPLE_INT 921,600 7.9%
BINARY_SUBSCR 537,600 4.6%
BUILD_MAP 153,600 1.3%
Successors Count Percentage
POP_TOP 11,673,960 99.7%
STORE_SUBSCR_DICT 11,760 0.1%
LOAD_FAST 9,300 0.1%
CALL_METHOD_DESCRIPTOR_FAST 8,940 0.1%
RETURN_VALUE 180 0.0%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 20,121,780 99.5%
LOAD_GLOBAL_BUILTIN 109,620 0.5%
CALL 60 0.0%
Successors Count Percentage
TO_BOOL_BOOL 20,231,400 100.0%
TO_BOOL 60 0.0%

CALL_KW_NON_PY

Successors and predecessors for CALL_KW_NON_PY
Predecessors Count Percentage
LOAD_CONST 186,560 100.0%
CALL_KW 40 0.0%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 109,680 58.8%
POP_TOP 38,460 20.6%
RETURN_VALUE 38,400 20.6%
STORE_FAST 60 0.0%

CALL_KW_PY

Successors and predecessors for CALL_KW_PY
Predecessors Count Percentage
LOAD_CONST 180 100.0%
Successors Count Percentage
RESUME_CHECK 180 100.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 26,159,820 100.0%
LOAD_ATTR_INSTANCE_VALUE 9,120 0.0%
CALL 60 0.0%
Successors Count Percentage
LOAD_FAST 18,432,180 70.4%
STORE_SUBSCR_DICT 7,564,800 28.9%
LOAD_CONST 153,600 0.6%
STORE_FAST 18,240 0.1%
CALL_BUILTIN_FAST 180 0.0%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 268,800 100.0%
Successors Count Percentage
BUILD_LIST 268,800 100.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_FAST 18,440,700 97.3%
LOAD_ATTR_METHOD_NO_DICT 499,200 2.6%
CALL_BUILTIN_O 8,940 0.0%
LOAD_GLOBAL_MODULE 40 0.0%
CALL 20 0.0%
Successors Count Percentage
STORE_FAST 18,680,100 98.6%
LOAD_FAST 268,800 1.4%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_CONST 8,440 99.8%
CALL 20 0.2%
Successors Count Percentage
STORE_FAST 8,460 100.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 9,480 96.3%
LOAD_ATTR_METHOD_NO_DICT 320 3.3%
CALL 40 0.4%
Successors Count Percentage
LOAD_FAST 9,360 95.1%
LOAD_CONST 240 2.4%
STORE_FAST 180 1.8%
UNPACK_SEQUENCE_TWO_TUPLE 40 0.4%
UNPACK_SEQUENCE 20 0.2%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 25,620 99.8%
BUILD_TUPLE 40 0.2%
CALL 20 0.1%
Successors Count Percentage
RETURN_VALUE 25,620 99.8%
POP_TOP 60 0.2%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 224,700 65.8%
CALL_BUILTIN_FAST 115,200 33.7%
PUSH_NULL 700 0.2%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 420 0.1%
LOAD_ATTR_METHOD_LAZY_DICT 180 0.1%
Successors Count Percentage
LOAD_FAST 115,620 33.9%
RAISE_VARARGS 115,200 33.7%
STORE_FAST 109,920 32.2%
CALL_BUILTIN_CLASS 420 0.1%
POP_TOP 60 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 20,302,820 96.8%
LOAD_ATTR_METHOD_WITH_VALUES 378,660 1.8%
CALL_PY_EXACT_ARGS 248,740 1.2%
LOAD_FAST_LOAD_FAST 47,380 0.2%
BINARY_SUBSCR_TUPLE_INT 4,020 0.0%
Successors Count Percentage
RESUME_CHECK 20,735,500 98.8%
CALL_PY_EXACT_ARGS 248,740 1.2%
COPY_FREE_VARS 60 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 109,800 92.2%
LOAD_ATTR_METHOD_WITH_VALUES 8,940 7.5%
CALL 140 0.1%
LOAD_ATTR 120 0.1%
LOAD_CONST 40 0.0%
Successors Count Percentage
RESUME_CHECK 118,980 99.9%
MAKE_CELL 60 0.1%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_FAST 85,500 99.8%
LOAD_CONST 80 0.1%
CALL 60 0.1%
LOAD_GLOBAL_BUILTIN 40 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 76,800 89.6%
STORE_FAST 8,700 10.2%
IS_OP 180 0.2%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_FAST 18,432,000 97.9%
LOAD_CONST 152,700 0.8%
COPY 115,420 0.6%
LOAD_GLOBAL_MODULE 115,380 0.6%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 9,720 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 18,700,220 99.3%
POP_JUMP_IF_TRUE 124,860 0.7%
LOAD_FAST 360 0.0%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
LOAD_CONST 80 66.7%
COMPARE_OP 40 33.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 120 100.0%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 9,160 98.5%
LOAD_FAST 120 1.3%
CONTAINS_OP 20 0.2%
Successors Count Percentage
POP_JUMP_IF_TRUE 9,120 98.1%
POP_JUMP_IF_FALSE 180 1.9%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 300 83.3%
JUMP_BACKWARD 60 16.7%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 240 66.7%
LOAD_FAST 60 16.7%
STORE_FAST 60 16.7%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 153,660 100.0%
Successors Count Percentage
STORE_FAST 153,660 100.0%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
GET_ITER 60 100.0%
Successors Count Percentage
STORE_FAST 60 100.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 89,223,200 100.0%
LOAD_ATTR 340 0.0%
LOAD_FAST_LOAD_FAST 40 0.0%
Successors Count Percentage
LOAD_CONST 19,602,420 22.0%
TO_BOOL_ALWAYS_TRUE 18,467,460 20.7%
LOAD_ATTR_METHOD_LAZY_DICT 18,457,800 20.7%
LOAD_FAST 13,601,220 15.2%
STORE_FAST 7,997,220 9.0%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 18,457,800 99.9%
LOAD_FAST 9,480 0.1%
Successors Count Percentage
LOAD_FAST 18,457,620 99.9%
CALL_METHOD_DESCRIPTOR_NOARGS 9,480 0.1%
CALL_NON_PY_GENERAL 180 0.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 738,620 93.0%
LOAD_FAST 47,160 5.9%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 8,700 1.1%
LOAD_ATTR 120 0.0%
CALL_BUILTIN_FAST 40 0.0%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 499,200 62.8%
LOAD_FAST 277,620 34.9%
LOAD_GLOBAL_BUILTIN 8,940 1.1%
LOAD_CONST 8,460 1.1%
CALL_METHOD_DESCRIPTOR_NOARGS 320 0.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 339,360 59.2%
LOAD_ATTR_INSTANCE_VALUE 124,500 21.7%
CALL_KW_NON_PY 109,680 19.1%
LOAD_ATTR 180 0.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 378,660 66.0%
LOAD_FAST 147,300 25.7%
LOAD_FAST_LOAD_FAST 38,640 6.7%
CALL_PY_GENERAL 8,940 1.6%
LOAD_CONST 180 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 417,440 99.9%
LOAD_ATTR 180 0.0%
LOAD_FAST 160 0.0%
Successors Count Percentage
PUSH_NULL 264,060 63.2%
COMPARE_OP 115,200 27.6%
LOAD_FAST 38,460 9.2%
STORE_FAST 60 0.0%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 133,200 99.4%
LOAD_FAST_LOAD_FAST 840 0.6%
Successors Count Percentage
STORE_FAST 115,200 85.9%
COMPARE_OP_INT 9,720 7.3%
LOAD_ATTR_METHOD_NO_DICT 8,700 6.5%
CALL_NON_PY_GENERAL 420 0.3%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
POP_JUMP_IF_TRUE 38,563,380 71.1%
LOAD_FAST 7,683,280 14.2%
LOAD_ATTR_INSTANCE_VALUE 7,113,120 13.1%
RESUME_CHECK 257,620 0.5%
STORE_FAST 210,080 0.4%
Successors Count Percentage
LOAD_FAST 53,775,360 99.2%
LOAD_CONST 153,720 0.3%
CALL_ISINSTANCE 109,620 0.2%
IS_OP 85,500 0.2%
LOAD_GLOBAL_MODULE 38,820 0.1%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_FAST 20,245,840 91.0%
LOAD_ATTR_INSTANCE_VALUE 971,660 4.4%
POP_JUMP_IF_FALSE 353,300 1.6%
STORE_FAST 224,960 1.0%
RESUME_CHECK 154,040 0.7%
Successors Count Percentage
CALL_ISINSTANCE 20,121,780 90.5%
LOAD_CONST 1,051,980 4.7%
LOAD_ATTR_MODULE 417,440 1.9%
LOAD_FAST 263,640 1.2%
COMPARE_OP_INT 115,380 0.5%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 20,735,500 52.0%
CALL_BOUND_METHOD_EXACT_ARGS 18,803,400 47.1%
CACHE 230,700 0.6%
CALL_PY_GENERAL 118,980 0.3%
CALL_BOUND_METHOD_GENERAL 8,640 0.0%
Successors Count Percentage
LOAD_FAST 39,361,660 98.6%
LOAD_GLOBAL_BUILTIN 257,620 0.6%
LOAD_GLOBAL_MODULE 154,040 0.4%
LOAD_FAST_LOAD_FAST 120,980 0.3%
RETURN_CONST 8,940 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 2,695,940 85.1%
LOAD_FAST_LOAD_FAST 472,360 14.9%
Successors Count Percentage
LOAD_FAST 1,613,520 50.9%
RETURN_CONST 620,900 19.6%
LOAD_FAST_LOAD_FAST 351,200 11.1%
LOAD_CONST 236,360 7.5%
BUILD_LIST 230,400 7.3%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
CALL_LEN 7,564,800 97.9%
BINARY_SUBSCR_LIST_INT 153,600 2.0%
CALL_BUILTIN_O 11,760 0.2%
Successors Count Percentage
RETURN_CONST 7,576,560 98.0%
ENTER_EXECUTOR 153,600 2.0%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 18,467,460 100.0%
TO_BOOL_NONE 6,180 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 18,467,460 100.0%
TO_BOOL_NONE 6,180 0.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 20,231,400 99.3%
CALL_BUILTIN_FAST 109,720 0.5%
LOAD_ATTR_INSTANCE_VALUE 15,220 0.1%
LOAD_FAST 9,160 0.0%
COPY 180 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 20,232,120 99.3%
POP_JUMP_IF_FALSE 133,720 0.7%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 9,120 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 9,120 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 460,440 98.7%
TO_BOOL_ALWAYS_TRUE 6,180 1.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 460,440 98.7%
TO_BOOL_ALWAYS_TRUE 6,180 1.3%

UNPACK_SEQUENCE_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TUPLE
Predecessors Count Percentage
CALL_BUILTIN_FAST 115,200 100.0%
Successors Count Percentage
STORE_FAST 115,200 100.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
FOR_ITER 360 54.5%
FOR_ITER_LIST 240 36.4%
CALL_METHOD_DESCRIPTOR_NOARGS 40 6.1%
UNPACK_SEQUENCE 20 3.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 660 100.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_TOP 20,022,480 98.7%
STORE_SUBSCR_DICT 153,600 0.8%
CALL_ALLOC_AND_ENTER_INIT 104,160 0.5%
ENTER_EXECUTOR 1,200 0.0%
Successors Count Percentage
RETURN_VALUE 20,006,400 98.6%
RETURN_CONST 263,320 1.3%
LOAD_FAST 4,160 0.0%
CALL_BUILTIN_O 2,580 0.0%
CALL_PY_EXACT_ARGS 2,320 0.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.

23,760 0.5%
hit

Specialized instructions that complete.

5,068,920 99.5%
Success Count Ratio
Success 40 10.0%
Failure 360 90.0%
Failure kind Count Ratio
add other 340 94.4%
rshift 20 5.6%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

38,553,600 53.3%
hit

Specialized instructions that complete.

33,834,720 46.7%
Success Count Ratio
Success 40 0.4%
Failure 9,640 99.6%
Failure kind Count Ratio
buffer int 7,540 78.2%
out of range 2,100 21.8%

CALL

specialization stats for CALL family
Kind Count Ratio
hit

Specialized instructions that complete.

211,963,160 94.1%
miss

Specialized instructions that deopt.

13,182,440 5.9%
Success Count Ratio
Success 249,920 100.0%
Failure 0 0.0%

CALL_KW

specialization stats for CALL_KW family

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

118,320 0.3%
hit

Specialized instructions that complete.

38,734,440 99.7%
miss

Specialized instructions that deopt.

540 0.0%
Success Count Ratio
Success 260 61.9%
Failure 160 38.1%
Failure kind Count Ratio
big int 160 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.

38,460 76.1%
hit

Specialized instructions that complete.

12,000 23.7%
Success Count Ratio
Success 20 25.0%
Failure 60 75.0%
Failure kind Count Ratio
str 40 66.7%
list 20 33.3%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

540 0.3%
hit

Specialized instructions that complete.

154,080 99.6%
Success Count Ratio
Success 0 0.0%
Failure 40 100.0%
Failure kind Count Ratio
enumerate 40 100.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

1,499,100 0.9%
hit

Specialized instructions that complete.

169,676,100 99.1%
Success Count Ratio
Success 3,100 80.7%
Failure 740 19.3%
Failure kind Count Ratio
method 680 91.9%
builtin class method 40 5.4%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
hit

Specialized instructions that complete.

76,450,140 100.0%
Success Count Ratio
Success 1,020 100.0%
Failure 0 0.0%

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

115,200 3.2%
hit

Specialized instructions that complete.

3,497,100 96.8%
Success Count Ratio
Success 0 0.0%
Failure 40 100.0%
Failure kind Count Ratio
not managed dict 40 100.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

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

115,200 0.9%
hit

Specialized instructions that complete.

12,645,420 99.1%
Success Count Ratio
Success 0 0.0%
Failure 120 100.0%
Failure kind Count Ratio
out of range 80 66.7%
list slice 40 33.3%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

38,553,780 64.4%
hit

Specialized instructions that complete.

20,655,780 34.5%
miss

Specialized instructions that deopt.

655,620 1.1%
Success Count Ratio
Success 12,480 56.9%
Failure 9,460 43.1%
Failure kind Count Ratio
bytes 9,420 99.6%
sequence 20 0.2%
tuple 20 0.2%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
hit

Specialized instructions that complete.

125,160 100.0%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

Specialization effectiveness

specialization effectiveness

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

Instructions Count Ratio
Basic

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

657,381,380 55.6%
Not specialized

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

79,044,380 6.7%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

432,575,080 36.6%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

13,838,600 1.2%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
TO_BOOL 38,553,780 48.8%
BINARY_SUBSCR 38,553,600 48.8%
LOAD_ATTR 1,499,100 1.9%
COMPARE_OP 118,320 0.1%
STORE_SUBSCR 115,200 0.1%
STORE_ATTR 115,200 0.1%
CONTAINS_OP 38,460 0.0%
BINARY_OP 23,760 0.0%
FOR_ITER 540 0.0%
BINARY_SLICE 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
CALL_PY_EXACT_ARGS 13,182,440 95.3%
TO_BOOL_ALWAYS_TRUE 328,080 2.4%
TO_BOOL_NONE 327,540 2.4%
COMPARE_OP_INT 540 0.0%
CACHE 0 0.0%
CHECK_EXC_MATCH 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%
INTERPRETER_EXIT 0 0.0%
MAKE_FUNCTION 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 230,700 0.4%
Calls to Python functions inlined 59,841,960 99.6%
Calls via PyEval_EvalFrame (total) 230,700 0.4%
Calls via PyEval_EvalFrame (vector) 230,700 0.4%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 230,700 0.4%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 60 0.0%
Calls via PyEval_EvalFrame (api) 0 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 230,400 0.4%
Frames pushed 60,188,040 100.2%

Object stats

Allocations, frees and dict materializatons

Below, "allocations" means "allocations that are not from a freelist". Total allocations = "Allocations from freelist" + "Allocations".

"Inline values" is the number of values arrays inlined into objects.

The cache hit/miss numbers are for the MRO cache, split into dunder and other names.

Count Ratio
Allocations from freelist 3,248,340 14.2%
Frees to freelist 3,248,280
Allocations 19,691,700 85.8%
Allocations to 512 bytes 19,191,860 83.7%
Allocations to 4 kbytes 461,240 2.0%
Allocations over 4 kbytes 38,600 0.2%
Frees 20,189,780
Inline values 230,760
Interpreter mortal increfs 461,824,420 37.8%
Interpreter mortal decrefs 562,483,080 40.1%
Mortal increfs 316,472,507 25.9%
Mortal decrefs 237,176,553 16.9%
Interpreter immortal increfs 230,913,080 18.9%
Interpreter immortal decrefs 363,104,660 25.9%
Immortal increfs 213,021,041 17.4%
Immortal decrefs 238,392,297 17.0%
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 1,820,859
Method cache misses 42,101
Method cache collisions 44,973
Method cache dunder hits 389,698
Method cache dunder misses 2,982

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

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

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer
Count Ratio
Optimization attempts

The number of times a potential trace is identified. Specifically, this occurs in the JUMP BACKWARD instruction when the counter reaches a threshold.

5,340
Traces created

The number of traces that were successfully created.

280 5.2%
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.

5,200 97.4%
Trace too long

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

80 1.5%
Trace too short

A potential trace is abandoced because it it too short.

5,060 94.8%
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.

20 0.4%
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

40,448,320
Uops executed

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

1,282,083,060 3,169.7%
Count Ratio
Optimizer attempts

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

280
Optimizer successes

The number of traces that were successfully optimized.

280 100.0%
Optimizer no memory

The number of optimizations that failed due to no memory.

0 0.0%
Remove globals builtins changed

The builtins changed during optimization

0 0.0%
Remove globals incorrect keys

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

0 0.0%

Trace length histogram

trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 20 7.1%
<= 16 40 14.3%
<= 32 20 7.1%
<= 64 0 0.0%
<= 128 60 21.4%
<= 256 0 0.0%
<= 512 60 21.4%
<= 1,024 80 28.6%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 20 7.1%
<= 8 0 0.0%
<= 16 40 14.3%
<= 32 20 7.1%
<= 64 0 0.0%
<= 128 60 21.4%
<= 256 60 21.4%
<= 512 80 28.6%

Trace run length histogram

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

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_SET_IP 109,940,360 8.6% 8.6%
_CHECK_VALIDITY 84,981,480 6.6% 15.2%
_GUARD_TYPE_VERSION 79,996,380 6.2% 21.4%
_LOAD_FAST_1 69,908,360 5.5% 26.9%
_LOAD_FAST_2 64,724,200 5.0% 31.9%
_MAKE_WARM 45,363,520 3.5% 35.5%
_CHECK_PERIODIC 45,168,600 3.5% 39.0%
_LOAD_FAST_0 40,483,460 3.2% 42.2%
_START_EXECUTOR 40,448,320 3.2% 45.3%
_EXIT_TRACE 40,442,620 3.2% 48.5%
_CHECK_MANAGED_OBJECT_HAS_VALUES 40,097,120 3.1% 51.6%
_LOAD_ATTR_INSTANCE_VALUE_0 39,976,460 3.1% 54.7%
_GUARD_IS_TRUE_POP 39,823,080 3.1% 57.8% 0.0%
_LOAD_CONST_INLINE_BORROW 25,089,300 2.0% 59.8%
_PUSH_FRAME 20,065,400 1.6% 61.3%
_RESUME_CHECK 20,059,700 1.6% 62.9%
_SAVE_RETURN_OFFSET 20,059,700 1.6% 64.5%
_CHECK_FUNCTION_VERSION 20,052,800 1.6% 66.0% 0.0%
_CHECK_FUNCTION_EXACT_ARGS 20,035,400 1.6% 67.6%
_PUSH_NULL 20,032,560 1.6% 69.2%
_INIT_CALL_PY_EXACT_ARGS_1 20,026,620 1.6% 70.7%
_CHECK_STACK_SPACE_OPERAND 20,021,480 1.6% 72.3%
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS 20,011,860 1.6% 73.8%
_INIT_CALL_BOUND_METHOD_EXACT_ARGS 20,011,860 1.6% 75.4%
_TO_BOOL_NONE 20,006,400 1.6% 77.0% 99.4%
_LOAD_CONST_INLINE_WITH_NULL 19,942,320 1.6% 78.5%
_GUARD_IS_FALSE_POP 19,923,660 1.6% 80.1%
_CHECK_FUNCTION 19,920,060 1.6% 81.6%
_COMPARE_OP_INT 19,909,420 1.6% 83.2%
_CALL_METHOD_DESCRIPTOR_FAST 19,905,960 1.6% 84.7%
_CHECK_ATTR_METHOD_LAZY_DICT 19,905,960 1.6% 86.3%
_LOAD_ATTR_METHOD_LAZY_DICT 19,905,960 1.6% 87.8%
_REPLACE_WITH_TRUE 19,905,960 1.6% 89.4%
_STORE_FAST_2 19,905,900 1.6% 90.9%
_GUARD_BOTH_INT 19,900,500 1.6% 92.5%
_CALL_LEN 19,896,600 1.6% 94.1%
_TO_BOOL 19,891,200 1.6% 95.6%
_LOAD_FAST_3 9,850,800 0.8% 96.4%
_BINARY_SUBSCR_LIST_INT 9,830,400 0.8% 97.1%
_GUARD_NOT_EXHAUSTED_RANGE 5,070,720 0.4% 97.5% 3.0%
_ITER_CHECK_RANGE 5,070,720 0.4% 97.9%
_STORE_FAST_3 4,927,200 0.4% 98.3%
_ITER_NEXT_RANGE 4,917,060 0.4% 98.7%
_STORE_SUBSCR_DICT 4,915,260 0.4% 99.1%
_BINARY_OP_ADD_INT 4,915,200 0.4% 99.5%
_JUMP_TO_TOP 4,915,200 0.4% 99.8%
_GUARD_DORV_NO_DICT 328,800 0.0% 99.9%
_STORE_ATTR_INSTANCE_VALUE 328,800 0.0% 99.9%
_POP_TOP 284,800 0.0% 99.9%
_CALL_BUILTIN_FAST 129,120 0.0% 99.9%
_LOAD_ATTR_INSTANCE_VALUE_1 120,660 0.0% 99.9%
_TIER2_RESUME_CHECK 109,600 0.0% 100.0%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 44,520 0.0% 100.0%
_GUARD_KEYS_VERSION 44,520 0.0% 100.0%
_LOAD_CONST_INLINE 33,240 0.0% 100.0%
_LOAD_ATTR_METHOD_WITH_VALUES 29,760 0.0% 100.0%
_RETURN_VALUE 26,860 0.0% 100.0%
_PY_FRAME_GENERAL 24,300 0.0% 100.0%
_TO_BOOL_BOOL 23,840 0.0% 100.0%
_STORE_FAST_5 20,460 0.0% 100.0%
_LOAD_FAST_5 18,840 0.0% 100.0%
_LOAD_FAST 18,480 0.0% 100.0%
_LOAD_ATTR_METHOD_NO_DICT 17,460 0.0% 100.0%
_CHECK_VALIDITY_AND_SET_IP 16,620 0.0% 100.0%
_LOAD_FAST_4 15,060 0.0% 100.0%
_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 14,760 0.0% 100.0%
_STORE_FAST_6 14,760 0.0% 100.0%
_STORE_FAST 13,020 0.0% 100.0%
_CALL_BUILTIN_O 12,060 0.0% 100.0%
_LOAD_FAST_7 11,160 0.0% 100.0%
_IS_OP 10,920 0.0% 100.0%
_GUARD_IS_NONE_POP 9,300 0.0% 100.0% 41.3%
_UNPACK_SEQUENCE_TWO_TUPLE 9,300 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_NOARGS 9,300 0.0% 100.0%
_CHECK_METHOD_VERSION 9,300 0.0% 100.0%
_EXPAND_METHOD 9,300 0.0% 100.0%
_STORE_FAST_4 9,300 0.0% 100.0%
_GUARD_NOS_INT 8,540 0.0% 100.0%
_GUARD_NOT_EXHAUSTED_LIST 7,920 0.0% 100.0% 3.0%
_ITER_CHECK_LIST 7,920 0.0% 100.0%
_ITER_NEXT_LIST 7,680 0.0% 100.0%
_GUARD_NOT_EXHAUSTED_TUPLE 7,620 0.0% 100.0% 25.2%
_ITER_CHECK_TUPLE 7,620 0.0% 100.0%
_LOAD_FAST_6 7,080 0.0% 100.0%
_CALL_ISINSTANCE 5,700 0.0% 100.0%
_CALL_KW_NON_PY 5,700 0.0% 100.0%
_CALL_NON_PY_GENERAL 5,700 0.0% 100.0%
_CHECK_AND_ALLOCATE_OBJECT 5,700 0.0% 100.0%
_CHECK_IS_NOT_PY_CALLABLE 5,700 0.0% 100.0%
_CHECK_IS_NOT_PY_CALLABLE_KW 5,700 0.0% 100.0%
_CREATE_INIT_FRAME 5,700 0.0% 100.0%
_DYNAMIC_EXIT 5,700 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_0 5,700 0.0% 100.0%
_ITER_NEXT_TUPLE 5,700 0.0% 100.0%
_CALL_TYPE_1 5,460 0.0% 100.0%
_BINARY_OP 5,460 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_O 5,460 0.0% 100.0%
_GUARD_IS_NOT_NONE_POP 5,460 0.0% 100.0%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 5,460 0.0% 100.0%
_STORE_FAST_7 5,460 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_2 3,080 0.0% 100.0%
_BUILD_TUPLE 2,700 0.0% 100.0%
_CONTAINS_OP_DICT 2,700 0.0% 100.0%
_TO_BOOL_INT 2,700 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 2,700 0.0% 100.0%
_GET_ITER 1,860 0.0% 100.0%
_FOR_ITER_TIER_TWO 1,800 0.0% 100.0% 10.0%
_BINARY_SUBSCR_TUPLE_INT 60 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.

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