Skip to content

Latest commit

 

History

History
11768 lines (10851 loc) · 216 KB

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

File metadata and controls

11768 lines (10851 loc) · 216 KB

Pystats results

  • benchmark: tomli_loads
  • 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 1,439,599,360 14.3% 14.3%
LOAD_FAST_LOAD_FAST 982,607,020 9.7% 24.0%
STORE_FAST 981,774,800 9.7% 33.7%
LOAD_CONST 682,963,120 6.8% 40.5%
LOAD_GLOBAL_MODULE 559,718,000 5.5% 46.0%
POP_JUMP_IF_FALSE 547,162,020 5.4% 51.4%
RETURN_VALUE 401,968,460 4.0% 55.4%
RESUME_CHECK 400,951,440 4.0% 59.4% 0.0%
NOP 396,167,200 3.9% 63.3%
CALL_PY_EXACT_ARGS 351,435,760 3.5% 66.8%
BINARY_SUBSCR_STR_INT 321,453,860 3.2% 70.0% 0.0%
COMPARE_OP_STR 223,014,560 2.2% 72.2%
ENTER_EXECUTOR 220,848,500 2.2% 74.4%
CONTAINS_OP_SET 197,607,440 2.0% 76.3%
LOAD_GLOBAL_BUILTIN 183,461,560 1.8% 78.1% 0.0%
BUILD_TUPLE 169,312,680 1.7% 79.8%
TO_BOOL_BOOL 155,651,700 1.5% 81.3%
BINARY_SUBSCR_DICT 118,121,660 1.2% 82.5%
STORE_FAST_STORE_FAST 112,302,960 1.1% 83.6%
GET_ITER 110,778,920 1.1% 84.7%
LOAD_DEREF 101,972,640 1.0% 85.7%
BINARY_SLICE 87,287,400 0.9% 86.6%
UNPACK_SEQUENCE_TWO_TUPLE 84,796,980 0.8% 87.4%
CONTAINS_OP_DICT 83,770,660 0.8% 88.3%
BINARY_OP_ADD_INT 81,862,560 0.8% 89.1%
LOAD_ATTR 66,873,400 0.7% 89.7%
LOAD_ATTR_INSTANCE_VALUE 61,984,980 0.6% 90.3%
POP_TOP 61,106,940 0.6% 91.0%
LOAD_ATTR_METHOD_WITH_VALUES 60,446,620 0.6% 91.6%
FOR_ITER_TUPLE 58,320,600 0.6% 92.1%
BINARY_SUBSCR 57,130,080 0.6% 92.7%
CALL_ISINSTANCE 52,559,580 0.5% 93.2%
MAKE_CELL 50,627,120 0.5% 93.7%
POP_JUMP_IF_TRUE 34,397,480 0.3% 94.1%
LOAD_ATTR_METHOD_NO_DICT 33,787,880 0.3% 94.4%
RETURN_CONST 33,126,420 0.3% 94.7%
LOAD_ATTR_CLASS 30,876,880 0.3% 95.0%
BINARY_OP 29,034,680 0.3% 95.3%
TO_BOOL 28,693,120 0.3% 95.6%
CALL_BUILTIN_CLASS 27,713,140 0.3% 95.9%
JUMP_FORWARD 27,444,260 0.3% 96.1%
CALL_METHOD_DESCRIPTOR_FAST 27,229,800 0.3% 96.4%
CALL_PY_GENERAL 27,148,980 0.3% 96.7%
STORE_SUBSCR_DICT 25,518,440 0.3% 96.9%
CALL_LEN 25,314,480 0.3% 97.2%
FOR_ITER_RANGE 25,313,640 0.3% 97.4%
COPY_FREE_VARS 25,313,600 0.3% 97.7%
UNPACK_SEQUENCE_TUPLE 25,313,540 0.3% 97.9%
MAKE_FUNCTION 25,313,520 0.3% 98.2%
RETURN_GENERATOR 25,313,520 0.3% 98.4%
SET_FUNCTION_ATTRIBUTE 25,313,520 0.3% 98.7%
STORE_DEREF 25,313,520 0.3% 98.9%
END_FOR 25,313,500 0.3% 99.2%
FOR_ITER_GEN 25,313,500 0.3% 99.4%
CALL_KW 22,365,600 0.2% 99.7%
CALL_NON_PY_GENERAL 11,165,860 0.1% 99.8%
PUSH_NULL 6,702,560 0.1% 99.8%
TO_BOOL_NONE 4,466,220 0.0% 99.9%
TO_BOOL_STR 2,233,240 0.0% 99.9%
TO_BOOL_ALWAYS_TRUE 2,233,100 0.0% 99.9%
COPY 2,165,060 0.0% 99.9%
FOR_ITER 1,834,040 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 1,833,100 0.0% 100.0%
BUILD_LIST 480,180 0.0% 100.0%
BUILD_MAP 379,340 0.0% 100.0%
COMPARE_OP_INT 364,360 0.0% 100.0%
CALL_LIST_APPEND 174,920 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_O 83,720 0.0% 100.0%
BUILD_CONST_KEY_MAP 82,780 0.0% 100.0%
BINARY_OP_INPLACE_ADD_UNICODE 5,880 0.0% 100.0%
JUMP_BACKWARD 4,580 0.0% 100.0%
LOAD_GLOBAL 4,080 0.0% 100.0%
CALL 4,020 0.0% 100.0%
BINARY_OP_ADD_UNICODE 1,420 0.0% 100.0%
SWAP 1,120 0.0% 100.0%
COMPARE_OP 960 0.0% 100.0%
CALL_BUILTIN_O 960 0.0% 100.0%
CONTAINS_OP 740 0.0% 100.0%
RESUME 720 0.0% 100.0% 66.7%
LOAD_ATTR_MODULE 580 0.0% 100.0%
INTERPRETER_EXIT 520 0.0% 100.0%
UNPACK_SEQUENCE 480 0.0% 100.0%
STORE_ATTR_INSTANCE_VALUE 420 0.0% 100.0%
CHECK_EXC_MATCH 200 0.0% 100.0%
POP_EXCEPT 200 0.0% 100.0%
PUSH_EXC_INFO 200 0.0% 100.0%
STORE_SUBSCR 200 0.0% 100.0%
STORE_ATTR 200 0.0% 100.0%
CALL_BUILTIN_FAST 200 0.0% 100.0%
CALL_FUNCTION_EX 180 0.0% 100.0%
LOAD_ATTR_SLOT 160 0.0% 100.0% 12.5%
CALL_BUILTIN_FAST_WITH_KEYWORDS 140 0.0% 100.0%
EXIT_INIT_CHECK 120 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 120 0.0% 100.0%
BEFORE_WITH 80 0.0% 100.0%
CALL_INTRINSIC_1 80 0.0% 100.0%
IS_OP 80 0.0% 100.0%
LIST_EXTEND 80 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 80 0.0% 100.0%
CALL_STR_1 80 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%
STORE_ATTR_SLOT 60 0.0% 100.0%
LIST_APPEND 20 0.0% 100.0%
LOAD_FAST_AND_CLEAR 20 0.0% 100.0%
STORE_FAST_LOAD_FAST 20 0.0% 100.0%
CALL_BOUND_METHOD_EXACT_ARGS 20 0.0% 100.0%
FOR_ITER_LIST 20 0.0% 100.0%
LOAD_ATTR_PROPERTY 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_CONST 392,832,940 3.9% 3.9%
STORE_FAST LOAD_FAST 372,580,380 3.7% 7.6%
NOP LOAD_FAST_LOAD_FAST 321,335,860 3.2% 10.8%
LOAD_FAST_LOAD_FAST BINARY_SUBSCR_STR_INT 319,615,580 3.2% 13.9%
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST 315,186,560 3.1% 17.0%
CALL_PY_EXACT_ARGS RESUME_CHECK 300,808,700 3.0% 20.0%
POP_JUMP_IF_FALSE LOAD_FAST 259,978,200 2.6% 22.6%
COMPARE_OP_STR POP_JUMP_IF_FALSE 223,014,540 2.2% 24.8%
LOAD_CONST COMPARE_OP_STR 223,014,180 2.2% 27.0%
RETURN_VALUE STORE_FAST 221,890,480 2.2% 29.2%
BINARY_SUBSCR_STR_INT STORE_FAST 209,032,760 2.1% 31.3%
RESUME_CHECK NOP 192,640,600 1.9% 33.2%
STORE_FAST LOAD_GLOBAL_MODULE 178,692,040 1.8% 35.0%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 149,940,160 1.5% 36.4%
LOAD_FAST RETURN_VALUE 145,807,380 1.4% 37.9%
STORE_FAST LOAD_FAST_LOAD_FAST 143,350,580 1.4% 39.3%
RESUME_CHECK LOAD_FAST 130,532,320 1.3% 40.6%
LOAD_FAST_LOAD_FAST LOAD_FAST 128,763,960 1.3% 41.9%
ENTER_EXECUTOR RETURN_VALUE 122,871,380 1.2% 43.1%
BINARY_SUBSCR_STR_INT LOAD_FAST 112,420,840 1.1% 44.2%
LOAD_FAST CONTAINS_OP_SET 112,420,800 1.1% 45.3%
LOAD_FAST_LOAD_FAST LOAD_GLOBAL_MODULE 112,307,200 1.1% 46.4%
LOAD_GLOBAL_MODULE CALL_PY_EXACT_ARGS 112,307,200 1.1% 47.5%
CONTAINS_OP_SET ENTER_EXECUTOR 112,144,480 1.1% 48.6%
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST 108,643,900 1.1% 49.7%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 104,571,300 1.0% 50.8%
STORE_FAST NOP 101,908,500 1.0% 51.8%
ENTER_EXECUTOR LOAD_FAST 92,422,220 0.9% 52.7%
BUILD_TUPLE RETURN_VALUE 88,185,800 0.9% 53.6%
STORE_FAST ENTER_EXECUTOR 86,755,160 0.9% 54.4%
LOAD_FAST LOAD_GLOBAL_MODULE 84,816,080 0.8% 55.3%
UNPACK_SEQUENCE_TWO_TUPLE STORE_FAST_STORE_FAST 84,796,980 0.8% 56.1%
RETURN_VALUE UNPACK_SEQUENCE_TWO_TUPLE 84,796,700 0.8% 56.9%
BINARY_SUBSCR_DICT STORE_FAST 84,780,700 0.8% 57.8%
CONTAINS_OP_DICT POP_JUMP_IF_FALSE 83,770,660 0.8% 58.6%
LOAD_FAST_LOAD_FAST CONTAINS_OP_DICT 83,770,500 0.8% 59.4%
LOAD_CONST BINARY_OP_ADD_INT 81,860,240 0.8% 60.2%
CONTAINS_OP_SET POP_JUMP_IF_FALSE 81,138,680 0.8% 61.0%
LOAD_FAST BUILD_TUPLE 79,966,020 0.8% 61.8%
LOAD_CONST LOAD_CONST 79,146,400 0.8% 62.6%
LOAD_FAST CALL_PY_EXACT_ARGS 78,724,460 0.8% 63.4%
RESUME_CHECK LOAD_GLOBAL_MODULE 77,773,780 0.8% 64.2%
BINARY_OP_ADD_INT STORE_FAST 75,283,200 0.7% 64.9%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 74,551,360 0.7% 65.7%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 61,984,720 0.6% 66.3%
LOAD_FAST LOAD_ATTR 60,153,280 0.6% 66.9%
LOAD_ATTR LOAD_ATTR_METHOD_WITH_VALUES 60,151,540 0.6% 67.5%
LOAD_CONST BINARY_SUBSCR_DICT 59,781,560 0.6% 68.0%
LOAD_FAST_LOAD_FAST BINARY_SUBSCR_DICT 58,338,300 0.6% 68.6%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 58,318,560 0.6% 69.2%
GET_ITER FOR_ITER_TUPLE 58,318,500 0.6% 69.8%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 58,254,420 0.6% 70.4%
LOAD_CONST BINARY_SUBSCR 57,111,860 0.6% 70.9%
LOAD_CONST BINARY_SLICE 56,780,720 0.6% 71.5%
FOR_ITER_TUPLE STORE_FAST 55,918,240 0.6% 72.0%
LOAD_FAST_LOAD_FAST LOAD_FAST_LOAD_FAST 55,817,340 0.6% 72.6%
LOAD_GLOBAL_BUILTIN LOAD_FAST 54,795,680 0.5% 73.1%
POP_JUMP_IF_FALSE LOAD_GLOBAL_BUILTIN 54,696,380 0.5% 73.7%
LOAD_FAST GET_ITER 54,652,500 0.5% 74.2%
LOAD_GLOBAL_MODULE CONTAINS_OP_SET 54,296,300 0.5% 74.8%
LOAD_FAST_LOAD_FAST LOAD_CONST 52,855,520 0.5% 75.3%
LOAD_FAST LOAD_GLOBAL_BUILTIN 52,560,420 0.5% 75.8%
CALL_ISINSTANCE TO_BOOL_BOOL 52,559,500 0.5% 76.3%
LOAD_DEREF LOAD_CONST 50,627,040 0.5% 76.8%
LOAD_FAST STORE_FAST 47,687,660 0.5% 77.3%
LOAD_FAST TO_BOOL_BOOL 47,326,500 0.5% 77.8%
NOP NOP 47,320,240 0.5% 78.2%
RETURN_VALUE RETURN_VALUE 40,706,800 0.4% 78.6%
LOAD_GLOBAL_MODULE STORE_FAST 40,346,520 0.4% 79.0%
POP_JUMP_IF_TRUE LOAD_FAST 32,232,420 0.3% 79.4%
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 31,870,680 0.3% 79.7%
STORE_FAST_STORE_FAST LOAD_FAST 31,172,800 0.3% 80.0%
LOAD_GLOBAL_MODULE LOAD_ATTR_CLASS 30,876,640 0.3% 80.3%
BINARY_SUBSCR_DICT CONTAINS_OP_SET 30,847,960 0.3% 80.6%
LOAD_FAST_LOAD_FAST BINARY_SLICE 30,502,620 0.3% 80.9%
BINARY_SLICE BUILD_TUPLE 30,499,760 0.3% 81.2%
BINARY_SUBSCR STORE_FAST 29,524,560 0.3% 81.5%
POP_TOP LOAD_FAST 29,278,740 0.3% 81.8%
BINARY_SLICE GET_ITER 28,979,760 0.3% 82.1%
LOAD_FAST_LOAD_FAST BUILD_TUPLE 28,746,840 0.3% 82.3%
LOAD_FAST TO_BOOL 28,685,060 0.3% 82.6%
TO_BOOL POP_JUMP_IF_TRUE 28,684,840 0.3% 82.9%
LOAD_ATTR_CLASS CALL_PY_EXACT_ARGS 28,684,480 0.3% 83.2%
STORE_FAST_STORE_FAST LOAD_FAST_LOAD_FAST 28,669,980 0.3% 83.5%
BINARY_OP STORE_FAST 28,667,020 0.3% 83.8%
NOP LOAD_FAST 27,509,820 0.3% 84.0%
BINARY_SUBSCR STORE_FAST_STORE_FAST 27,505,760 0.3% 84.3%
JUMP_FORWARD LOAD_GLOBAL_MODULE 27,441,680 0.3% 84.6%
LOAD_GLOBAL_BUILTIN CALL_ISINSTANCE 27,246,020 0.3% 84.8%
POP_JUMP_IF_FALSE NOP 27,149,740 0.3% 85.1%
CALL_PY_GENERAL RESUME_CHECK 27,148,980 0.3% 85.4%
LOAD_ATTR_METHOD_NO_DICT LOAD_CONST 27,148,260 0.3% 85.7%
BUILD_TUPLE STORE_FAST 27,146,640 0.3% 85.9%
STORE_FAST JUMP_FORWARD 27,146,640 0.3% 86.2%
LOAD_FAST CALL_PY_GENERAL 26,851,480 0.3% 86.5%
RETURN_VALUE TO_BOOL_BOOL 25,488,560 0.3% 86.7%
LOAD_FAST BINARY_OP 25,313,640 0.3% 87.0%
MAKE_CELL RESUME_CHECK 25,313,560 0.3% 87.2%
CALL_PY_EXACT_ARGS MAKE_CELL 25,313,560 0.3% 87.5%
BINARY_SLICE LOAD_DEREF 25,313,520 0.3% 87.7%

Predecessor/Successor Pairs

Top 5 predecessors and successors of each Tier 1 opcode.

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

BINARY_SLICE

Successors and predecessors for BINARY_SLICE
Predecessors Count Percentage
LOAD_CONST 56,780,720 65.1%
LOAD_FAST_LOAD_FAST 30,502,620 34.9%
BINARY_OP_ADD_INT 4,000 0.0%
BINARY_OP 60 0.0%
Successors Count Percentage
BUILD_TUPLE 30,499,760 34.9%
GET_ITER 28,979,760 33.2%
LOAD_DEREF 25,313,520 29.0%
LOAD_FAST 2,192,320 2.5%
CALL_PY_GENERAL 295,080 0.3%

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 400 76.9%
RESUME 100 19.2%
POP_TOP 20 3.8%

BEFORE_WITH

Successors and predecessors for BEFORE_WITH
Predecessors Count Percentage
RETURN_VALUE 80 100.0%
Successors Count Percentage
STORE_FAST 80 100.0%

BINARY_OP_INPLACE_ADD_UNICODE

Successors and predecessors for BINARY_OP_INPLACE_ADD_UNICODE
Predecessors Count Percentage
ENTER_EXECUTOR 2,540 43.2%
LOAD_FAST_LOAD_FAST 2,260 38.4%
BINARY_SLICE 980 16.7%
BINARY_OP 40 0.7%
BINARY_OP_ADD_UNICODE 40 0.7%
Successors Count Percentage
LOAD_FAST 5,840 99.3%
JUMP_BACKWARD 40 0.7%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 57,111,860 100.0%
BINARY_SUBSCR 15,180 0.0%
LOAD_FAST 2,300 0.0%
LOAD_FAST_LOAD_FAST 680 0.0%
BINARY_OP 20 0.0%
Successors Count Percentage
STORE_FAST 29,524,560 51.7%
STORE_FAST_STORE_FAST 27,505,760 48.1%
LOAD_CONST 81,640 0.1%
BINARY_SUBSCR 15,180 0.0%
BUILD_TUPLE 2,300 0.0%

CHECK_EXC_MATCH

Successors and predecessors for CHECK_EXC_MATCH
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 140 70.0%
LOAD_GLOBAL 60 30.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 200 100.0%

END_FOR

Successors and predecessors for END_FOR
Predecessors Count Percentage
RETURN_CONST 25,313,500 100.0%
Successors Count Percentage
POP_TOP 25,313,500 100.0%

EXIT_INIT_CHECK

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

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_FAST 54,652,500 49.3%
BINARY_SLICE 28,979,760 26.2%
CALL_BUILTIN_CLASS 25,313,500 22.9%
LOAD_ATTR_INSTANCE_VALUE 1,833,100 1.7%
CALL 20 0.0%
Successors Count Percentage
FOR_ITER_TUPLE 58,318,500 52.6%
CALL_PY_EXACT_ARGS 25,313,480 22.9%
FOR_ITER_GEN 25,313,480 22.9%
FOR_ITER 1,833,340 1.7%
FOR_ITER_RANGE 60 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_VALUE 380 73.1%
RETURN_CONST 140 26.9%

MAKE_FUNCTION

Successors and predecessors for MAKE_FUNCTION
Predecessors Count Percentage
LOAD_CONST 25,313,520 100.0%
Successors Count Percentage
SET_FUNCTION_ATTRIBUTE 25,313,520 100.0%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
RESUME_CHECK 192,640,600 48.6%
STORE_FAST 101,908,500 25.7%
NOP 47,320,240 11.9%
POP_JUMP_IF_FALSE 27,149,740 6.9%
STORE_FAST_STORE_FAST 25,313,520 6.4%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 321,335,860 81.1%
NOP 47,320,240 11.9%
LOAD_FAST 27,509,820 6.9%
LOAD_GLOBAL_MODULE 1,140 0.0%
LOAD_DEREF 80 0.0%

POP_EXCEPT

Successors and predecessors for POP_EXCEPT
Predecessors Count Percentage
POP_TOP 160 80.0%
SWAP 40 20.0%
Successors Count Percentage
LOAD_FAST 160 80.0%
RETURN_VALUE 40 20.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
END_FOR 25,313,500 41.4%
FOR_ITER_GEN 25,313,500 41.4%
RETURN_CONST 4,615,680 7.6%
POP_JUMP_IF_TRUE 2,162,160 3.5%
CALL_METHOD_DESCRIPTOR_NOARGS 1,833,100 3.0%
Successors Count Percentage
LOAD_FAST 29,278,740 47.9%
RESUME_CHECK 25,313,500 41.4%
LOAD_FAST_LOAD_FAST 2,522,560 4.1%
RETURN_CONST 2,157,520 3.5%
NOP 1,833,200 3.0%

PUSH_EXC_INFO

Successors and predecessors for PUSH_EXC_INFO
Predecessors Count Percentage
BINARY_SUBSCR_STR_INT 160 80.0%
LOAD_ATTR 20 10.0%
LOAD_ATTR_SLOT 20 10.0%
Successors Count Percentage
LOAD_GLOBAL 120 60.0%
LOAD_GLOBAL_BUILTIN 80 40.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR 6,699,540 100.0%
LOAD_FAST 2,300 0.0%
LOAD_ATTR_MODULE 500 0.0%
LOAD_DEREF 160 0.0%
LOAD_ATTR_CLASS 60 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 6,701,820 100.0%
LOAD_FAST 480 0.0%
CALL 120 0.0%
CALL_NON_PY_GENERAL 120 0.0%
LOAD_GLOBAL_BUILTIN 20 0.0%

RETURN_GENERATOR

Successors and predecessors for RETURN_GENERATOR
Predecessors Count Percentage
COPY_FREE_VARS 25,313,520 100.0%
Successors Count Percentage
STORE_FAST 25,313,520 100.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
LOAD_FAST 145,807,380 36.3%
ENTER_EXECUTOR 122,871,380 30.6%
BUILD_TUPLE 88,185,800 21.9%
RETURN_VALUE 40,706,800 10.1%
CALL_BUILTIN_CLASS 2,233,100 0.6%
Successors Count Percentage
STORE_FAST 221,890,480 55.2%
UNPACK_SEQUENCE_TWO_TUPLE 84,796,700 21.1%
RETURN_VALUE 40,706,800 10.1%
TO_BOOL_BOOL 25,488,560 6.3%
UNPACK_SEQUENCE_TUPLE 25,313,480 6.3%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 160 80.0%
LOAD_FAST 40 20.0%
Successors Count Percentage
STORE_SUBSCR_DICT 100 50.0%
LOAD_FAST_LOAD_FAST 60 30.0%
LOAD_FAST 20 10.0%
RETURN_CONST 20 10.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 28,685,060 100.0%
TO_BOOL 7,200 0.0%
CALL 260 0.0%
COPY 140 0.0%
CALL_METHOD_DESCRIPTOR_FAST 140 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 28,684,840 100.0%
TO_BOOL 7,200 0.0%
TO_BOOL_BOOL 500 0.0%
POP_JUMP_IF_FALSE 400 0.0%
TO_BOOL_STR 100 0.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_FAST 25,313,640 87.2%
BUILD_TUPLE 3,353,120 11.5%
LOAD_DEREF 359,120 1.2%
BINARY_OP 7,680 0.0%
LOAD_CONST 880 0.0%
Successors Count Percentage
STORE_FAST 28,667,020 98.7%
LOAD_GLOBAL_MODULE 359,080 1.2%
BINARY_OP 7,680 0.0%
BINARY_OP_ADD_INT 480 0.0%
LOAD_FAST 80 0.0%

BUILD_CONST_KEY_MAP

Successors and predecessors for BUILD_CONST_KEY_MAP
Predecessors Count Percentage
LOAD_CONST 82,780 100.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 82,780 100.0%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
STORE_FAST 359,120 74.8%
BUILD_MAP 120,960 25.2%
LOAD_FAST 80 0.0%
SWAP 20 0.0%
Successors Count Percentage
STORE_FAST 359,120 74.8%
LOAD_FAST_LOAD_FAST 120,960 25.2%
LOAD_DEREF 80 0.0%
SWAP 20 0.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 174,140 45.9%
POP_JUMP_IF_FALSE 120,960 31.9%
CALL_BUILTIN_CLASS 82,740 21.8%
ENTER_EXECUTOR 1,280 0.3%
RESUME_CHECK 120 0.0%
Successors Count Percentage
CALL_LIST_APPEND 174,120 45.9%
BUILD_LIST 120,960 31.9%
LOAD_CONST 82,780 21.8%
LOAD_FAST_LOAD_FAST 1,280 0.3%
LOAD_FAST 160 0.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST 79,966,020 47.2%
BINARY_SLICE 30,499,760 18.0%
LOAD_FAST_LOAD_FAST 28,746,840 17.0%
LOAD_GLOBAL_BUILTIN 25,313,500 15.0%
LOAD_CONST 2,548,800 1.5%
Successors Count Percentage
RETURN_VALUE 88,185,800 52.1%
STORE_FAST 27,146,640 16.0%
LOAD_CONST 25,313,520 15.0%
CALL_ISINSTANCE 25,313,480 15.0%
BINARY_OP 3,353,120 2.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 1,300 32.3%
LOAD_FAST_LOAD_FAST 720 17.9%
LOAD_GLOBAL 420 10.4%
LOAD_CONST 320 8.0%
LOAD_GLOBAL_MODULE 260 6.5%
Successors Count Percentage
CALL_PY_EXACT_ARGS 840 20.9%
RESUME 460 11.4%
RESUME_CHECK 460 11.4%
TO_BOOL 260 6.5%
CALL_NON_PY_GENERAL 220 5.5%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
LOAD_FAST 100 55.6%
CALL_INTRINSIC_1 80 44.4%
Successors Count Percentage
COPY_FREE_VARS 80 44.4%
RESUME_CHECK 80 44.4%
RESUME 20 11.1%

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 22,365,600 100.0%
Successors Count Percentage
RESUME_CHECK 22,365,540 100.0%
RESUME 60 0.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST 840 87.5%
COPY 40 4.2%
LOAD_FAST 40 4.2%
LOAD_FAST_LOAD_FAST 40 4.2%
Successors Count Percentage
POP_JUMP_IF_FALSE 400 41.7%
COMPARE_OP_STR 380 39.6%
COMPARE_OP_INT 120 12.5%
COPY 20 2.1%
JUMP_FORWARD 20 2.1%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 360 48.6%
LOAD_FAST 160 21.6%
BINARY_SUBSCR 60 8.1%
BINARY_SUBSCR_DICT 60 8.1%
LOAD_GLOBAL 40 5.4%
Successors Count Percentage
POP_JUMP_IF_FALSE 360 48.6%
CONTAINS_OP_DICT 160 21.6%
CONTAINS_OP_SET 160 21.6%
RETURN_VALUE 20 2.7%
CONTAINS_OP 20 2.7%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
CONTAINS_OP_SET 2,162,140 99.9%
JUMP_FORWARD 960 0.0%
SWAP 960 0.0%
COMPARE_OP_INT 940 0.0%
RETURN_VALUE 20 0.0%
Successors Count Percentage
TO_BOOL_BOOL 2,163,960 99.9%
COMPARE_OP_INT 920 0.0%
TO_BOOL 140 0.0%
COMPARE_OP 40 0.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 25,313,500 100.0%
CALL_FUNCTION_EX 80 0.0%
CALL 20 0.0%
Successors Count Percentage
RETURN_GENERATOR 25,313,520 100.0%
RESUME_CHECK 60 0.0%
RESUME 20 0.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
CONTAINS_OP_SET 112,144,480 50.8%
STORE_FAST 86,755,160 39.3%
POP_JUMP_IF_FALSE 21,936,840 9.9%
ENTER_EXECUTOR 10,580 0.0%
LOAD_FAST_LOAD_FAST 960 0.0%
Successors Count Percentage
RETURN_VALUE 122,871,380 55.6%
LOAD_FAST 92,422,220 41.8%
RETURN_CONST 5,359,620 2.4%
POP_TOP 165,040 0.1%
ENTER_EXECUTOR 10,580 0.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 1,833,340 100.0%
FOR_ITER 640 0.0%
LOAD_FAST 40 0.0%
JUMP_BACKWARD 20 0.0%
Successors Count Percentage
LOAD_FAST 1,833,200 100.0%
FOR_ITER 640 0.0%
FOR_ITER_TUPLE 80 0.0%
FOR_ITER_RANGE 40 0.0%
LOAD_FAST_LOAD_FAST 20 0.0%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 60 75.0%
LOAD_GLOBAL 20 25.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 80 100.0%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
STORE_FAST 2,720 59.4%
POP_JUMP_IF_FALSE 1,020 22.3%
ENTER_EXECUTOR 700 15.3%
POP_TOP 80 1.7%
BINARY_OP_INPLACE_ADD_UNICODE 40 0.9%
Successors Count Percentage
FOR_ITER_TUPLE 2,020 44.1%
NOP 1,280 27.9%
LOAD_FAST 740 16.2%
LOAD_GLOBAL_MODULE 300 6.6%
POP_TOP 100 2.2%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_FAST 27,146,640 98.9%
STORE_FAST_STORE_FAST 295,120 1.1%
LOAD_CONST 1,540 0.0%
COMPARE_OP_INT 940 0.0%
COMPARE_OP 20 0.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 27,441,680 100.0%
BINARY_SUBSCR_DICT 1,520 0.0%
COPY 960 0.0%
LOAD_GLOBAL 80 0.0%
BINARY_SUBSCR 20 0.0%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
CALL_BUILTIN_O 20 100.0%
Successors Count Percentage
JUMP_BACKWARD 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_FAST 60,153,280 90.0%
LOAD_GLOBAL_MODULE 6,699,720 10.0%
LOAD_ATTR 19,840 0.0%
LOAD_GLOBAL 400 0.0%
LOAD_ATTR_CLASS 80 0.0%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 60,151,540 89.9%
PUSH_NULL 6,699,540 10.0%
LOAD_ATTR 19,840 0.0%
LOAD_ATTR_METHOD_NO_DICT 420 0.0%
LOAD_FAST 380 0.0%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_FAST 392,832,940 57.5%
LOAD_CONST 79,146,400 11.6%
LOAD_FAST_LOAD_FAST 52,855,520 7.7%
LOAD_DEREF 50,627,040 7.4%
LOAD_ATTR_METHOD_NO_DICT 27,148,260 4.0%
Successors Count Percentage
COMPARE_OP_STR 223,014,180 32.7%
BINARY_OP_ADD_INT 81,860,240 12.0%
LOAD_CONST 79,146,400 11.6%
BINARY_SUBSCR_DICT 59,781,560 8.8%
BINARY_SUBSCR 57,111,860 8.4%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
BINARY_SLICE 25,313,520 24.8%
STORE_FAST 25,313,520 24.8%
STORE_FAST_STORE_FAST 25,313,520 24.8%
LOAD_GLOBAL_BUILTIN 25,313,500 24.8%
LOAD_DEREF 359,120 0.4%
Successors Count Percentage
LOAD_CONST 50,627,040 49.6%
LOAD_FAST 25,313,520 24.8%
CALL_LEN 25,313,480 24.8%
BINARY_OP 359,120 0.4%
LOAD_DEREF 359,120 0.4%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
STORE_FAST 372,580,380 25.9%
POP_JUMP_IF_FALSE 259,978,200 18.1%
RESUME_CHECK 130,532,320 9.1%
LOAD_FAST_LOAD_FAST 128,763,960 8.9%
BINARY_SUBSCR_STR_INT 112,420,840 7.8%
Successors Count Percentage
LOAD_CONST 392,832,940 27.3%
RETURN_VALUE 145,807,380 10.1%
CONTAINS_OP_SET 112,420,800 7.8%
LOAD_GLOBAL_MODULE 84,816,080 5.9%
BUILD_TUPLE 79,966,020 5.6%

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_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
NOP 321,335,860 32.7%
LOAD_GLOBAL_MODULE 315,186,560 32.1%
STORE_FAST 143,350,580 14.6%
POP_JUMP_IF_FALSE 108,643,900 11.1%
LOAD_FAST_LOAD_FAST 55,817,340 5.7%
Successors Count Percentage
BINARY_SUBSCR_STR_INT 319,615,580 32.5%
LOAD_FAST 128,763,960 13.1%
LOAD_GLOBAL_MODULE 112,307,200 11.4%
CALL_PY_EXACT_ARGS 104,571,300 10.6%
CONTAINS_OP_DICT 83,770,500 8.5%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 1,220 29.9%
POP_JUMP_IF_FALSE 620 15.2%
LOAD_FAST 560 13.7%
LOAD_FAST_LOAD_FAST 440 10.8%
RESUME 140 3.4%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,480 36.3%
LOAD_FAST_LOAD_FAST 660 16.2%
LOAD_GLOBAL_BUILTIN 580 14.2%
CALL 420 10.3%
LOAD_ATTR 400 9.8%

MAKE_CELL

Successors and predecessors for MAKE_CELL
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 25,313,560 50.0%
MAKE_CELL 25,313,520 50.0%
CALL 40 0.0%
Successors Count Percentage
RESUME_CHECK 25,313,560 50.0%
MAKE_CELL 25,313,520 50.0%
RESUME 40 0.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_STR 223,014,540 40.8%
TO_BOOL_BOOL 149,940,160 27.4%
CONTAINS_OP_DICT 83,770,660 15.3%
CONTAINS_OP_SET 81,138,680 14.8%
TO_BOOL_NONE 4,466,220 0.8%
Successors Count Percentage
LOAD_FAST 259,978,200 47.5%
LOAD_FAST_LOAD_FAST 108,643,900 19.9%
LOAD_GLOBAL_MODULE 74,551,360 13.6%
LOAD_GLOBAL_BUILTIN 54,696,380 10.0%
NOP 27,149,740 5.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL 28,684,840 83.4%
TO_BOOL_BOOL 5,711,540 16.6%
COMPARE_OP_INT 940 0.0%
TO_BOOL_STR 120 0.0%
COMPARE_OP 20 0.0%
Successors Count Percentage
LOAD_FAST 32,232,420 93.7%
POP_TOP 2,162,160 6.3%
RETURN_VALUE 960 0.0%
LOAD_FAST_LOAD_FAST 960 0.0%
LOAD_GLOBAL_MODULE 940 0.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
FOR_ITER_RANGE 25,313,500 76.4%
ENTER_EXECUTOR 5,359,620 16.2%
POP_TOP 2,157,520 6.5%
CALL_LIST_APPEND 174,140 0.5%
STORE_SUBSCR_DICT 120,940 0.4%
Successors Count Percentage
END_FOR 25,313,500 76.4%
POP_TOP 4,615,680 13.9%
TO_BOOL_BOOL 3,196,840 9.7%
INTERPRETER_EXIT 140 0.0%
EXIT_INIT_CHECK 120 0.0%

SET_FUNCTION_ATTRIBUTE

Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors Count Percentage
MAKE_FUNCTION 25,313,520 100.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 25,313,480 100.0%
LOAD_GLOBAL 40 0.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 200 100.0%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 60 30.0%
STORE_ATTR_SLOT 60 30.0%
RETURN_CONST 40 20.0%
LOAD_FAST 20 10.0%
LOAD_GLOBAL 20 10.0%

STORE_DEREF

Successors and predecessors for STORE_DEREF
Predecessors Count Percentage
STORE_FAST 25,313,520 100.0%
Successors Count Percentage
STORE_FAST 25,313,520 100.0%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 221,890,480 22.6%
BINARY_SUBSCR_STR_INT 209,032,760 21.3%
BINARY_SUBSCR_DICT 84,780,700 8.6%
BINARY_OP_ADD_INT 75,283,200 7.7%
LOAD_ATTR_INSTANCE_VALUE 58,318,560 5.9%
Successors Count Percentage
LOAD_FAST 372,580,380 37.9%
LOAD_GLOBAL_MODULE 178,692,040 18.2%
LOAD_FAST_LOAD_FAST 143,350,580 14.6%
NOP 101,908,500 10.4%
ENTER_EXECUTOR 86,755,160 8.8%

STORE_FAST_LOAD_FAST

Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors Count Percentage
FOR_ITER_LIST 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 84,796,980 75.5%
BINARY_SUBSCR 27,505,760 24.5%
UNPACK_SEQUENCE 200 0.0%
UNPACK_SEQUENCE_TUPLE 20 0.0%
Successors Count Percentage
LOAD_FAST 31,172,800 27.8%
LOAD_FAST_LOAD_FAST 28,669,980 25.5%
NOP 25,313,520 22.5%
LOAD_DEREF 25,313,520 22.5%
LOAD_GLOBAL_MODULE 1,538,000 1.4%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST 960 85.7%
CALL_METHOD_DESCRIPTOR_FAST 60 5.4%
BUILD_LIST 20 1.8%
CALL 20 1.8%
LOAD_ATTR 20 1.8%
Successors Count Percentage
COPY 960 85.7%
LOAD_CONST 80 7.1%
POP_EXCEPT 40 3.6%
BUILD_LIST 20 1.8%
FOR_ITER_LIST 20 1.8%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
RETURN_VALUE 460 95.8%
CALL_BUILTIN_FAST_WITH_KEYWORDS 20 4.2%
Successors Count Percentage
STORE_FAST_STORE_FAST 200 41.7%
UNPACK_SEQUENCE_TWO_TUPLE 200 41.7%
UNPACK_SEQUENCE_TUPLE 60 12.5%
STORE_FAST 20 4.2%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 460 63.9%
CACHE 100 13.9%
CALL_KW 60 8.3%
MAKE_CELL 40 5.6%
POP_TOP 20 2.8%
Successors Count Percentage
LOAD_FAST 300 41.7%
LOAD_GLOBAL 140 19.4%
NOP 120 16.7%
BUILD_MAP 40 5.6%
LOAD_CONST 40 5.6%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 81,860,240 100.0%
LOAD_FAST_LOAD_FAST 1,840 0.0%
BINARY_OP 480 0.0%
Successors Count Percentage
STORE_FAST 75,283,200 92.0%
LOAD_CONST 2,548,760 3.1%
LOAD_FAST 2,192,160 2.7%
BINARY_SUBSCR_STR_INT 1,833,080 2.2%
BINARY_SLICE 4,000 0.0%

BINARY_OP_ADD_UNICODE

Successors and predecessors for BINARY_OP_ADD_UNICODE
Predecessors Count Percentage
BINARY_SLICE 1,320 93.0%
BINARY_OP 60 4.2%
LOAD_FAST 40 2.8%
Successors Count Percentage
BUILD_TUPLE 1,340 94.4%
BINARY_OP_INPLACE_ADD_UNICODE 40 2.8%
RETURN_VALUE 20 1.4%
LOAD_FAST 20 1.4%

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
LOAD_CONST 59,781,560 50.6%
LOAD_FAST_LOAD_FAST 58,338,300 49.4%
JUMP_FORWARD 1,520 0.0%
BINARY_SUBSCR 280 0.0%
Successors Count Percentage
STORE_FAST 84,780,700 71.8%
CONTAINS_OP_SET 30,847,960 26.1%
LOAD_CONST 2,328,700 2.0%
LOAD_ATTR_METHOD_NO_DICT 82,740 0.1%
LOAD_FAST 81,480 0.1%

BINARY_SUBSCR_STR_INT

Successors and predecessors for BINARY_SUBSCR_STR_INT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 319,615,580 99.4%
BINARY_OP_ADD_INT 1,833,080 0.6%
ENTER_EXECUTOR 4,880 0.0%
BINARY_SUBSCR 220 0.0%
BINARY_SUBSCR_STR_INT 100 0.0%
Successors Count Percentage
STORE_FAST 209,032,760 65.0%
LOAD_FAST 112,420,840 35.0%
PUSH_EXC_INFO 160 0.0%
BINARY_SUBSCR_STR_INT 100 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 80 66.7%
CALL 40 33.3%
Successors Count Percentage
RESUME_CHECK 120 100.0%

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
CALL 20 100.0%
Successors Count Percentage
RESUME_CHECK 20 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
CALL_LEN 25,313,480 91.3%
LOAD_CONST 2,234,000 8.1%
LOAD_GLOBAL_BUILTIN 165,440 0.6%
CALL 180 0.0%
LOAD_FAST 40 0.0%
Successors Count Percentage
GET_ITER 25,313,500 91.3%
RETURN_VALUE 2,233,100 8.1%
BUILD_MAP 82,740 0.3%
LOAD_GLOBAL_BUILTIN 82,700 0.3%
STORE_FAST 1,000 0.0%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_FAST 160 80.0%
CALL 40 20.0%
Successors Count Percentage
STORE_FAST 120 60.0%
UNPACK_SEQUENCE_TWO_TUPLE 80 40.0%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_FAST 60 42.9%
CALL 40 28.6%
LOAD_FAST_LOAD_FAST 40 28.6%
Successors Count Percentage
RETURN_VALUE 60 42.9%
STORE_FAST 60 42.9%
UNPACK_SEQUENCE 20 14.3%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
LOAD_FAST 920 95.8%
CALL 20 2.1%
CALL_STR_1 20 2.1%
Successors Count Percentage
BUILD_TUPLE 940 97.9%
LIST_APPEND 20 2.1%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 27,246,020 51.8%
BUILD_TUPLE 25,313,480 48.2%
CALL 80 0.0%
Successors Count Percentage
TO_BOOL_BOOL 52,559,500 100.0%
TO_BOOL 80 0.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_DEREF 25,313,480 100.0%
LOAD_FAST 920 0.0%
CALL 80 0.0%
Successors Count Percentage
CALL_BUILTIN_CLASS 25,313,480 100.0%
LOAD_FAST 940 0.0%
LOAD_CONST 40 0.0%
CALL 20 0.0%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
BUILD_MAP 174,120 99.5%
LOAD_FAST 760 0.4%
CALL 40 0.0%
Successors Count Percentage
RETURN_CONST 174,140 99.6%
LOAD_GLOBAL_MODULE 760 0.4%
LOAD_GLOBAL 20 0.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_FAST 24,914,920 91.5%
LOAD_ATTR_METHOD_NO_DICT 2,233,080 8.2%
LOAD_CONST 81,560 0.3%
CALL 200 0.0%
LOAD_ATTR 40 0.0%
Successors Count Percentage
TO_BOOL_BOOL 24,914,920 91.5%
LOAD_GLOBAL_MODULE 2,233,080 8.2%
POP_TOP 81,580 0.3%
TO_BOOL 140 0.0%
SWAP 60 0.0%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
CALL 40 50.0%
LOAD_CONST 40 50.0%
Successors Count Percentage
STORE_FAST 60 75.0%
GET_ITER 20 25.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 1,833,080 100.0%
CALL 20 0.0%
Successors Count Percentage
POP_TOP 1,833,100 100.0%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 83,660 99.9%
CALL 60 0.1%
Successors Count Percentage
POP_TOP 82,760 98.9%
TO_BOOL_BOOL 920 1.1%
TO_BOOL 20 0.0%
BINARY_OP 20 0.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 6,699,240 60.0%
LOAD_CONST 2,233,120 20.0%
LOAD_ATTR_METHOD_NO_DICT 2,233,080 20.0%
CALL 220 0.0%
PUSH_NULL 120 0.0%
Successors Count Percentage
STORE_FAST 6,699,420 60.0%
LOAD_CONST 2,233,100 20.0%
TO_BOOL_STR 2,233,080 20.0%
POP_TOP 120 0.0%
RETURN_VALUE 60 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 112,307,200 32.0%
LOAD_FAST_LOAD_FAST 104,571,300 29.8%
LOAD_FAST 78,724,460 22.4%
LOAD_ATTR_CLASS 28,684,480 8.2%
GET_ITER 25,313,480 7.2%
Successors Count Percentage
RESUME_CHECK 300,808,700 85.6%
MAKE_CELL 25,313,560 7.2%
COPY_FREE_VARS 25,313,500 7.2%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 26,851,480 98.9%
BINARY_SLICE 295,080 1.1%
LOAD_FAST_LOAD_FAST 2,260 0.0%
CALL 120 0.0%
LOAD_CONST 40 0.0%
Successors Count Percentage
RESUME_CHECK 27,148,980 100.0%

CALL_STR_1

Successors and predecessors for CALL_STR_1
Predecessors Count Percentage
LOAD_FAST 60 75.0%
CALL 20 25.0%
Successors Count Percentage
RETURN_VALUE 60 75.0%
CALL_BUILTIN_O 20 25.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 361,480 99.2%
COPY 920 0.3%
LOAD_CONST 920 0.3%
LOAD_FAST 920 0.3%
COMPARE_OP 120 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 361,540 99.2%
COPY 940 0.3%
JUMP_FORWARD 940 0.3%
POP_JUMP_IF_TRUE 940 0.3%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
LOAD_CONST 223,014,180 100.0%
COMPARE_OP 380 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 223,014,540 100.0%
POP_JUMP_IF_TRUE 20 0.0%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 83,770,500 100.0%
CONTAINS_OP 160 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 83,770,660 100.0%

CONTAINS_OP_SET

Successors and predecessors for CONTAINS_OP_SET
Predecessors Count Percentage
LOAD_FAST 112,420,800 56.9%
LOAD_GLOBAL_MODULE 54,296,300 27.5%
BINARY_SUBSCR_DICT 30,847,960 15.6%
LOAD_FAST_LOAD_FAST 42,220 0.0%
CONTAINS_OP 160 0.0%
Successors Count Percentage
ENTER_EXECUTOR 112,144,480 56.8%
POP_JUMP_IF_FALSE 81,138,680 41.1%
RETURN_VALUE 2,162,140 1.1%
COPY 2,162,140 1.1%

FOR_ITER_GEN

Successors and predecessors for FOR_ITER_GEN
Predecessors Count Percentage
GET_ITER 25,313,480 100.0%
FOR_ITER 20 0.0%
Successors Count Percentage
POP_TOP 25,313,500 100.0%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
SWAP 20 100.0%
Successors Count Percentage
STORE_FAST_LOAD_FAST 20 100.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
LOAD_FAST 25,313,480 100.0%
GET_ITER 60 0.0%
JUMP_BACKWARD 60 0.0%
FOR_ITER 40 0.0%
Successors Count Percentage
RETURN_CONST 25,313,500 100.0%
STORE_FAST 60 0.0%
LOAD_GLOBAL 40 0.0%
LOAD_GLOBAL_MODULE 40 0.0%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
GET_ITER 58,318,500 100.0%
JUMP_BACKWARD 2,020 0.0%
FOR_ITER 80 0.0%
Successors Count Percentage
STORE_FAST 55,918,240 95.9%
LOAD_FAST 2,322,160 4.0%
LOAD_FAST_LOAD_FAST 80,200 0.1%

LOAD_ATTR_CLASS

Successors and predecessors for LOAD_ATTR_CLASS
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 30,876,640 100.0%
LOAD_ATTR 240 0.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 28,684,480 92.9%
LOAD_CONST 2,192,180 7.1%
CALL 80 0.0%
LOAD_ATTR 80 0.0%
PUSH_NULL 60 0.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 61,984,720 100.0%
LOAD_ATTR 180 0.0%
LOAD_FAST_LOAD_FAST 80 0.0%
Successors Count Percentage
STORE_FAST 58,318,560 94.1%
GET_ITER 1,833,100 3.0%
LOAD_ATTR_METHOD_NO_DICT 1,833,080 3.0%
LOAD_FAST 160 0.0%
RETURN_VALUE 60 0.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_FAST 31,870,680 94.3%
LOAD_ATTR_INSTANCE_VALUE 1,833,080 5.4%
BINARY_SUBSCR_DICT 82,740 0.2%
LOAD_GLOBAL_MODULE 960 0.0%
LOAD_ATTR 420 0.0%
Successors Count Percentage
LOAD_CONST 27,148,260 80.3%
CALL_METHOD_DESCRIPTOR_FAST 2,233,080 6.6%
CALL_NON_PY_GENERAL 2,233,080 6.6%
CALL_METHOD_DESCRIPTOR_NOARGS 1,833,080 5.4%
BUILD_MAP 174,140 0.5%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_ATTR 60,151,540 99.5%
LOAD_FAST 295,080 0.5%
Successors Count Percentage
LOAD_FAST 58,254,420 96.4%
CALL_PY_EXACT_ARGS 1,833,080 3.0%
LOAD_DEREF 359,100 0.6%
CALL 20 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 360 62.1%
LOAD_ATTR 220 37.9%
Successors Count Percentage
PUSH_NULL 500 86.2%
STORE_FAST 40 6.9%
LOAD_ATTR 20 3.4%
LOAD_FAST 20 3.4%

LOAD_ATTR_PROPERTY

Successors and predecessors for LOAD_ATTR_PROPERTY
Predecessors Count Percentage
LOAD_ATTR 20 100.0%
Successors Count Percentage
RESUME_CHECK 20 100.0%

LOAD_ATTR_SLOT

Successors and predecessors for LOAD_ATTR_SLOT
Predecessors Count Percentage
LOAD_ATTR 120 75.0%
LOAD_FAST 40 25.0%
Successors Count Percentage
RETURN_VALUE 100 62.5%
PUSH_EXC_INFO 20 12.5%
STORE_FAST 20 12.5%
SWAP 20 12.5%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
POP_JUMP_IF_FALSE 54,696,380 29.8%
LOAD_FAST 52,560,420 28.6%
LOAD_CONST 25,313,480 13.8%
SET_FUNCTION_ATTRIBUTE 25,313,480 13.8%
LOAD_GLOBAL_BUILTIN 25,313,480 13.8%
Successors Count Percentage
LOAD_FAST 54,795,680 29.9%
CALL_ISINSTANCE 27,246,020 14.9%
BUILD_TUPLE 25,313,500 13.8%
LOAD_CONST 25,313,500 13.8%
LOAD_DEREF 25,313,500 13.8%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
STORE_FAST 178,692,040 31.9%
LOAD_FAST_LOAD_FAST 112,307,200 20.1%
LOAD_FAST 84,816,080 15.2%
RESUME_CHECK 77,773,780 13.9%
POP_JUMP_IF_FALSE 74,551,360 13.3%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 315,186,560 56.3%
CALL_PY_EXACT_ARGS 112,307,200 20.1%
CONTAINS_OP_SET 54,296,300 9.7%
STORE_FAST 40,346,520 7.2%
LOAD_ATTR_CLASS 30,876,640 5.5%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 300,808,700 75.0%
CALL_PY_GENERAL 27,148,980 6.8%
MAKE_CELL 25,313,560 6.3%
POP_TOP 25,313,500 6.3%
CALL_KW 22,365,540 5.6%
Successors Count Percentage
NOP 192,640,600 48.0%
LOAD_FAST 130,532,320 32.6%
LOAD_GLOBAL_MODULE 77,773,780 19.4%
LOAD_FAST_LOAD_FAST 3,300 0.0%
LOAD_CONST 1,000 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 280 66.7%
LOAD_FAST_LOAD_FAST 80 19.0%
STORE_ATTR 60 14.3%
Successors Count Percentage
RETURN_CONST 280 66.7%
LOAD_FAST 80 19.0%
LOAD_GLOBAL_BUILTIN 40 9.5%
LOAD_GLOBAL 20 4.8%

STORE_ATTR_SLOT

Successors and predecessors for STORE_ATTR_SLOT
Predecessors Count Percentage
STORE_ATTR 60 100.0%
Successors Count Percentage
LOAD_FAST 60 100.0%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
LOAD_FAST 25,313,480 99.2%
LOAD_FAST_LOAD_FAST 204,860 0.8%
STORE_SUBSCR 100 0.0%
Successors Count Percentage
LOAD_FAST 25,313,500 99.2%
RETURN_CONST 120,940 0.5%
LOAD_FAST_LOAD_FAST 84,000 0.3%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_FAST 2,233,080 100.0%
TO_BOOL 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 2,233,100 100.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 52,559,500 33.8%
LOAD_FAST 47,326,500 30.4%
RETURN_VALUE 25,488,560 16.4%
CALL_METHOD_DESCRIPTOR_FAST 24,914,920 16.0%
RETURN_CONST 3,196,840 2.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 149,940,160 96.3%
POP_JUMP_IF_TRUE 5,711,540 3.7%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_FAST 4,466,160 100.0%
TO_BOOL 60 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 4,466,220 100.0%

TO_BOOL_STR

Successors and predecessors for TO_BOOL_STR
Predecessors Count Percentage
CALL_NON_PY_GENERAL 2,233,080 100.0%
TO_BOOL 100 0.0%
LOAD_FAST 40 0.0%
STORE_FAST_LOAD_FAST 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 2,233,120 100.0%
POP_JUMP_IF_TRUE 120 0.0%

UNPACK_SEQUENCE_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TUPLE
Predecessors Count Percentage
RETURN_VALUE 25,313,480 100.0%
UNPACK_SEQUENCE 60 0.0%
Successors Count Percentage
STORE_FAST 25,313,500 100.0%
LOAD_FAST 20 0.0%
STORE_FAST_STORE_FAST 20 0.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
RETURN_VALUE 84,796,700 100.0%
UNPACK_SEQUENCE 200 0.0%
CALL_BUILTIN_FAST 80 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 84,796,980 100.0%

Specialization stats

Specialization stats by family

BINARY_OP

specialization stats for BINARY_OP family
Kind Count Ratio
deferred

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

29,026,400 26.2%
hit

Specialized instructions that complete.

81,869,920 73.8%
Success Count Ratio
Success 600 7.2%
Failure 7,680 92.8%
Failure kind Count Ratio
add other 7,680 100.0%

BINARY_SLICE

specialization stats for BINARY_SLICE family

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

57,120,000 11.5%
hit

Specialized instructions that complete.

439,569,820 88.5%
miss

Specialized instructions that deopt.

5,700 0.0%
Success Count Ratio
Success 600 3.8%
Failure 15,180 96.2%
Failure kind Count Ratio
out of range 15,080 99.3%
other 100 0.7%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

1,960 0.0%
hit

Specialized instructions that complete.

486,346,120 100.0%
Success Count Ratio
Success 2,060 100.0%
Failure 0 0.0%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

460 0.0%
hit

Specialized instructions that complete.

223,378,920 100.0%
Success Count Ratio
Success 500 100.0%
Failure 0 0.0%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Count Ratio
deferred

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

400 0.0%
hit

Specialized instructions that complete.

281,378,100 100.0%
Success Count Ratio
Success 320 94.1%
Failure 20 5.9%
Failure kind Count Ratio
str 20 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.

1,833,260 1.7%
hit

Specialized instructions that complete.

108,947,760 98.3%
Success Count Ratio
Success 140 17.9%
Failure 640 82.1%
Failure kind Count Ratio
set 640 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.

66,852,720 26.3%
hit

Specialized instructions that complete.

187,097,100 73.7%
miss

Specialized instructions that deopt.

20 0.0%
Success Count Ratio
Success 1,420 6.9%
Failure 19,280 93.1%
Failure kind Count Ratio
not managed dict 17,000 88.2%
method 2,220 11.5%
class method obj 20 0.1%
metaclass attribute 20 0.1%
class attr simple 20 0.1%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

2,060 0.0%
hit

Specialized instructions that complete.

743,179,520 100.0%
miss

Specialized instructions that deopt.

40 0.0%
Success Count Ratio
Success 2,060 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

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

80 11.8%
hit

Specialized instructions that complete.

480 70.6%
Success Count Ratio
Success 120 100.0%
Failure 0 0.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

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

100 0.0%
hit

Specialized instructions that complete.

25,518,440 100.0%
Success Count Ratio
Success 100 100.0%
Failure 0 0.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

28,685,240 15.0%
hit

Specialized instructions that complete.

162,351,160 85.0%
Success Count Ratio
Success 680 8.6%
Failure 7,200 91.4%
Failure kind Count Ratio
tuple 7,200 100.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

220 0.0%
hit

Specialized instructions that complete.

110,110,520 100.0%
Success Count Ratio
Success 260 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.

5,956,665,320 59.0%
Not specialized

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

852,422,900 8.4%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

3,291,246,740 32.6%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

6,240 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
LOAD_ATTR 66,852,720 36.4%
BINARY_SUBSCR 57,120,000 31.1%
BINARY_OP 29,026,400 15.8%
TO_BOOL 28,685,240 15.6%
FOR_ITER 1,833,260 1.0%
LOAD_GLOBAL 2,060 0.0%
CALL 1,960 0.0%
COMPARE_OP 460 0.0%
CONTAINS_OP 400 0.0%
UNPACK_SEQUENCE 220 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
BINARY_SUBSCR_STR_INT 5,700 84.8%
RESUME 480 7.1%
RESUME_CHECK 480 7.1%
LOAD_GLOBAL_BUILTIN 40 0.6%
LOAD_ATTR_SLOT 20 0.3%
CACHE 0 0.0%
BEFORE_WITH 0 0.0%
BINARY_OP_INPLACE_ADD_UNICODE 0 0.0%
CHECK_EXC_MATCH 0 0.0%
END_FOR 0 0.0%

Call stats

Inlined calls and frame stats

This shows what fraction of calls to Python functions are inlined (i.e. not having a call at the C level) and for those that are not, where the call comes from. The various categories overlap.

Also includes the count of frame objects created.

Count Ratio
Calls to PyEval_EvalDefault 520 0.0%
Calls to Python functions inlined 465,861,960 100.0%
Calls via PyEval_EvalFrame (total) 520 0.0%
Calls via PyEval_EvalFrame (vector) 500 0.0%
Calls via PyEval_EvalFrame (generator) 20 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 500 0.0%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 80 0.0%
Calls via PyEval_EvalFrame (function ex) 180 0.0%
Calls via PyEval_EvalFrame (api) 140 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 200 0.0%
Frames pushed 440,549,080 94.6%

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 236,631,780 12.7%
Frees to freelist 236,633,900
Allocations 1,632,533,860 87.3%
Allocations to 512 bytes 1,630,726,300 87.2%
Allocations to 4 kbytes 1,735,640 0.1%
Allocations over 4 kbytes 71,920 0.0%
Frees 1,639,233,321
Inline values 240
Interpreter increfs 11,398,027,180 90.4%
Interpreter decrefs 13,431,276,080 92.2%
Increfs 1,203,802,014 9.6%
Decrefs 1,131,241,051 7.8%
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 66,876,790
Method cache misses 670
Method cache collisions 586
Method cache dunder hits 96,915,942
Method cache dunder misses 198

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 2,020 40,664,540
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.

55,740
Traces created

The number of traces that were successfully created.

560 1.0%
Trace stack overflow

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

0 0.0%
Trace stack underflow

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

55,340 99.3%
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.

55,180 99.0%
Inner loop found

A trace is truncated because it has an inner loop

100 0.2%
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.

100 0.2%
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

784,285,160
Uops executed

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

35,125,811,000 4,478.7%
Count Ratio
Optimizer attempts

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

560
Optimizer successes

The number of traces that were successfully optimized.

560 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 40 7.1%
<= 16 40 7.1%
<= 32 200 35.7%
<= 64 160 28.6%
<= 128 120 21.4%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 40 7.1%
<= 8 20 3.6%
<= 16 140 25.0%
<= 32 140 25.0%
<= 64 180 32.1%
<= 128 40 7.1%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 142,556,980 18.2%
<= 8 33,112,240 4.2%
<= 16 186,187,380 23.7%
<= 32 98,026,880 12.5%
<= 64 54,283,380 6.9%
<= 128 17,105,100 2.2%
<= 256 13,328,960 1.7%
<= 512 2,921,540 0.4%
<= 1,024 2,483,140 0.3%
<= 2,048 13,000,060 1.7%
<= 4,096 422,640 0.1%
<= 8,192 10,640 0.0%
<= 16,384 3,200 0.0%
<= 32,768 80 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_LOAD_CONST_INLINE_BORROW 3,277,141,840 9.3% 9.3%
_GUARD_IS_FALSE_POP 2,911,660,560 8.3% 17.6% 1.8%
_LOAD_FAST_7 2,679,665,300 7.6% 25.2%
_LOAD_FAST_1 2,630,117,660 7.5% 32.7%
_SET_IP 1,873,460,740 5.3% 38.1%
_CHECK_VALIDITY 1,835,969,080 5.2% 43.3%
_COMPARE_OP_STR 1,786,261,880 5.1% 48.4%
_LOAD_FAST_3 1,334,940,780 3.8% 52.2%
_CONTAINS_OP_SET 1,326,105,120 3.8% 56.0%
_TIER2_RESUME_CHECK 1,300,491,040 3.7% 59.7% 0.0%
_LOAD_FAST_0 1,296,062,060 3.7% 63.3%
_BINARY_SUBSCR_STR_INT 1,259,523,380 3.6% 66.9% 0.0%
_BINARY_OP_ADD_INT 1,244,262,080 3.5% 70.5%
_GUARD_NOS_INT 1,240,051,800 3.5% 74.0%
_STORE_FAST_1 1,227,439,220 3.5% 77.5%
_JUMP_TO_TOP 1,113,994,940 3.2% 80.7%
_GUARD_BOTH_UNICODE 926,926,920 2.6% 83.3%
_STORE_FAST_7 901,112,780 2.6% 85.9%
_GUARD_IS_TRUE_POP 592,008,880 1.7% 87.6% 24.4%
_START_EXECUTOR 563,442,220 1.6% 89.2%
_EXIT_TRACE 563,436,980 1.6% 90.8%
_LOAD_FAST_2 529,859,320 1.5% 92.3%
_TO_BOOL_BOOL 221,062,860 0.6% 92.9%
_COLD_EXIT 220,842,940 0.6% 93.5%
_BINARY_SUBSCR_DICT 203,093,580 0.6% 94.1%
_LOAD_FAST_4 165,874,000 0.5% 94.6%
_CHECK_FUNCTION 157,557,460 0.4% 95.0%
_GUARD_NOT_EXHAUSTED_TUPLE 132,031,700 0.4% 95.4% 42.2%
_ITER_CHECK_TUPLE 132,031,700 0.4% 95.8%
_CALL_ISINSTANCE 124,587,880 0.4% 96.1%
_STORE_FAST_3 105,090,980 0.3% 96.4%
_CONTAINS_OP_DICT 104,748,380 0.3% 96.7%
_LOAD_CONST_INLINE_WITH_NULL 88,369,320 0.3% 97.0%
_POP_TOP 81,399,600 0.2% 97.2%
_STORE_FAST_4 79,627,000 0.2% 97.5%
_LOAD_FAST_6 78,297,760 0.2% 97.7%
_ITER_NEXT_TUPLE 76,275,480 0.2% 97.9%
_LOAD_FAST_5 75,247,320 0.2% 98.1%
_CHECK_VALIDITY_AND_SET_IP 74,352,180 0.2% 98.3%
_LOAD_GLOBAL 73,788,940 0.2% 98.5%
_LOAD_CONST_INLINE 41,785,620 0.1% 98.6%
_RESUME_CHECK 39,596,800 0.1% 98.8%
_PUSH_FRAME 39,596,800 0.1% 98.9%
_SAVE_RETURN_OFFSET 39,596,800 0.1% 99.0%
_CHECK_FUNCTION_EXACT_ARGS 37,491,660 0.1% 99.1%
_INIT_CALL_PY_EXACT_ARGS_3 34,141,640 0.1% 99.2%
_BINARY_SUBSCR 30,795,860 0.1% 99.3%
_CHECK_STACK_SPACE_OPERAND 30,791,620 0.1% 99.4%
_STORE_FAST_5 29,641,640 0.1% 99.4%
_STORE_FAST_6 28,466,020 0.1% 99.5%
_BINARY_SLICE 24,383,000 0.1% 99.6%
_BUILD_TUPLE 24,029,020 0.1% 99.7%
_COPY 23,325,520 0.1% 99.7%
_BINARY_OP_ADD_UNICODE 20,171,920 0.1% 99.8%
_LOAD_CONST 8,419,600 0.0% 99.8%
_CHECK_PERIODIC 6,702,540 0.0% 99.8%
_POP_FRAME 5,454,200 0.0% 99.8%
_CALL_BUILTIN_CLASS 4,378,920 0.0% 99.9%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 4,300,520 0.0% 99.9%
_GUARD_BOTH_INT 4,210,280 0.0% 99.9%
_BINARY_OP 4,209,000 0.0% 99.9%
_BUILD_MAP 3,806,180 0.0% 99.9%
_STORE_SUBSCR_DICT 3,806,180 0.0% 99.9%
_STORE_FAST_2 3,350,500 0.0% 99.9%
_INIT_CALL_PY_EXACT_ARGS_2 3,350,020 0.0% 99.9%
_GUARD_TYPE_VERSION 2,322,980 0.0% 99.9%
_LOAD_ATTR_METHOD_NO_DICT 2,322,980 0.0% 100.0%
_BUILD_CONST_KEY_MAP 2,189,460 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_O 2,109,460 0.0% 100.0%
_PUSH_NULL 2,105,460 0.0% 100.0%
_CHECK_FUNCTION_VERSION 2,105,140 0.0% 100.0%
_LOAD_FAST 2,105,140 0.0% 100.0%
_PY_FRAME_GENERAL 2,105,140 0.0% 100.0%
_STORE_FAST 2,104,500 0.0% 100.0%
_UNPACK_SEQUENCE_TWO_TUPLE 2,104,180 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_FAST 213,520 0.0% 100.0%
_DEOPT 5,240 0.0% 100.0%
_GUARD_NOT_EXHAUSTED_LIST 340 0.0% 100.0% 5.9%
_ITER_CHECK_LIST 340 0.0% 100.0%
_LIST_APPEND 320 0.0% 100.0%
_TO_BOOL_STR 320 0.0% 100.0%
_CALL_BUILTIN_O 320 0.0% 100.0%
_CALL_STR_1 320 0.0% 100.0%
_ITER_NEXT_LIST 320 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
_COMPARE_OP_STR _GUARD_IS_FALSE_POP 1,780,827,080 5.1% 5.1%
_LOAD_FAST_7 _LOAD_CONST_INLINE_BORROW 1,778,699,440 5.1% 10.1%
_GUARD_IS_FALSE_POP _LOAD_FAST_7 1,756,145,760 5.0% 15.1%
_CONTAINS_OP_SET _CHECK_VALIDITY 1,326,105,120 3.8% 18.9%
_LOAD_FAST_0 _LOAD_FAST_1 1,273,784,200 3.6% 22.5%
_LOAD_FAST_1 _LOAD_CONST_INLINE_BORROW 1,266,627,480 3.6% 26.1%
_LOAD_FAST_1 _BINARY_SUBSCR_STR_INT 1,259,523,380 3.6% 29.7%
_SET_IP _CONTAINS_OP_SET 1,254,021,440 3.6% 33.3%
_GUARD_NOS_INT _BINARY_OP_ADD_INT 1,240,051,800 3.5% 36.8%
_LOAD_CONST_INLINE_BORROW _GUARD_NOS_INT 1,240,051,800 3.5% 40.4%
_BINARY_OP_ADD_INT _STORE_FAST_1 1,221,985,020 3.5% 43.8%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 1,113,994,940 3.2% 47.0%
_CHECK_VALIDITY _GUARD_IS_FALSE_POP 1,002,106,760 2.9% 49.9%
_LOAD_FAST_3 _SET_IP 999,870,540 2.8% 52.7%
_GUARD_IS_FALSE_POP _LOAD_FAST_1 973,231,100 2.8% 55.5%
_GUARD_BOTH_UNICODE _COMPARE_OP_STR 906,755,000 2.6% 58.1%
_TIER2_RESUME_CHECK _LOAD_FAST_0 902,550,480 2.6% 60.6%
_LOAD_CONST_INLINE_BORROW _GUARD_BOTH_UNICODE 902,545,680 2.6% 63.2%
_STORE_FAST_7 _LOAD_FAST_7 901,112,780 2.6% 65.8%
_BINARY_SUBSCR_STR_INT _STORE_FAST_7 899,192,880 2.6% 68.3%
_LOAD_FAST_7 _LOAD_FAST_3 897,048,620 2.6% 70.9%
_LOAD_CONST_INLINE_BORROW _COMPARE_OP_STR 879,506,880 2.5% 73.4%
_STORE_FAST_1 _JUMP_TO_TOP 876,639,200 2.5% 75.9%
_LOAD_FAST_2 _SET_IP 355,732,260 1.0% 76.9%
_BINARY_SUBSCR_STR_INT _LOAD_FAST_2 353,622,800 1.0% 77.9%
_STORE_FAST_1 _LOAD_FAST_0 319,481,240 0.9% 78.8%
_CHECK_VALIDITY _GUARD_IS_TRUE_POP 297,731,000 0.8% 79.7%
_LOAD_CONST_INLINE_BORROW _SET_IP 255,037,480 0.7% 80.4%
_TIER2_RESUME_CHECK _LOAD_FAST_1 238,467,040 0.7% 81.1%
_GUARD_IS_TRUE_POP _EXIT_TRACE 218,172,680 0.6% 81.7%
_GUARD_IS_TRUE_POP _JUMP_TO_TOP 210,082,880 0.6% 82.3%
_SET_IP _BINARY_SUBSCR_DICT 203,093,580 0.6% 82.9%
_START_EXECUTOR _TIER2_RESUME_CHECK 186,496,100 0.5% 83.4%
_TO_BOOL_BOOL _GUARD_IS_TRUE_POP 173,349,540 0.5% 83.9%
_ITER_CHECK_TUPLE _GUARD_NOT_EXHAUSTED_TUPLE 132,031,700 0.4% 84.3%
_TIER2_RESUME_CHECK _ITER_CHECK_TUPLE 132,031,700 0.4% 84.6%
_BINARY_SUBSCR_DICT _CHECK_VALIDITY 131,009,900 0.4% 85.0%
_CALL_ISINSTANCE _CHECK_VALIDITY 124,587,880 0.4% 85.4%
_SET_IP _CALL_ISINSTANCE 124,587,880 0.4% 85.7%
_CHECK_VALIDITY _TO_BOOL_BOOL 124,587,880 0.4% 86.1%
_START_EXECUTOR _GUARD_IS_TRUE_POP 115,493,220 0.3% 86.4%
_CHECK_VALIDITY _EXIT_TRACE 109,796,160 0.3% 86.7%
_CONTAINS_OP_DICT _CHECK_VALIDITY 104,748,380 0.3% 87.0%
_SET_IP _CONTAINS_OP_DICT 104,748,380 0.3% 87.3%
_CHECK_VALIDITY _STORE_FAST_3 101,740,960 0.3% 87.6%
_LOAD_FAST_3 _LOAD_CONST_INLINE_BORROW 99,644,700 0.3% 87.9%
_GUARD_IS_TRUE_POP _LOAD_FAST_1 86,117,620 0.2% 88.1%
_START_EXECUTOR _GUARD_IS_FALSE_POP 81,013,400 0.2% 88.4%
_LOAD_FAST_4 _SET_IP 79,841,660 0.2% 88.6%
_START_EXECUTOR _SET_IP 79,614,660 0.2% 88.8%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 79,553,280 0.2% 89.0%
_CHECK_VALIDITY _LOAD_FAST_3 79,054,400 0.2% 89.3%
_STORE_FAST_4 _LOAD_FAST_4 77,708,380 0.2% 89.5%
_GUARD_IS_FALSE_POP _LOAD_FAST_3 76,786,900 0.2% 89.7%
_GUARD_NOT_EXHAUSTED_TUPLE _ITER_NEXT_TUPLE 76,275,480 0.2% 89.9%
_LOAD_FAST_3 _LOAD_FAST_4 75,811,020 0.2% 90.1%
_ITER_NEXT_TUPLE _STORE_FAST_4 74,355,580 0.2% 90.3%
_LOAD_FAST_4 _LOAD_FAST_3 74,355,580 0.2% 90.6%
_LOAD_FAST_2 _LOAD_FAST_3 74,092,160 0.2% 90.8%
_SET_IP _LOAD_GLOBAL 73,788,940 0.2% 91.0%
_CHECK_FUNCTION _LOAD_CONST_INLINE_BORROW 73,710,220 0.2% 91.2%
_LOAD_FAST_3 _CHECK_FUNCTION 73,710,220 0.2% 91.4%
_LOAD_GLOBAL _CHECK_VALIDITY 73,710,220 0.2% 91.6%
_STORE_FAST_3 _LOAD_FAST_2 72,087,180 0.2% 91.8%
_BINARY_SUBSCR_DICT _CHECK_VALIDITY_AND_SET_IP 72,083,680 0.2% 92.0%
_CHECK_VALIDITY_AND_SET_IP _CONTAINS_OP_SET 72,083,680 0.2% 92.2%
_LOAD_FAST_2 _TO_BOOL_BOOL 71,038,720 0.2% 92.4%
_GUARD_NOT_EXHAUSTED_TUPLE _EXIT_TRACE 55,756,220 0.2% 92.6%
_START_EXECUTOR _POP_TOP 55,751,100 0.2% 92.7%
_GUARD_IS_FALSE_POP _EXIT_TRACE 53,146,860 0.2% 92.9%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_3 50,877,660 0.1% 93.0%
_GUARD_IS_TRUE_POP _CHECK_FUNCTION 50,872,720 0.1% 93.2%
_LOAD_FAST_5 _LOAD_CONST_INLINE_BORROW 50,865,280 0.1% 93.3%
_LOAD_FAST_1 _EXIT_TRACE 50,556,360 0.1% 93.5%
_TO_BOOL_BOOL _GUARD_IS_FALSE_POP 47,713,320 0.1% 93.6%
_LOAD_CONST_INLINE _SET_IP 39,681,120 0.1% 93.7%
_RESUME_CHECK _LOAD_FAST_0 39,596,800 0.1% 93.8%
_SAVE_RETURN_OFFSET _PUSH_FRAME 39,596,800 0.1% 93.9%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 37,491,660 0.1% 94.1%
_PUSH_FRAME _RESUME_CHECK 37,491,660 0.1% 94.2%
_INIT_CALL_PY_EXACT_ARGS_3 _SAVE_RETURN_OFFSET 34,141,640 0.1% 94.3%
_SET_IP _BINARY_SUBSCR 30,795,860 0.1% 94.3%
_BINARY_SUBSCR _CHECK_VALIDITY 30,795,860 0.1% 94.4%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 30,791,620 0.1% 94.5%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_3 30,791,620 0.1% 94.6%
_CHECK_VALIDITY _STORE_FAST_5 29,641,640 0.1% 94.7%
_LOAD_FAST_1 _SET_IP 27,733,020 0.1% 94.8%
_LOAD_FAST_6 _SET_IP 27,547,000 0.1% 94.9%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_2 27,441,120 0.1% 94.9%
_LOAD_FAST_3 _LOAD_CONST_INLINE 27,441,120 0.1% 95.0%
_TIER2_RESUME_CHECK _CHECK_FUNCTION 27,441,120 0.1% 95.1%
_POP_TOP _LOAD_FAST_3 27,064,680 0.1% 95.2%
_LOAD_FAST_3 _EXIT_TRACE 27,064,680 0.1% 95.2%
_POP_TOP _LOAD_FAST_1 26,362,160 0.1% 95.3%
_CHECK_VALIDITY _STORE_FAST_6 26,362,160 0.1% 95.4%
_LOAD_FAST_6 _LOAD_FAST_3 26,362,160 0.1% 95.5%
_STORE_FAST_6 _LOAD_FAST_6 26,362,160 0.1% 95.5%
_GUARD_IS_TRUE_POP _LOAD_FAST_3 25,441,520 0.1% 95.6%
_GUARD_IS_FALSE_POP _LOAD_FAST_5 25,432,640 0.1% 95.7%
_LOAD_FAST_2 _LOAD_FAST_5 25,432,640 0.1% 95.8%

Unsupported opcodes

unsupported opcodes
Opcode Count
BINARY_OP_INPLACE_ADD_UNICODE 60

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