Skip to content

Latest commit

 

History

History
10596 lines (9778 loc) · 197 KB

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

File metadata and controls

10596 lines (9778 loc) · 197 KB

Pystats results

  • benchmark: pickle_pure_python
  • 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 109,771,280 24.0% 24.0%
STORE_FAST 34,799,520 7.6% 31.6%
LOAD_GLOBAL_BUILTIN 24,152,720 5.3% 36.9%
LOAD_ATTR_INSTANCE_VALUE 24,043,740 5.3% 42.1%
RETURN_CONST 22,352,620 4.9% 47.0%
POP_JUMP_IF_FALSE 21,544,800 4.7% 51.7%
POP_TOP 19,892,660 4.3% 56.1%
RESUME_CHECK 17,715,720 3.9% 59.9%
LOAD_CONST 16,602,840 3.6% 63.6%
POP_JUMP_IF_NONE 11,470,600 2.5% 66.1%
LOAD_ATTR_METHOD_NO_DICT 10,804,540 2.4% 68.4%
LOAD_GLOBAL_MODULE 9,682,300 2.1% 70.6%
COMPARE_OP_INT 9,132,020 2.0% 72.6% 0.9%
ENTER_EXECUTOR 8,902,020 1.9% 74.5%
LOAD_ATTR_METHOD_WITH_VALUES 8,840,160 1.9% 76.4%
CALL_PY_EXACT_ARGS 8,806,640 1.9% 78.4% 10.8%
TO_BOOL_BOOL 8,194,740 1.8% 80.1%
PUSH_NULL 8,087,320 1.8% 81.9%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 7,912,780 1.7% 83.6%
IS_OP 7,553,200 1.7% 85.3%
CALL_METHOD_DESCRIPTOR_FAST 7,501,940 1.6% 86.9%
POP_JUMP_IF_TRUE 4,739,220 1.0% 88.0%
LOAD_FAST_LOAD_FAST 4,711,700 1.0% 89.0%
CALL_BUILTIN_O 4,644,320 1.0% 90.0%
CALL_BUILTIN_FAST 4,416,860 1.0% 91.0%
CALL_METHOD_DESCRIPTOR_NOARGS 4,147,700 0.9% 91.9%
LOAD_ATTR_METHOD_LAZY_DICT 4,143,380 0.9% 92.8%
CALL_PY_GENERAL 4,016,060 0.9% 93.7%
TO_BOOL_ALWAYS_TRUE 3,990,720 0.9% 94.5% 0.1%
CALL_LEN 3,868,340 0.8% 95.4%
CALL_TYPE_1 3,763,720 0.8% 96.2%
CALL_BOUND_METHOD_GENERAL 3,661,280 0.8% 97.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 3,123,480 0.7% 97.7%
RETURN_VALUE 1,711,900 0.4% 98.1%
STORE_ATTR_INSTANCE_VALUE 1,151,700 0.3% 98.3%
CALL_BOUND_METHOD_EXACT_ARGS 992,720 0.2% 98.5%
LOAD_ATTR 543,720 0.1% 98.7%
CALL 416,100 0.1% 98.7%
JUMP_FORWARD 415,700 0.1% 98.8%
COMPARE_OP 369,880 0.1% 98.9%
BINARY_OP 350,940 0.1% 99.0%
BUILD_TUPLE 337,100 0.1% 99.1%
CONTAINS_OP_DICT 336,960 0.1% 99.1%
NOP 332,880 0.1% 99.2%
STORE_SUBSCR_DICT 309,800 0.1% 99.3%
TO_BOOL_INT 309,800 0.1% 99.3%
COPY 258,160 0.1% 99.4%
GET_ITER 256,460 0.1% 99.5%
CALL_BUILTIN_CLASS 256,000 0.1% 99.5%
LOAD_ATTR_MODULE 252,920 0.1% 99.6%
FOR_ITER_LIST 205,700 0.0% 99.6%
CALL_KW 204,800 0.0% 99.7%
SWAP 181,360 0.0% 99.7%
CALL_ISINSTANCE 153,520 0.0% 99.7%
STORE_FAST_STORE_FAST 128,320 0.0% 99.8%
UNPACK_SEQUENCE_TWO_TUPLE 128,280 0.0% 99.8%
POP_JUMP_IF_NOT_NONE 128,000 0.0% 99.8%
INTERPRETER_EXIT 102,420 0.0% 99.8%
BUILD_MAP 102,400 0.0% 99.9%
CALL_NON_PY_GENERAL 76,960 0.0% 99.9%
EXIT_INIT_CHECK 76,780 0.0% 99.9%
CALL_ALLOC_AND_ENTER_INIT 76,780 0.0% 99.9%
COMPARE_OP_STR 76,740 0.0% 99.9%
CALL_METHOD_DESCRIPTOR_O 72,440 0.0% 99.9%
TO_BOOL 52,240 0.0% 100.0%
FOR_ITER_TUPLE 52,180 0.0% 100.0%
BINARY_SUBSCR_TUPLE_INT 27,700 0.0% 100.0%
TO_BOOL_NONE 26,940 0.0% 100.0% 4.7%
CALL_FUNCTION_EX 25,760 0.0% 100.0%
BINARY_OP_ADD_INT 25,580 0.0% 100.0%
BINARY_SUBSCR_DICT 25,580 0.0% 100.0%
LOAD_GLOBAL 4,040 0.0% 100.0%
EXTENDED_ARG 2,620 0.0% 100.0%
JUMP_BACKWARD 2,040 0.0% 100.0%
LOAD_FAST_CHECK 1,600 0.0% 100.0%
BINARY_SUBSCR_LIST_INT 1,580 0.0% 100.0%
STORE_ATTR 600 0.0% 100.0%
RESUME 580 0.0% 100.0%
FOR_ITER_RANGE 380 0.0% 100.0%
FOR_ITER 240 0.0% 100.0%
LOAD_DEREF 240 0.0% 100.0%
BINARY_SUBSCR 160 0.0% 100.0%
CONTAINS_OP 120 0.0% 100.0%
BUILD_LIST 80 0.0% 100.0%
CALL_INTRINSIC_1 80 0.0% 100.0%
COPY_FREE_VARS 80 0.0% 100.0%
LIST_EXTEND 80 0.0% 100.0%
UNPACK_SEQUENCE 80 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%
LOAD_ATTR_WITH_HINT 60 0.0% 100.0%
STORE_SUBSCR 40 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
STORE_FAST LOAD_FAST 27,195,240 5.9% 5.9%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 24,042,580 5.3% 11.2%
RETURN_CONST POP_TOP 18,358,420 4.0% 15.2%
LOAD_GLOBAL_BUILTIN LOAD_FAST 16,369,380 3.6% 18.8%
RESUME_CHECK LOAD_FAST 13,571,180 3.0% 21.8%
POP_JUMP_IF_FALSE LOAD_FAST 12,670,820 2.8% 24.5%
LOAD_FAST POP_JUMP_IF_NONE 11,470,600 2.5% 27.0%
CALL_PY_EXACT_ARGS RESUME_CHECK 8,788,600 1.9% 29.0%
LOAD_FAST LOAD_CONST 8,387,180 1.8% 30.8%
POP_TOP LOAD_FAST 8,346,200 1.8% 32.6%
LOAD_FAST PUSH_NULL 7,808,560 1.7% 34.3%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 7,785,280 1.7% 36.0%
LOAD_FAST LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 7,629,880 1.7% 37.7%
IS_OP POP_JUMP_IF_FALSE 7,553,200 1.7% 39.3%
POP_JUMP_IF_NONE LOAD_FAST 7,528,460 1.6% 41.0%
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST 7,501,940 1.6% 42.6%
ENTER_EXECUTOR RETURN_CONST 7,460,420 1.6% 44.2%
STORE_FAST LOAD_GLOBAL_BUILTIN 7,194,160 1.6% 45.8%
POP_TOP RETURN_CONST 6,490,260 1.4% 47.2%
LOAD_CONST COMPARE_OP_INT 4,903,320 1.1% 48.3%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 4,820,440 1.1% 49.4%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 4,820,100 1.1% 50.4%
LOAD_FAST CALL_PY_EXACT_ARGS 4,587,760 1.0% 51.4%
LOAD_FAST CALL_BUILTIN_O 4,541,800 1.0% 52.4%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 4,250,040 0.9% 53.3%
POP_TOP ENTER_EXECUTOR 4,227,420 0.9% 54.3%
POP_JUMP_IF_TRUE LOAD_FAST 4,147,800 0.9% 55.2%
POP_JUMP_IF_FALSE LOAD_GLOBAL_BUILTIN 4,098,980 0.9% 56.1%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES COMPARE_OP_INT 4,046,560 0.9% 57.0%
LOAD_FAST LOAD_ATTR_METHOD_LAZY_DICT 4,019,680 0.9% 57.8%
LOAD_ATTR_METHOD_LAZY_DICT CALL_METHOD_DESCRIPTOR_NOARGS 4,019,680 0.9% 58.7%
CALL_BUILTIN_FAST STORE_FAST 4,019,620 0.9% 59.6%
CALL_PY_GENERAL RESUME_CHECK 4,016,060 0.9% 60.5%
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_FALSE 3,990,680 0.9% 61.3%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_ALWAYS_TRUE 3,989,460 0.9% 62.2%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_BOOL 3,970,180 0.9% 63.1%
COMPARE_OP_INT POP_JUMP_IF_TRUE 3,968,540 0.9% 63.9%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_WITH_VALUES 3,942,880 0.9% 64.8%
POP_JUMP_IF_FALSE RETURN_CONST 3,893,120 0.9% 65.7%
CALL_METHOD_DESCRIPTOR_NOARGS LOAD_FAST 3,866,180 0.8% 66.5%
LOAD_FAST TO_BOOL_BOOL 3,866,160 0.8% 67.3%
LOAD_FAST LOAD_GLOBAL_BUILTIN 3,865,880 0.8% 68.2%
LOAD_FAST LOAD_GLOBAL_MODULE 3,840,400 0.8% 69.0%
PUSH_NULL LOAD_FAST 3,789,560 0.8% 69.9%
RETURN_CONST STORE_FAST 3,789,400 0.8% 70.7%
RESUME_CHECK RETURN_CONST 3,789,380 0.8% 71.5%
CALL_BUILTIN_O CALL_METHOD_DESCRIPTOR_FAST 3,789,360 0.8% 72.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT 3,789,360 0.8% 73.2%
LOAD_ATTR_METHOD_NO_DICT LOAD_GLOBAL_BUILTIN 3,789,360 0.8% 74.0%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_GENERAL 3,789,360 0.8% 74.8%
PUSH_NULL LOAD_FAST_LOAD_FAST 3,760,560 0.8% 75.7%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 3,738,140 0.8% 76.5%
LOAD_GLOBAL_MODULE IS_OP 3,738,140 0.8% 77.3%
LOAD_CONST LOAD_GLOBAL_MODULE 3,738,080 0.8% 78.1%
POP_JUMP_IF_NONE LOAD_GLOBAL_BUILTIN 3,738,080 0.8% 78.9%
LOAD_GLOBAL_MODULE CALL_BUILTIN_FAST 3,738,080 0.8% 79.7%
CALL_LEN STORE_FAST 3,714,780 0.8% 80.5%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 3,712,480 0.8% 81.4%
CALL_TYPE_1 STORE_FAST 3,686,980 0.8% 82.2%
LOAD_GLOBAL_BUILTIN IS_OP 3,686,980 0.8% 83.0%
LOAD_GLOBAL_BUILTIN STORE_FAST 3,686,980 0.8% 83.8%
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST 3,686,960 0.8% 84.6%
LOAD_FAST CALL_TYPE_1 3,686,960 0.8% 85.4%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES LOAD_ATTR_METHOD_NO_DICT 3,686,960 0.8% 86.2%
CALL_BOUND_METHOD_GENERAL RESUME_CHECK 3,661,280 0.8% 87.0%
LOAD_FAST CALL_BOUND_METHOD_GENERAL 3,661,160 0.8% 87.8%
COMPARE_OP_INT ENTER_EXECUTOR 3,595,640 0.8% 88.6%
LOAD_FAST CALL_LEN 3,558,360 0.8% 89.4%
LOAD_CONST LOAD_CONST 3,328,320 0.7% 90.1%
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 3,302,480 0.7% 90.8%
LOAD_ATTR_METHOD_NO_DICT LOAD_CONST 3,149,060 0.7% 91.5%
LOAD_CONST CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 3,123,440 0.7% 92.2%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS STORE_FAST 3,097,900 0.7% 92.9%
COMPARE_OP_INT POP_JUMP_IF_FALSE 1,412,780 0.3% 93.2%
RETURN_VALUE POP_TOP 1,246,200 0.3% 93.4%
ENTER_EXECUTOR RETURN_VALUE 1,117,440 0.2% 93.7%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 997,880 0.2% 93.9%
CALL_BOUND_METHOD_EXACT_ARGS RESUME_CHECK 992,720 0.2% 94.1%
LOAD_ATTR_INSTANCE_VALUE ENTER_EXECUTOR 945,280 0.2% 94.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST 670,620 0.1% 94.5%
LOAD_CONST LOAD_FAST 630,020 0.1% 94.6%
POP_JUMP_IF_TRUE LOAD_GLOBAL_BUILTIN 591,180 0.1% 94.7%
LOAD_GLOBAL_MODULE CALL_BOUND_METHOD_EXACT_ARGS 488,640 0.1% 94.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_MODULE 447,720 0.1% 94.9%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 439,760 0.1% 95.0%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 409,460 0.1% 95.1%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 383,900 0.1% 95.2%
LOAD_FAST LOAD_ATTR 361,960 0.1% 95.3%
COMPARE_OP POP_JUMP_IF_FALSE 359,360 0.1% 95.4%
CALL_BUILTIN_O LOAD_FAST 336,960 0.1% 95.4%
LOAD_FAST_LOAD_FAST BUILD_TUPLE 335,420 0.1% 95.5%
LOAD_ATTR_INSTANCE_VALUE CONTAINS_OP_DICT 335,340 0.1% 95.6%
POP_TOP JUMP_FORWARD 334,120 0.1% 95.7%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 315,380 0.1% 95.7%
RETURN_VALUE CALL_BOUND_METHOD_EXACT_ARGS 311,880 0.1% 95.8%
POP_TOP LOAD_FAST_LOAD_FAST 309,820 0.1% 95.9%
BUILD_TUPLE LOAD_FAST 309,820 0.1% 95.9%
CONTAINS_OP_DICT POP_JUMP_IF_TRUE 309,800 0.1% 96.0%
LOAD_GLOBAL_MODULE RETURN_VALUE 309,800 0.1% 96.1%
STORE_SUBSCR_DICT RETURN_CONST 309,800 0.1% 96.1%

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 102,360 99.9%
RESUME 60 0.1%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 80 50.0%
LOAD_FAST 80 50.0%
Successors Count Percentage
CALL 40 25.0%
STORE_FAST 40 25.0%
BINARY_SUBSCR_TUPLE_INT 40 25.0%
BINARY_SUBSCR_DICT 20 12.5%
BINARY_SUBSCR_LIST_INT 20 12.5%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 76,780 100.0%
Successors Count Percentage
RETURN_VALUE 76,780 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_FAST 230,860 90.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 25,580 10.0%
CALL 20 0.0%
Successors Count Percentage
FOR_ITER_LIST 204,740 79.8%
FOR_ITER_TUPLE 51,540 20.1%
FOR_ITER 120 0.0%
FOR_ITER_RANGE 60 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_CONST 102,420 100.0%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
STORE_FAST 204,800 61.5%
STORE_ATTR_INSTANCE_VALUE 76,780 23.1%
POP_JUMP_IF_FALSE 51,200 15.4%
POP_TOP 80 0.0%
STORE_ATTR 20 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 204,680 61.5%
LOAD_FAST 128,000 38.5%
LOAD_GLOBAL 120 0.0%
LOAD_DEREF 80 0.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_CONST 18,358,420 92.3%
RETURN_VALUE 1,246,200 6.3%
CALL_BUILTIN_O 153,560 0.8%
POP_JUMP_IF_FALSE 76,800 0.4%
CALL_FUNCTION_EX 25,600 0.1%
Successors Count Percentage
LOAD_FAST 8,346,200 42.0%
RETURN_CONST 6,490,260 32.6%
ENTER_EXECUTOR 4,227,420 21.3%
JUMP_FORWARD 334,120 1.7%
LOAD_FAST_LOAD_FAST 309,820 1.6%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_FAST 7,808,560 96.6%
LOAD_ATTR_MODULE 227,280 2.8%
LOAD_ATTR 51,320 0.6%
LOAD_DEREF 160 0.0%
Successors Count Percentage
LOAD_FAST 3,789,560 46.9%
LOAD_FAST_LOAD_FAST 3,760,560 46.5%
LOAD_GLOBAL_MODULE 309,520 3.8%
CALL 227,280 2.8%
LOAD_GLOBAL 280 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
ENTER_EXECUTOR 1,117,440 65.3%
LOAD_GLOBAL_MODULE 309,800 18.1%
LOAD_FAST 128,000 7.5%
EXIT_INIT_CHECK 76,780 4.5%
CALL_METHOD_DESCRIPTOR_O 46,860 2.7%
Successors Count Percentage
POP_TOP 1,246,200 72.8%
CALL_BOUND_METHOD_EXACT_ARGS 311,880 18.2%
LOAD_FAST 76,780 4.5%
STORE_FAST 51,200 3.0%
UNPACK_SEQUENCE_TWO_TUPLE 25,560 1.5%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
CALL 20 50.0%
CALL_BUILTIN_O 20 50.0%
Successors Count Percentage
RETURN_CONST 20 50.0%
STORE_SUBSCR_DICT 20 50.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 51,280 98.2%
LOAD_ATTR 220 0.4%
LOAD_ATTR_INSTANCE_VALUE 220 0.4%
TO_BOOL 200 0.4%
CALL 140 0.3%
Successors Count Percentage
POP_JUMP_IF_TRUE 51,340 98.3%
TO_BOOL_BOOL 320 0.6%
POP_JUMP_IF_FALSE 280 0.5%
TO_BOOL 200 0.4%
TO_BOOL_ALWAYS_TRUE 60 0.1%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
CALL_BUILTIN_FAST 269,300 76.7%
LOAD_FAST 53,860 15.3%
LOAD_CONST 25,640 7.3%
BINARY_OP 1,980 0.6%
CALL 160 0.0%
Successors Count Percentage
CALL_BOUND_METHOD_EXACT_ARGS 190,280 54.2%
CALL_BUILTIN_O 76,760 21.9%
LOAD_FAST 53,820 15.3%
LOAD_CONST 25,600 7.3%
RETURN_VALUE 2,160 0.6%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
LOAD_FAST 80 100.0%
Successors Count Percentage
LOAD_DEREF 80 100.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 76,780 75.0%
LOAD_FAST 25,600 25.0%
STORE_ATTR 20 0.0%
Successors Count Percentage
LOAD_FAST 76,800 75.0%
CALL_FUNCTION_EX 25,600 25.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 335,420 99.5%
LOAD_FAST_CHECK 1,600 0.5%
LOAD_GLOBAL_MODULE 60 0.0%
LOAD_GLOBAL 20 0.0%
Successors Count Percentage
LOAD_FAST 309,820 91.9%
CALL_BUILTIN_FAST 25,560 7.6%
RETURN_VALUE 1,600 0.5%
STORE_FAST 80 0.0%
CALL 40 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
PUSH_NULL 227,280 54.6%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 179,160 43.1%
ENTER_EXECUTOR 3,200 0.8%
LOAD_FAST 2,080 0.5%
CALL 1,160 0.3%
Successors Count Percentage
CALL_BUILTIN_CLASS 179,200 43.1%
LOAD_FAST 153,760 37.0%
STORE_FAST 77,380 18.6%
CALL 1,160 0.3%
RESUME_CHECK 1,000 0.2%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
BUILD_MAP 25,600 99.4%
CALL_INTRINSIC_1 80 0.3%
LOAD_FAST 80 0.3%
Successors Count Percentage
POP_TOP 25,600 99.4%
COPY_FREE_VARS 80 0.3%
RESUME_CHECK 60 0.2%
RESUME 20 0.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 204,800 100.0%
Successors Count Percentage
RESUME_CHECK 76,800 37.5%
LOAD_ATTR_METHOD_WITH_VALUES 76,760 37.5%
POP_TOP 25,600 12.5%
STORE_FAST 25,600 12.5%
LOAD_ATTR 40 0.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST 211,840 57.3%
COPY 79,040 21.4%
ENTER_EXECUTOR 74,660 20.2%
COMPARE_OP 2,640 0.7%
COMPARE_OP_INT 1,500 0.4%
Successors Count Percentage
POP_JUMP_IF_FALSE 359,360 97.2%
ENTER_EXECUTOR 5,600 1.5%
COMPARE_OP 2,640 0.7%
COMPARE_OP_INT 2,120 0.6%
POP_JUMP_IF_TRUE 60 0.0%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_ATTR 40 33.3%
LOAD_FAST 40 33.3%
LOAD_ATTR_INSTANCE_VALUE 40 33.3%
Successors Count Percentage
CONTAINS_OP_DICT 60 50.0%
POP_JUMP_IF_FALSE 40 33.3%
POP_JUMP_IF_TRUE 20 16.7%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
SWAP 181,360 70.3%
LOAD_FAST 76,800 29.7%
Successors Count Percentage
COMPARE_OP_INT 102,320 39.6%
COMPARE_OP 79,040 30.6%
TO_BOOL_BOOL 76,760 29.7%
TO_BOOL 40 0.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_FUNCTION_EX 80 100.0%
Successors Count Percentage
RESUME_CHECK 60 75.0%
RESUME 20 25.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_TOP 4,227,420 47.5%
COMPARE_OP_INT 3,595,640 40.4%
LOAD_ATTR_INSTANCE_VALUE 945,280 10.6%
POP_JUMP_IF_NONE 101,540 1.1%
STORE_FAST 25,260 0.3%
Successors Count Percentage
RETURN_CONST 7,460,420 83.8%
RETURN_VALUE 1,117,440 12.6%
CALL_PY_EXACT_ARGS 230,100 2.6%
COMPARE_OP 74,660 0.8%
POP_TOP 6,320 0.1%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
POP_TOP 2,620 100.0%
Successors Count Percentage
JUMP_FORWARD 2,620 100.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 120 50.0%
JUMP_BACKWARD 120 50.0%
Successors Count Percentage
STORE_FAST 100 41.7%
FOR_ITER_LIST 60 25.0%
FOR_ITER_TUPLE 40 16.7%
UNPACK_SEQUENCE 20 8.3%
FOR_ITER_RANGE 20 8.3%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 3,738,140 49.5%
LOAD_GLOBAL_BUILTIN 3,686,980 48.8%
CALL_TYPE_1 76,740 1.0%
LOAD_FAST_LOAD_FAST 51,200 0.7%
LOAD_GLOBAL 80 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 7,553,200 100.0%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_TOP 1,600 78.4%
STORE_FAST 340 16.7%
FOR_ITER_TUPLE 100 4.9%
Successors Count Percentage
FOR_ITER_LIST 900 44.1%
FOR_ITER_TUPLE 600 29.4%
FOR_ITER_RANGE 300 14.7%
FOR_ITER 120 5.9%
POP_TOP 40 2.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
POP_TOP 334,120 80.4%
POP_JUMP_IF_FALSE 53,360 12.8%
STORE_FAST 25,600 6.2%
EXTENDED_ARG 2,620 0.6%
Successors Count Percentage
LOAD_FAST 286,380 68.9%
LOAD_FAST_LOAD_FAST 103,720 25.0%
LOAD_GLOBAL_BUILTIN 25,560 6.1%
LOAD_GLOBAL 40 0.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 361,960 66.6%
LOAD_ATTR_INSTANCE_VALUE 153,680 28.3%
LOAD_GLOBAL_MODULE 25,720 4.7%
LOAD_ATTR 1,940 0.4%
LOAD_FAST_LOAD_FAST 160 0.0%
Successors Count Percentage
STORE_FAST 256,200 47.1%
LOAD_FAST 230,900 42.5%
PUSH_NULL 51,320 9.4%
LOAD_ATTR 1,940 0.4%
LOAD_ATTR_INSTANCE_VALUE 1,160 0.2%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_FAST 8,387,180 50.5%
LOAD_CONST 3,328,320 20.0%
LOAD_ATTR_METHOD_NO_DICT 3,149,060 19.0%
LOAD_ATTR_INSTANCE_VALUE 670,620 4.0%
LOAD_GLOBAL_MODULE 269,300 1.6%
Successors Count Percentage
COMPARE_OP_INT 4,903,320 29.5%
LOAD_GLOBAL_MODULE 3,738,080 22.5%
LOAD_CONST 3,328,320 20.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 3,123,440 18.8%
LOAD_FAST 630,020 3.8%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
NOP 80 33.3%
BUILD_LIST 80 33.3%
RESUME_CHECK 60 25.0%
RESUME 20 8.3%
Successors Count Percentage
PUSH_NULL 160 66.7%
LIST_EXTEND 80 33.3%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
STORE_FAST 27,195,240 24.8%
LOAD_GLOBAL_BUILTIN 16,369,380 14.9%
RESUME_CHECK 13,571,180 12.4%
POP_JUMP_IF_FALSE 12,670,820 11.5%
POP_TOP 8,346,200 7.6%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 24,042,580 21.9%
POP_JUMP_IF_NONE 11,470,600 10.4%
LOAD_CONST 8,387,180 7.6%
PUSH_NULL 7,808,560 7.1%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 7,629,880 7.0%

LOAD_FAST_CHECK

Successors and predecessors for LOAD_FAST_CHECK
Predecessors Count Percentage
LOAD_FAST 1,600 100.0%
Successors Count Percentage
BUILD_TUPLE 1,600 100.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
PUSH_NULL 3,760,560 79.8%
POP_TOP 309,820 6.6%
LOAD_GLOBAL_MODULE 307,100 6.5%
JUMP_FORWARD 103,720 2.2%
POP_JUMP_IF_NONE 76,800 1.6%
Successors Count Percentage
CALL_PY_EXACT_ARGS 3,712,480 78.8%
BUILD_TUPLE 335,420 7.1%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 282,760 6.0%
STORE_ATTR_INSTANCE_VALUE 153,520 3.3%
LOAD_FAST 76,800 1.6%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
LOAD_FAST 520 12.9%
STORE_FAST 520 12.9%
POP_JUMP_IF_FALSE 440 10.9%
PUSH_NULL 280 6.9%
LOAD_GLOBAL 260 6.4%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,080 26.7%
LOAD_GLOBAL_BUILTIN 940 23.3%
LOAD_FAST 740 18.3%
CALL 380 9.4%
LOAD_GLOBAL 260 6.4%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
TO_BOOL_BOOL 7,785,280 36.1%
IS_OP 7,553,200 35.1%
TO_BOOL_ALWAYS_TRUE 3,990,680 18.5%
COMPARE_OP_INT 1,412,780 6.6%
COMPARE_OP 359,360 1.7%
Successors Count Percentage
LOAD_FAST 12,670,820 58.8%
LOAD_GLOBAL_BUILTIN 4,098,980 19.0%
RETURN_CONST 3,893,120 18.1%
LOAD_GLOBAL_MODULE 439,760 2.0%
LOAD_CONST 260,320 1.2%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 11,470,600 100.0%
Successors Count Percentage
LOAD_FAST 7,528,460 65.6%
LOAD_GLOBAL_BUILTIN 3,738,080 32.6%
ENTER_EXECUTOR 101,540 0.9%
LOAD_FAST_LOAD_FAST 76,800 0.7%
RETURN_CONST 25,600 0.2%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 128,000 100.0%
Successors Count Percentage
LOAD_FAST 76,800 60.0%
LOAD_GLOBAL_BUILTIN 25,560 20.0%
LOAD_GLOBAL_MODULE 25,560 20.0%
LOAD_GLOBAL 80 0.1%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
COMPARE_OP_INT 3,968,540 83.7%
TO_BOOL_BOOL 409,460 8.6%
CONTAINS_OP_DICT 309,800 6.5%
TO_BOOL 51,340 1.1%
COMPARE_OP 60 0.0%
Successors Count Percentage
LOAD_FAST 4,147,800 87.5%
LOAD_GLOBAL_BUILTIN 591,180 12.5%
LOAD_GLOBAL 240 0.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
ENTER_EXECUTOR 7,460,420 33.4%
POP_TOP 6,490,260 29.0%
POP_JUMP_IF_FALSE 3,893,120 17.4%
RESUME_CHECK 3,789,380 17.0%
STORE_ATTR_INSTANCE_VALUE 383,900 1.7%
Successors Count Percentage
POP_TOP 18,358,420 82.1%
STORE_FAST 3,789,400 17.0%
INTERPRETER_EXIT 102,420 0.5%
EXIT_INIT_CHECK 76,780 0.3%
RETURN_VALUE 25,600 0.1%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 520 86.7%
LOAD_FAST_LOAD_FAST 80 13.3%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 300 50.0%
RETURN_CONST 100 16.7%
LOAD_FAST 80 13.3%
LOAD_CONST 40 6.7%
LOAD_GLOBAL 40 6.7%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 7,501,940 21.6%
LOAD_ATTR_INSTANCE_VALUE 4,250,040 12.2%
CALL_BUILTIN_FAST 4,019,620 11.6%
RETURN_CONST 3,789,400 10.9%
CALL_LEN 3,714,780 10.7%
Successors Count Percentage
LOAD_FAST 27,195,240 78.1%
LOAD_GLOBAL_BUILTIN 7,194,160 20.7%
NOP 204,800 0.6%
LOAD_GLOBAL_MODULE 102,400 0.3%
JUMP_FORWARD 25,600 0.1%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 128,280 100.0%
UNPACK_SEQUENCE 40 0.0%
Successors Count Percentage
LOAD_FAST 102,720 80.0%
LOAD_FAST_LOAD_FAST 25,600 20.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST 181,360 100.0%
Successors Count Percentage
COPY 181,360 100.0%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
RETURN_VALUE 40 50.0%
FOR_ITER 20 25.0%
FOR_ITER_LIST 20 25.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 40 50.0%
UNPACK_SEQUENCE_TWO_TUPLE 40 50.0%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 360 62.1%
CALL_PY_EXACT_ARGS 120 20.7%
CACHE 60 10.3%
CALL_FUNCTION_EX 20 3.4%
COPY_FREE_VARS 20 3.4%
Successors Count Percentage
LOAD_FAST 400 69.0%
LOAD_GLOBAL 120 20.7%
LOAD_DEREF 20 3.4%
LOAD_FAST_LOAD_FAST 20 3.4%
RETURN_CONST 20 3.4%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 25,560 99.9%
BINARY_OP 20 0.1%
Successors Count Percentage
STORE_FAST 25,580 100.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
LOAD_FAST 25,560 99.9%
BINARY_SUBSCR 20 0.1%
Successors Count Percentage
STORE_FAST 25,580 100.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 1,560 98.7%
BINARY_SUBSCR 20 1.3%
Successors Count Percentage
CALL_BOUND_METHOD_EXACT_ARGS 1,560 98.7%
CALL 20 1.3%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 27,660 99.9%
BINARY_SUBSCR 40 0.1%
Successors Count Percentage
STORE_FAST 25,580 92.3%
CALL_PY_EXACT_ARGS 2,100 7.6%
CALL 20 0.1%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 76,760 100.0%
CALL 20 0.0%
Successors Count Percentage
RESUME_CHECK 76,780 100.0%

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 488,640 49.2%
RETURN_VALUE 311,880 31.4%
BINARY_OP 190,280 19.2%
BINARY_SUBSCR_LIST_INT 1,560 0.2%
CALL 360 0.0%
Successors Count Percentage
RESUME_CHECK 992,720 100.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_FAST 3,661,160 100.0%
CALL 120 0.0%
Successors Count Percentage
RESUME_CHECK 3,661,280 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
CALL 179,200 70.0%
LOAD_FAST 76,800 30.0%
Successors Count Percentage
STORE_FAST 179,220 70.0%
LOAD_FAST 76,780 30.0%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 3,738,080 84.6%
LOAD_FAST 294,740 6.7%
LOAD_CONST 153,440 3.5%
CALL_LEN 76,760 1.7%
LOAD_ATTR_INSTANCE_VALUE 76,760 1.7%
Successors Count Percentage
STORE_FAST 4,019,620 91.0%
BINARY_OP 269,300 6.1%
TO_BOOL_BOOL 102,320 2.3%
LOAD_ATTR_METHOD_NO_DICT 25,560 0.6%
TO_BOOL 40 0.0%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
LOAD_FAST 4,541,800 97.8%
BINARY_OP 76,760 1.7%
LOAD_ATTR_INSTANCE_VALUE 25,560 0.6%
CALL 200 0.0%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 3,789,360 81.6%
LOAD_FAST 336,960 7.3%
STORE_SUBSCR_DICT 309,780 6.7%
POP_TOP 153,560 3.3%
STORE_FAST 25,580 0.6%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 76,760 50.0%
LOAD_GLOBAL_BUILTIN 76,680 49.9%
CALL 80 0.1%
Successors Count Percentage
TO_BOOL_BOOL 153,440 99.9%
TO_BOOL 80 0.1%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 3,558,360 92.0%
LOAD_ATTR_INSTANCE_VALUE 309,780 8.0%
CALL 200 0.0%
Successors Count Percentage
STORE_FAST 3,714,780 96.0%
LOAD_FAST 76,780 2.0%
CALL_BUILTIN_FAST 76,760 2.0%
CALL 20 0.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
CALL_BUILTIN_O 3,789,360 50.5%
LOAD_FAST 3,686,960 49.1%
LOAD_GLOBAL_MODULE 25,560 0.3%
CALL 60 0.0%
Successors Count Percentage
STORE_FAST 7,501,940 100.0%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_CONST 3,123,440 100.0%
CALL 40 0.0%
Successors Count Percentage
STORE_FAST 3,097,900 99.2%
GET_ITER 25,580 0.8%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 4,019,680 96.9%
LOAD_ATTR_METHOD_NO_DICT 127,920 3.1%
CALL 100 0.0%
Successors Count Percentage
LOAD_FAST 3,866,180 93.2%
LOAD_CONST 102,360 2.5%
CALL_PY_EXACT_ARGS 102,360 2.5%
STORE_FAST 76,780 1.9%
CALL 20 0.0%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 46,840 64.7%
LOAD_CONST 25,560 35.3%
CALL 40 0.1%
Successors Count Percentage
RETURN_VALUE 46,860 64.7%
LOAD_CONST 25,580 35.3%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 76,760 99.7%
PUSH_NULL 120 0.2%
CALL 80 0.1%
Successors Count Percentage
STORE_FAST 76,840 99.8%
POP_TOP 60 0.1%
LOAD_FAST 60 0.1%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 4,587,760 52.1%
LOAD_FAST_LOAD_FAST 3,712,480 42.2%
ENTER_EXECUTOR 230,100 2.6%
LOAD_ATTR_METHOD_WITH_VALUES 153,520 1.7%
CALL_METHOD_DESCRIPTOR_NOARGS 102,360 1.2%
Successors Count Percentage
RESUME_CHECK 8,788,600 99.8%
CALL_PY_EXACT_ARGS 17,920 0.2%
RESUME 120 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 3,789,360 94.4%
LOAD_FAST 153,440 3.8%
LOAD_FAST_LOAD_FAST 72,760 1.8%
CALL 500 0.0%
Successors Count Percentage
RESUME_CHECK 4,016,060 100.0%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_FAST 3,686,960 98.0%
LOAD_CONST 51,120 1.4%
LOAD_GLOBAL_BUILTIN 25,560 0.7%
CALL 80 0.0%
Successors Count Percentage
STORE_FAST 3,686,980 98.0%
IS_OP 76,740 2.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_CONST 4,903,320 53.7%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 4,046,560 44.3%
COPY 102,320 1.1%
LOAD_GLOBAL_MODULE 76,760 0.8%
COMPARE_OP 2,120 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 3,968,540 43.5%
ENTER_EXECUTOR 3,595,640 39.4%
POP_JUMP_IF_FALSE 1,412,780 15.5%
LOAD_FAST 153,560 1.7%
COMPARE_OP 1,500 0.0%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
LOAD_CONST 76,680 99.9%
COMPARE_OP 60 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 76,740 100.0%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 335,340 99.5%
LOAD_FAST 1,560 0.5%
CONTAINS_OP 60 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 309,800 91.9%
POP_JUMP_IF_FALSE 27,160 8.1%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 204,740 99.5%
JUMP_BACKWARD 900 0.4%
FOR_ITER 60 0.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 102,680 49.9%
STORE_FAST 102,640 49.9%
LOAD_FAST 360 0.2%
UNPACK_SEQUENCE 20 0.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
JUMP_BACKWARD 300 78.9%
GET_ITER 60 15.8%
FOR_ITER 20 5.3%
Successors Count Percentage
STORE_FAST 360 94.7%
LOAD_GLOBAL 20 5.3%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
GET_ITER 51,540 98.8%
JUMP_BACKWARD 600 1.1%
FOR_ITER 40 0.1%
Successors Count Percentage
STORE_FAST 51,760 99.2%
LOAD_GLOBAL_BUILTIN 280 0.5%
JUMP_BACKWARD 100 0.2%
LOAD_GLOBAL 40 0.1%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 24,042,580 100.0%
LOAD_ATTR 1,160 0.0%
Successors Count Percentage
STORE_FAST 4,250,040 17.7%
TO_BOOL_ALWAYS_TRUE 3,989,460 16.6%
TO_BOOL_BOOL 3,970,180 16.5%
LOAD_ATTR_METHOD_WITH_VALUES 3,942,880 16.4%
LOAD_ATTR_METHOD_NO_DICT 3,789,360 15.8%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_FAST 4,019,680 97.0%
LOAD_ATTR_INSTANCE_VALUE 123,600 3.0%
LOAD_ATTR 100 0.0%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_NOARGS 4,019,680 97.0%
CALL_NON_PY_GENERAL 76,760 1.9%
LOAD_FAST 46,860 1.1%
CALL 80 0.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,789,360 35.1%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 3,686,960 34.1%
LOAD_FAST 3,302,480 30.6%
CALL_BUILTIN_FAST 25,560 0.2%
LOAD_ATTR 180 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 3,789,360 35.1%
LOAD_FAST 3,738,140 34.6%
LOAD_CONST 3,149,060 29.1%
CALL_METHOD_DESCRIPTOR_NOARGS 127,920 1.2%
CALL 40 0.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 4,820,100 54.5%
LOAD_ATTR_INSTANCE_VALUE 3,942,880 44.6%
CALL_KW 76,760 0.9%
LOAD_ATTR 420 0.0%
Successors Count Percentage
LOAD_FAST 4,820,440 54.5%
CALL_PY_GENERAL 3,789,360 42.9%
CALL_PY_EXACT_ARGS 153,520 1.7%
LOAD_CONST 76,780 0.9%
CALL 60 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 252,720 99.9%
LOAD_ATTR 160 0.1%
LOAD_FAST 40 0.0%
Successors Count Percentage
PUSH_NULL 227,280 89.9%
LOAD_FAST 25,580 10.1%
STORE_FAST 60 0.0%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 7,629,880 96.4%
LOAD_FAST_LOAD_FAST 282,760 3.6%
LOAD_ATTR 140 0.0%
Successors Count Percentage
COMPARE_OP_INT 4,046,560 51.1%
LOAD_ATTR_METHOD_NO_DICT 3,686,960 46.6%
CALL 179,160 2.3%
COMPARE_OP 80 0.0%
LOAD_ATTR 20 0.0%

LOAD_ATTR_WITH_HINT

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

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
STORE_FAST 7,194,160 29.8%
POP_JUMP_IF_FALSE 4,098,980 17.0%
LOAD_FAST 3,865,880 16.0%
LOAD_ATTR_METHOD_NO_DICT 3,789,360 15.7%
POP_JUMP_IF_NONE 3,738,080 15.5%
Successors Count Percentage
LOAD_FAST 16,369,380 67.8%
IS_OP 3,686,980 15.3%
STORE_FAST 3,686,980 15.3%
LOAD_GLOBAL_MODULE 179,120 0.7%
CALL_ISINSTANCE 76,680 0.3%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_FAST 3,840,400 39.7%
LOAD_CONST 3,738,080 38.6%
LOAD_ATTR_INSTANCE_VALUE 447,720 4.6%
POP_JUMP_IF_FALSE 439,760 4.5%
PUSH_NULL 309,520 3.2%
Successors Count Percentage
IS_OP 3,738,140 38.6%
CALL_BUILTIN_FAST 3,738,080 38.6%
CALL_BOUND_METHOD_EXACT_ARGS 488,640 5.0%
RETURN_VALUE 309,800 3.2%
LOAD_FAST_LOAD_FAST 307,100 3.2%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 8,788,600 49.6%
CALL_PY_GENERAL 4,016,060 22.7%
CALL_BOUND_METHOD_GENERAL 3,661,280 20.7%
CALL_BOUND_METHOD_EXACT_ARGS 992,720 5.6%
CACHE 102,360 0.6%
Successors Count Percentage
LOAD_FAST 13,571,180 76.6%
RETURN_CONST 3,789,380 21.4%
LOAD_GLOBAL_MODULE 150,280 0.8%
LOAD_GLOBAL_BUILTIN 127,920 0.7%
LOAD_FAST_LOAD_FAST 76,780 0.4%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 997,880 86.6%
LOAD_FAST_LOAD_FAST 153,520 13.3%
STORE_ATTR 300 0.0%
Successors Count Percentage
RETURN_CONST 383,900 33.3%
LOAD_FAST 307,120 26.7%
LOAD_CONST 153,560 13.3%
NOP 76,780 6.7%
BUILD_MAP 76,780 6.7%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
CALL_BUILTIN_O 309,780 100.0%
STORE_SUBSCR 20 0.0%
Successors Count Percentage
RETURN_CONST 309,800 100.0%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,989,460 100.0%
ENTER_EXECUTOR 1,180 0.0%
TO_BOOL 60 0.0%
TO_BOOL_NONE 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 3,990,680 100.0%
TO_BOOL_NONE 40 0.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,970,180 48.4%
LOAD_FAST 3,866,160 47.2%
CALL_ISINSTANCE 153,440 1.9%
CALL_BUILTIN_FAST 102,320 1.2%
COPY 76,760 0.9%
Successors Count Percentage
POP_JUMP_IF_FALSE 7,785,280 95.0%
POP_JUMP_IF_TRUE 409,460 5.0%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 309,780 100.0%
TO_BOOL 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 309,800 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_FAST 25,560 94.9%
LOAD_ATTR_INSTANCE_VALUE 1,220 4.5%
ENTER_EXECUTOR 100 0.4%
TO_BOOL_ALWAYS_TRUE 40 0.1%
TO_BOOL 20 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 26,920 99.9%
TO_BOOL_ALWAYS_TRUE 20 0.1%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
FOR_ITER_LIST 102,680 80.0%
RETURN_VALUE 25,560 19.9%
UNPACK_SEQUENCE 40 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 128,280 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.

348,920 92.7%
hit

Specialized instructions that complete.

25,640 6.8%
Success Count Ratio
Success 40 2.0%
Failure 1,980 98.0%
Failure kind Count Ratio
add other 1,800 90.9%
rshift 180 9.1%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

80 0.1%
hit

Specialized instructions that complete.

54,860 99.7%
Success Count Ratio
Success 80 100.0%
Failure 0 0.0%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

1,344,660 3.1%
hit

Specialized instructions that complete.

41,866,940 96.8%
miss

Specialized instructions that deopt.

950,240 2.2%
Success Count Ratio
Success 20,660 95.3%
Failure 1,020 4.7%
Failure kind Count Ratio
class no vectorcall 1,020 100.0%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

443,180 4.6%
hit

Specialized instructions that complete.

9,129,140 95.3%
miss

Specialized instructions that deopt.

79,620 0.8%
Success Count Ratio
Success 2,180 34.5%
Failure 4,140 65.5%
Failure kind Count Ratio
big int 4,140 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.

60 0.0%
hit

Specialized instructions that complete.

336,960 100.0%
Success Count Ratio
Success 60 100.0%
Failure 0 0.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

120 0.0%
hit

Specialized instructions that complete.

258,260 99.9%
Success Count Ratio
Success 120 100.0%
Failure 0 0.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

539,780 1.0%
hit

Specialized instructions that complete.

55,997,580 99.0%
Success Count Ratio
Success 2,180 55.3%
Failure 1,760 44.7%
Failure kind Count Ratio
method 1,760 100.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

2,020 0.0%
hit

Specialized instructions that complete.

33,835,020 100.0%
Success Count Ratio
Success 2,020 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

POP_JUMP_IF_NONE

specialization stats for POP_JUMP_IF_NONE family

POP_JUMP_IF_NOT_NONE

specialization stats for POP_JUMP_IF_NOT_NONE family

POP_JUMP_IF_TRUE

specialization stats for POP_JUMP_IF_TRUE family

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

300 0.0%
hit

Specialized instructions that complete.

1,151,700 99.9%
Success Count Ratio
Success 300 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.

20 0.0%
hit

Specialized instructions that complete.

309,800 100.0%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

54,940 0.6%
hit

Specialized instructions that complete.

8,530,220 99.4%
miss

Specialized instructions that deopt.

3,380 0.0%
Success Count Ratio
Success 480 70.6%
Failure 200 29.4%
Failure kind Count Ratio
tuple 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.

40 0.0%
hit

Specialized instructions that complete.

128,280 99.9%
Success Count Ratio
Success 40 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.

236,814,600 51.8%
Not specialized

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

39,620,780 8.7%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

180,090,300 39.4%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

1,033,240 0.2%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
CALL 1,344,660 49.2%
LOAD_ATTR 539,780 19.7%
COMPARE_OP 443,180 16.2%
BINARY_OP 348,920 12.8%
TO_BOOL 54,940 2.0%
LOAD_GLOBAL 2,020 0.1%
STORE_ATTR 300 0.0%
FOR_ITER 120 0.0%
BINARY_SUBSCR 80 0.0%
CONTAINS_OP 60 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
CALL_PY_EXACT_ARGS 950,240 92.0%
COMPARE_OP_INT 79,620 7.7%
TO_BOOL_ALWAYS_TRUE 2,120 0.2%
TO_BOOL_NONE 1,260 0.1%
CACHE 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%
INTERPRETER_EXIT 0 0.0%
NOP 0 0.0%
POP_TOP 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 102,420 0.2%
Calls to Python functions inlined 55,270,540 99.8%
Calls via PyEval_EvalFrame (total) 102,420 0.2%
Calls via PyEval_EvalFrame (vector) 102,420 0.2%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 102,420 0.2%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 160 0.0%
Calls via PyEval_EvalFrame (api) 0 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 0 0.0%
Frames pushed 55,449,740 100.1%

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 9,213,400 17.1%
Frees to freelist 9,217,740
Allocations 44,702,780 82.9%
Allocations to 512 bytes 44,523,300 82.6%
Allocations to 4 kbytes 153,800 0.3%
Allocations over 4 kbytes 25,680 0.0%
Frees 44,694,335
Inline values 153,600
Interpreter increfs 627,683,420 90.8%
Interpreter decrefs 677,199,980 91.0%
Increfs 63,430,295 9.2%
Decrefs 67,108,597 9.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 6,704,001
Method cache misses 35,359
Method cache collisions 37,457
Method cache dunder hits 483,549
Method cache dunder misses 2,891

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.

3,340
Traces created

The number of traces that were successfully created.

320 9.6%
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.

2,980 89.2%
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.

3,020 90.4%
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.

60 1.8%
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

22,311,480
Uops executed

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

1,633,535,100 7,321.5%
Count Ratio
Optimizer attempts

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

320
Optimizer successes

The number of traces that were successfully optimized.

320 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 0 0.0%
<= 16 40 12.5%
<= 32 20 6.2%
<= 64 60 18.8%
<= 128 100 31.2%
<= 256 80 25.0%
<= 512 20 6.2%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 20 6.2%
<= 16 20 6.2%
<= 32 100 31.2%
<= 64 60 18.8%
<= 128 40 12.5%
<= 256 80 25.0%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 783,900 3.5%
<= 16 73,320 0.3%
<= 32 1,124,480 5.0%
<= 64 476,940 2.1%
<= 128 3,938,100 17.7%
<= 256 7,087,980 31.8%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_GUARD_TYPE_VERSION 153,029,000 9.4% 9.4%
_LOAD_FAST_0 112,389,800 6.9% 16.2%
_SET_IP 94,891,840 5.8% 22.1%
_CHECK_MANAGED_OBJECT_HAS_VALUES 86,035,100 5.3% 27.3%
_LOAD_ATTR_INSTANCE_VALUE_0 73,793,860 4.5% 31.8%
_CHECK_VALIDITY 64,994,300 4.0% 35.8%
_LOAD_FAST_1 57,585,120 3.5% 39.3%
_CHECK_PERIODIC 48,514,820 3.0% 42.3%
_GUARD_IS_TRUE_POP 46,358,780 2.8% 45.2% 0.2%
_RESUME_CHECK 37,656,660 2.3% 47.5%
_PUSH_FRAME 37,656,660 2.3% 49.8%
_SAVE_RETURN_OFFSET 37,656,660 2.3% 52.1%
_POP_FRAME 31,385,220 1.9% 54.0%
_CHECK_FUNCTION_EXACT_ARGS 29,897,540 1.8% 55.8% 0.8%
_LOAD_CONST_INLINE_WITH_NULL 29,620,360 1.8% 57.6%
_INIT_CALL_PY_EXACT_ARGS_1 27,542,940 1.7% 59.3%
_LOAD_CONST_INLINE 26,125,020 1.6% 60.9%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 25,614,500 1.6% 62.5%
_GUARD_KEYS_VERSION 25,614,500 1.6% 64.1%
_LOAD_FAST_2 23,848,220 1.5% 65.5%
_LOAD_CONST_INLINE_BORROW 23,376,440 1.4% 66.9%
_CHECK_VALIDITY_AND_SET_IP 21,757,600 1.3% 68.3%
_POP_TOP 21,170,380 1.3% 69.6%
_LOAD_ATTR_METHOD_WITH_VALUES 19,191,420 1.2% 70.7%
_COMPARE_OP_INT 18,949,200 1.2% 71.9% 0.4%
_CHECK_ATTR_METHOD_LAZY_DICT 17,206,920 1.1% 73.0%
_LOAD_ATTR_METHOD_LAZY_DICT 17,206,920 1.1% 74.0%
_GUARD_IS_FALSE_POP 16,598,800 1.0% 75.0% 2.1%
_REPLACE_WITH_TRUE 16,186,800 1.0% 76.0%
_LOAD_CONST 15,741,240 1.0% 77.0%
_CALL_BUILTIN_O 13,582,680 0.8% 77.8%
_START_EXECUTOR 13,484,720 0.8% 78.6%
_EXIT_TRACE 13,409,120 0.8% 79.5%
_CALL_METHOD_DESCRIPTOR_O 13,213,920 0.8% 80.3%
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS 12,344,520 0.8% 81.0%
_INIT_CALL_BOUND_METHOD_EXACT_ARGS 12,344,520 0.8% 81.8%
_LOAD_ATTR_INSTANCE_VALUE_1 12,241,240 0.7% 82.5%
_GUARD_NOS_INT 12,195,200 0.7% 83.3%
_BINARY_OP 12,118,320 0.7% 84.0%
_LOAD_FAST_3 10,566,660 0.6% 84.7%
_STORE_FAST_2 10,364,460 0.6% 85.3%
_CHECK_PEP_523 10,340,600 0.6% 85.9%
_CHECK_FUNCTION 9,868,720 0.6% 86.5%
_LOAD_FAST_4 9,751,900 0.6% 87.1%
_CALL_BUILTIN_FAST 9,739,540 0.6% 87.7%
_COLD_EXIT 8,826,760 0.5% 88.3%
_PY_FRAME_GENERAL 7,989,240 0.5% 88.8%
_GUARD_IS_NONE_POP 7,986,000 0.5% 89.3% 20.5%
_LOAD_ATTR_METHOD_NO_DICT 7,985,680 0.5% 89.7%
_STORE_FAST_4 7,960,400 0.5% 90.2%
_TO_BOOL_BOOL 7,856,140 0.5% 90.7%
_CHECK_STACK_SPACE_OPERAND 7,611,140 0.5% 91.2%
_PUSH_NULL 6,530,680 0.4% 91.6%
_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 6,423,080 0.4% 92.0%
_CALL_LEN 6,371,460 0.4% 92.4%
_CALL_METHOD_DESCRIPTOR_FAST 6,347,600 0.4% 92.7%
_GUARD_BOTH_INT 6,192,960 0.4% 93.1%
_CHECK_STACK_SPACE 6,117,480 0.4% 93.5%
_STORE_FAST_5 5,656,680 0.3% 93.8%
_STORE_FAST_3 5,631,080 0.3% 94.2%
_CONTAINS_OP_DICT 4,782,980 0.3% 94.5%
_BUILD_TUPLE 4,757,380 0.3% 94.8%
_STORE_SUBSCR_DICT 4,733,380 0.3% 95.1%
_TO_BOOL_INT 4,733,380 0.3% 95.4%
_LOAD_FAST 4,712,440 0.3% 95.6%
_IS_OP 4,709,200 0.3% 95.9%
_TIER2_RESUME_CHECK 4,252,800 0.3% 96.2%
_GUARD_NOT_EXHAUSTED_LIST 4,171,840 0.3% 96.4% 4.9%
_ITER_CHECK_LIST 4,171,840 0.3% 96.7%
_CHECK_FUNCTION_VERSION 3,996,240 0.2% 96.9%
_CALL_METHOD_DESCRIPTOR_NOARGS 3,993,000 0.2% 97.2%
_CHECK_METHOD_VERSION 3,993,000 0.2% 97.4%
_EXPAND_METHOD 3,993,000 0.2% 97.7%
_ITER_NEXT_LIST 3,967,400 0.2% 97.9%
_UNPACK_SEQUENCE_TWO_TUPLE 3,276,480 0.2% 98.1%
_LOAD_FAST_7 2,430,080 0.1% 98.3%
_LOAD_FAST_5 2,381,100 0.1% 98.4%
_STORE_FAST 2,358,740 0.1% 98.6%
_LOAD_FAST_6 2,357,840 0.1% 98.7%
_CALL_TYPE_1 2,354,600 0.1% 98.9%
_GUARD_IS_NOT_NONE_POP 2,354,600 0.1% 99.0%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 2,354,600 0.1% 99.1%
_STORE_FAST_6 2,354,600 0.1% 99.3%
_STORE_FAST_7 2,354,600 0.1% 99.4%
_INIT_CALL_PY_EXACT_ARGS_2 2,124,480 0.1% 99.6%
_BINARY_SUBSCR_TUPLE_INT 1,738,660 0.1% 99.7%
_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 1,638,080 0.1% 99.8%
_COMPARE_OP 1,122,080 0.1% 99.8%
_TO_BOOL 1,094,720 0.1% 99.9%
_COPY 561,040 0.0% 99.9%
_SWAP 561,040 0.0% 100.0%
_TO_BOOL_NONE 150,720 0.0% 100.0% 100.0%
_GUARD_NOT_EXHAUSTED_TUPLE 80,900 0.0% 100.0% 64.4%
_ITER_CHECK_TUPLE 80,900 0.0% 100.0%
_DEOPT 75,600 0.0% 100.0%
_BINARY_SUBSCR_LIST_INT 49,600 0.0% 100.0%
_ITER_NEXT_TUPLE 28,840 0.0% 100.0%
_LOAD_FAST_CHECK 24,000 0.0% 100.0%
_CHECK_ATTR_MODULE 3,240 0.0% 100.0%
_LOAD_ATTR_MODULE 3,240 0.0% 100.0%
_GUARD_NOT_EXHAUSTED_RANGE 960 0.0% 100.0% 6.2%
_ITER_CHECK_RANGE 960 0.0% 100.0%
_GET_ITER 900 0.0% 100.0%
_ITER_NEXT_RANGE 900 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
_LOAD_FAST_0 _GUARD_TYPE_VERSION 107,656,600 6.6% 6.6%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 86,035,100 5.3% 11.9%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 73,793,860 4.5% 16.4%
_LOAD_FAST_1 _SET_IP 40,529,140 2.5% 18.9%
_SAVE_RETURN_OFFSET _PUSH_FRAME 37,656,660 2.3% 21.2%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TYPE_VERSION 37,386,720 2.3% 23.4%
_RESUME_CHECK _LOAD_FAST_0 33,660,420 2.1% 25.5%
_CHECK_PERIODIC _CHECK_VALIDITY 32,403,500 2.0% 27.5%
_PUSH_FRAME _RESUME_CHECK 29,667,420 1.8% 29.3%
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET 27,542,940 1.7% 31.0%
_GUARD_IS_TRUE_POP _LOAD_FAST_0 27,234,720 1.7% 32.7%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 25,614,500 1.6% 34.2%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 25,614,500 1.6% 35.8%
_POP_FRAME _POP_TOP 20,920,180 1.3% 37.1%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 19,191,420 1.2% 38.3%
_CHECK_ATTR_METHOD_LAZY_DICT _LOAD_ATTR_METHOD_LAZY_DICT 17,206,920 1.1% 39.3%
_GUARD_TYPE_VERSION _CHECK_ATTR_METHOD_LAZY_DICT 17,206,920 1.1% 40.4%
_GUARD_TYPE_VERSION _REPLACE_WITH_TRUE 16,186,800 1.0% 41.4%
_REPLACE_WITH_TRUE _GUARD_IS_TRUE_POP 16,186,800 1.0% 42.3%
_CHECK_PERIODIC _CHECK_VALIDITY_AND_SET_IP 16,111,320 1.0% 43.3%
_CHECK_FUNCTION_EXACT_ARGS _INIT_CALL_PY_EXACT_ARGS_1 15,938,800 1.0% 44.3%
_CHECK_VALIDITY _POP_FRAME 13,932,460 0.9% 45.2%
_SET_IP _CALL_BUILTIN_O 13,582,680 0.8% 46.0%
_CALL_BUILTIN_O _CHECK_PERIODIC 13,582,680 0.8% 46.8%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_1 13,509,360 0.8% 47.6%
_SET_IP _CALL_METHOD_DESCRIPTOR_O 13,213,920 0.8% 48.5%
_CALL_METHOD_DESCRIPTOR_O _CHECK_PERIODIC 13,213,920 0.8% 49.3%
_LOAD_ATTR_METHOD_LAZY_DICT _LOAD_FAST_1 13,213,920 0.8% 50.1%
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS _INIT_CALL_BOUND_METHOD_EXACT_ARGS 12,344,520 0.8% 50.8%
_INIT_CALL_BOUND_METHOD_EXACT_ARGS _CHECK_FUNCTION_EXACT_ARGS 12,344,520 0.8% 51.6%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_1 12,241,240 0.7% 52.3%
_GUARD_NOS_INT _COMPARE_OP_INT 12,195,200 0.7% 53.1%
_LOAD_CONST_INLINE_BORROW _GUARD_NOS_INT 12,195,200 0.7% 53.8%
_COMPARE_OP_INT _GUARD_IS_TRUE_POP 11,280,900 0.7% 54.5%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 11,205,420 0.7% 55.2%
_LOAD_FAST_2 _SET_IP 11,104,840 0.7% 55.9%
_SET_IP _CHECK_PEP_523 10,340,600 0.6% 56.5%
_SET_IP _CALL_BUILTIN_FAST 9,739,540 0.6% 57.1%
_CALL_BUILTIN_FAST _CHECK_PERIODIC 9,739,540 0.6% 57.7%
_LOAD_ATTR_INSTANCE_VALUE_0 _SET_IP 9,466,760 0.6% 58.3%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_CONST_INLINE_BORROW 9,466,760 0.6% 58.9%
_POP_TOP _LOAD_FAST_0 8,750,380 0.5% 59.4%
_CHECK_VALIDITY _LOAD_FAST_0 8,726,380 0.5% 59.9%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_1 8,726,380 0.5% 60.5%
_CHECK_VALIDITY _RESUME_CHECK 7,989,240 0.5% 61.0%
_PUSH_FRAME _CHECK_VALIDITY 7,989,240 0.5% 61.5%
_PY_FRAME_GENERAL _SAVE_RETURN_OFFSET 7,989,240 0.5% 61.9%
_LOAD_CONST _POP_FRAME 7,986,000 0.5% 62.4%
_GUARD_TYPE_VERSION _LOAD_ATTR_METHOD_NO_DICT 7,985,680 0.5% 62.9%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 7,611,140 0.5% 63.4%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_1 7,611,140 0.5% 63.9%
_POP_TOP _EXIT_TRACE 7,384,940 0.5% 64.3%
_CHECK_VALIDITY_AND_SET_IP _BINARY_OP 7,384,940 0.5% 64.8%
_LOAD_CONST_INLINE _LOAD_CONST_INLINE_WITH_NULL 7,384,940 0.5% 65.2%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_CONST_INLINE 7,384,940 0.5% 65.7%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_0 7,087,980 0.4% 66.1%
_GUARD_IS_TRUE_POP _LOAD_CONST_INLINE 7,033,080 0.4% 66.5%
_CHECK_VALIDITY _GUARD_IS_TRUE_POP 6,950,180 0.4% 66.9%
_SET_IP _CHECK_CALL_BOUND_METHOD_EXACT_ARGS 6,698,240 0.4% 67.4%
_BINARY_OP _CHECK_VALIDITY 6,472,040 0.4% 67.8%
_LOAD_ATTR_INSTANCE_VALUE_1 _LOAD_FAST_0 6,472,040 0.4% 68.2%
_POP_FRAME _SET_IP 6,472,040 0.4% 68.5%
_GUARD_KEYS_VERSION _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 6,423,080 0.4% 68.9%
_CALL_LEN _CHECK_VALIDITY 6,371,460 0.4% 69.3%
_SET_IP _CALL_LEN 6,371,460 0.4% 69.7%
_CHECK_VALIDITY _STORE_FAST_2 6,371,460 0.4% 70.1%
_CALL_METHOD_DESCRIPTOR_FAST _CHECK_PERIODIC 6,347,600 0.4% 70.5%
_CHECK_PEP_523 _CHECK_FUNCTION_EXACT_ARGS 6,347,600 0.4% 70.9%
_GUARD_BOTH_INT _COMPARE_OP_INT 6,192,960 0.4% 71.3%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE 6,117,480 0.4% 71.6%
_CHECK_FUNCTION _LOAD_CONST_INLINE 5,826,120 0.4% 72.0%
_START_EXECUTOR _GUARD_IS_TRUE_POP 5,723,160 0.4% 72.3%
_BINARY_OP _CHECK_VALIDITY_AND_SET_IP 5,646,280 0.3% 72.7%
_CHECK_VALIDITY_AND_SET_IP _CHECK_CALL_BOUND_METHOD_EXACT_ARGS 5,646,280 0.3% 73.0%
_LOAD_ATTR_INSTANCE_VALUE_1 _CHECK_FUNCTION 5,646,280 0.3% 73.4%
_STORE_FAST_3 _LOAD_FAST_3 5,631,080 0.3% 73.7%
_COMPARE_OP_INT _GUARD_IS_FALSE_POP 5,468,220 0.3% 74.1%
_GUARD_IS_TRUE_POP _LOAD_FAST_1 4,852,920 0.3% 74.4%
_CONTAINS_OP_DICT _CHECK_VALIDITY 4,782,980 0.3% 74.7%
_SET_IP _CONTAINS_OP_DICT 4,782,980 0.3% 74.9%
_POP_TOP _LOAD_FAST_2 4,733,380 0.3% 75.2%
_BUILD_TUPLE _LOAD_FAST_0 4,733,380 0.3% 75.5%
_STORE_SUBSCR_DICT _CHECK_VALIDITY 4,733,380 0.3% 75.8%
_TO_BOOL_INT _GUARD_IS_FALSE_POP 4,733,380 0.3% 76.1%
_SET_IP _BINARY_OP 4,733,380 0.3% 76.4%
_CHECK_VALIDITY _LOAD_CONST_INLINE_BORROW 4,733,380 0.3% 76.7%
_CHECK_VALIDITY _LOAD_FAST_2 4,733,380 0.3% 77.0%
_CHECK_VALIDITY_AND_SET_IP _STORE_SUBSCR_DICT 4,733,380 0.3% 77.3%
_GUARD_IS_FALSE_POP _LOAD_CONST_INLINE_WITH_NULL 4,733,380 0.3% 77.6%
_GUARD_IS_TRUE_POP _LOAD_CONST_INLINE_WITH_NULL 4,733,380 0.3% 77.8%
_LOAD_ATTR_INSTANCE_VALUE_0 _TO_BOOL_INT 4,733,380 0.3% 78.1%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_CONST_INLINE_WITH_NULL 4,733,380 0.3% 78.4%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_2 4,733,380 0.3% 78.7%
_LOAD_CONST_INLINE _LOAD_FAST_3 4,733,380 0.3% 79.0%
_LOAD_CONST_INLINE _POP_FRAME 4,733,380 0.3% 79.3%
_LOAD_CONST_INLINE_BORROW _POP_FRAME 4,733,380 0.3% 79.6%
_LOAD_FAST_1 _BUILD_TUPLE 4,733,380 0.3% 79.9%
_LOAD_FAST_2 _LOAD_FAST_1 4,733,380 0.3% 80.2%
_LOAD_FAST_3 _SET_IP 4,733,380 0.3% 80.5%
_STORE_FAST_2 _LOAD_FAST_0 4,733,380 0.3% 80.7%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 280

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