Skip to content

Latest commit

 

History

History
11410 lines (10537 loc) · 211 KB

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

File metadata and controls

11410 lines (10537 loc) · 211 KB

Pystats results

  • benchmark: unpickle_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 216,664,520 18.7% 18.7%
LOAD_ATTR_INSTANCE_VALUE 93,847,220 8.1% 26.8%
LOAD_CONST 91,117,540 7.9% 34.7%
POP_JUMP_IF_TRUE 54,038,640 4.7% 39.3%
RESUME_CHECK 53,373,560 4.6% 43.9%
STORE_FAST 53,217,360 4.6% 48.5%
RETURN_VALUE 52,555,180 4.5% 53.1%
ENTER_EXECUTOR 51,995,920 4.5% 57.6%
BINARY_SUBSCR 51,420,420 4.4% 62.0%
LOAD_GLOBAL_BUILTIN 47,696,600 4.1% 66.1%
POP_TOP 42,938,540 3.7% 69.8%
BINARY_SUBSCR_DICT 30,361,600 2.6% 72.4%
LOAD_GLOBAL_MODULE 29,690,320 2.6% 75.0%
LOAD_FAST_LOAD_FAST 28,794,740 2.5% 77.5%
CALL_PY_EXACT_ARGS 28,018,520 2.4% 79.9% 62.7%
PUSH_NULL 27,713,040 2.4% 82.3%
RETURN_CONST 27,365,040 2.4% 84.7%
TO_BOOL_BOOL 27,157,760 2.3% 87.0%
CALL_ISINSTANCE 26,975,700 2.3% 89.3%
TO_BOOL 26,839,840 2.3% 91.7%
CALL_BOUND_METHOD_EXACT_ARGS 25,052,980 2.2% 93.8%
CALL_BUILTIN_O 15,588,380 1.3% 95.2%
CALL_LEN 10,311,400 0.9% 96.1%
STORE_SUBSCR_DICT 10,296,620 0.9% 96.9%
CALL_BUILTIN_CLASS 9,677,560 0.8% 97.8%
STORE_ATTR_INSTANCE_VALUE 4,662,000 0.4% 98.2%
NOP 3,994,720 0.3% 98.5%
LOAD_ATTR 2,008,880 0.2% 98.7%
CALL_BUILTIN_FAST 1,816,220 0.2% 98.9%
BINARY_SUBSCR_TUPLE_INT 1,281,420 0.1% 99.0%
LOAD_ATTR_METHOD_NO_DICT 1,110,020 0.1% 99.1%
POP_JUMP_IF_FALSE 1,093,380 0.1% 99.2%
BUILD_LIST 870,480 0.1% 99.2%
LOAD_ATTR_METHOD_WITH_VALUES 755,100 0.1% 99.3%
CALL_METHOD_DESCRIPTOR_FAST 693,200 0.1% 99.4%
LOAD_ATTR_MODULE 557,180 0.0% 99.4%
CALL 470,760 0.0% 99.4%
INTERPRETER_EXIT 461,140 0.0% 99.5%
COMPARE_OP_INT 460,180 0.0% 99.5% 0.2%
BINARY_SUBSCR_LIST_INT 410,340 0.0% 99.6%
BUILD_MAP 358,720 0.0% 99.6%
CALL_LIST_APPEND 358,380 0.0% 99.6%
SWAP 309,520 0.0% 99.7%
GET_ITER 257,280 0.0% 99.7%
CALL_KW 256,640 0.0% 99.7%
FOR_ITER_RANGE 205,480 0.0% 99.7%
BINARY_OP_ADD_INT 205,160 0.0% 99.7%
POP_JUMP_IF_NONE 191,540 0.0% 99.7%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 179,800 0.0% 99.8%
COMPARE_OP 159,900 0.0% 99.8%
CALL_PY_GENERAL 159,240 0.0% 99.8%
COPY 156,160 0.0% 99.8%
STORE_ATTR 155,420 0.0% 99.8%
TO_BOOL_NONE 154,760 0.0% 99.8% 0.7%
CALL_NON_PY_GENERAL 153,980 0.0% 99.8%
CHECK_EXC_MATCH 153,600 0.0% 99.9%
POP_EXCEPT 153,600 0.0% 99.9%
PUSH_EXC_INFO 153,600 0.0% 99.9%
DELETE_FAST 153,600 0.0% 99.9%
RAISE_VARARGS 153,600 0.0% 99.9%
UNPACK_SEQUENCE_TUPLE 153,580 0.0% 99.9%
IS_OP 127,400 0.0% 99.9%
CALL_TYPE_1 114,740 0.0% 99.9%
BUILD_TUPLE 109,320 0.0% 100.0%
STORE_SUBSCR 102,920 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 60,880 0.0% 100.0%
FOR_ITER_LIST 52,740 0.0% 100.0%
CALL_FUNCTION_EX 51,440 0.0% 100.0%
COMPARE_OP_STR 51,380 0.0% 100.0%
STORE_SLICE 51,200 0.0% 100.0%
LOAD_ATTR_METHOD_LAZY_DICT 32,540 0.0% 100.0%
TO_BOOL_ALWAYS_TRUE 31,320 0.0% 100.0% 0.7%
CALL_METHOD_DESCRIPTOR_O 16,260 0.0% 100.0%
BINARY_OP 14,600 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 13,560 0.0% 100.0%
CALL_BOUND_METHOD_GENERAL 12,020 0.0% 100.0%
JUMP_FORWARD 7,480 0.0% 100.0%
CONTAINS_OP_DICT 5,340 0.0% 100.0%
LOAD_GLOBAL 5,240 0.0% 100.0%
TO_BOOL_INT 5,140 0.0% 100.0%
EXTENDED_ARG 4,200 0.0% 100.0%
JUMP_BACKWARD 2,620 0.0% 100.0%
LOAD_FAST_CHECK 1,600 0.0% 100.0%
RESUME 1,160 0.0% 100.0%
FOR_ITER_TUPLE 1,080 0.0% 100.0%
STORE_FAST_STORE_FAST 720 0.0% 100.0%
UNPACK_SEQUENCE_TWO_TUPLE 680 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 400 0.0% 100.0%
FOR_ITER 280 0.0% 100.0%
LOAD_DEREF 240 0.0% 100.0%
EXIT_INIT_CHECK 220 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 220 0.0% 100.0%
LOAD_ATTR_WITH_HINT 180 0.0% 100.0%
CONTAINS_OP 120 0.0% 100.0%
UNPACK_SEQUENCE 120 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%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 93,844,960 8.1% 8.1%
RESUME_CHECK LOAD_FAST 52,496,780 4.5% 12.6%
ENTER_EXECUTOR RETURN_VALUE 51,755,680 4.5% 17.1%
LOAD_CONST BINARY_SUBSCR 51,404,960 4.4% 21.5%
STORE_FAST LOAD_FAST 48,225,980 4.2% 25.7%
LOAD_GLOBAL_BUILTIN LOAD_FAST 47,115,100 4.1% 29.8%
CALL_PY_EXACT_ARGS RESUME_CHECK 27,686,420 2.4% 32.2%
PUSH_NULL LOAD_FAST 27,492,980 2.4% 34.5%
RETURN_VALUE STORE_FAST 27,238,800 2.4% 36.9%
LOAD_FAST_LOAD_FAST LOAD_CONST 27,187,520 2.3% 39.2%
LOAD_FAST CALL_PY_EXACT_ARGS 27,107,580 2.3% 41.6%
LOAD_FAST LOAD_GLOBAL_MODULE 26,994,820 2.3% 43.9%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 26,983,500 2.3% 46.2%
POP_JUMP_IF_TRUE LOAD_FAST_LOAD_FAST 26,982,400 2.3% 48.6%
CALL_ISINSTANCE TO_BOOL_BOOL 26,975,580 2.3% 50.9%
RETURN_CONST POP_TOP 26,891,060 2.3% 53.2%
POP_JUMP_IF_TRUE LOAD_GLOBAL_BUILTIN 26,888,600 2.3% 55.5%
TO_BOOL POP_JUMP_IF_TRUE 26,832,080 2.3% 57.8%
LOAD_FAST TO_BOOL 26,831,980 2.3% 60.2%
LOAD_GLOBAL_MODULE CALL_ISINSTANCE 26,828,960 2.3% 62.5%
BINARY_SUBSCR BINARY_SUBSCR_DICT 26,828,840 2.3% 64.8%
BINARY_SUBSCR_DICT PUSH_NULL 26,828,780 2.3% 67.1%
POP_TOP ENTER_EXECUTOR 26,696,700 2.3% 69.4%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST 26,121,900 2.3% 71.7%
CALL_BOUND_METHOD_EXACT_ARGS RESUME_CHECK 25,052,980 2.2% 73.8%
LOAD_ATTR_INSTANCE_VALUE ENTER_EXECUTOR 25,035,380 2.2% 76.0%
RETURN_VALUE LOAD_CONST 23,449,600 2.0% 78.0%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 17,672,320 1.5% 79.5%
POP_TOP RETURN_CONST 15,951,940 1.4% 80.9%
CALL_BUILTIN_O POP_TOP 15,565,040 1.3% 82.3%
LOAD_CONST CALL_BOUND_METHOD_EXACT_ARGS 15,462,360 1.3% 83.6%
BINARY_SUBSCR STORE_FAST 13,619,240 1.2% 84.8%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 10,663,340 0.9% 85.7%
LOAD_FAST CALL_LEN 10,306,020 0.9% 86.6%
LOAD_FAST LOAD_GLOBAL_BUILTIN 10,245,320 0.9% 87.5%
BINARY_SUBSCR LOAD_FAST 10,137,620 0.9% 88.3%
STORE_SUBSCR_DICT RETURN_CONST 10,091,520 0.9% 89.2%
CALL_LEN STORE_SUBSCR_DICT 10,086,360 0.9% 90.1%
LOAD_CONST LOAD_CONST 9,687,160 0.8% 90.9%
LOAD_CONST CALL_BUILTIN_CLASS 9,676,720 0.8% 91.8%
LOAD_FAST CALL_BOUND_METHOD_EXACT_ARGS 9,574,280 0.8% 92.6%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_BUILTIN 9,477,080 0.8% 93.4%
CALL_BUILTIN_CLASS CALL_BUILTIN_O 9,471,960 0.8% 94.2%
NOP LOAD_FAST 3,840,400 0.3% 94.6%
STORE_FAST NOP 3,789,440 0.3% 94.9%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 3,739,440 0.3% 95.2%
LOAD_FAST BINARY_SUBSCR_DICT 3,532,760 0.3% 95.5%
BINARY_SUBSCR_DICT CALL_BUILTIN_O 3,481,560 0.3% 95.8%
LOAD_CONST LOAD_FAST 2,162,580 0.2% 96.0%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 2,151,080 0.2% 96.2%
LOAD_ATTR LOAD_FAST 1,691,120 0.1% 96.3%
LOAD_GLOBAL_MODULE LOAD_CONST 1,391,500 0.1% 96.4%
RETURN_VALUE CALL_BUILTIN_FAST 1,382,320 0.1% 96.6%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR 1,331,780 0.1% 96.7%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_MODULE 1,288,120 0.1% 96.8%
LOAD_CONST BINARY_SUBSCR_TUPLE_INT 1,281,340 0.1% 96.9%
CALL_BUILTIN_FAST LOAD_CONST 1,228,780 0.1% 97.0%
BINARY_SUBSCR_TUPLE_INT CALL_BUILTIN_O 1,228,760 0.1% 97.1%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT 985,100 0.1% 97.2%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 973,800 0.1% 97.3%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 921,760 0.1% 97.4%
BUILD_LIST LOAD_FAST 716,800 0.1% 97.4%
BINARY_SUBSCR CALL_BUILTIN_O 716,760 0.1% 97.5%
LOAD_ATTR_METHOD_NO_DICT CALL_METHOD_DESCRIPTOR_FAST 665,400 0.1% 97.5%
LOAD_FAST LOAD_ATTR 621,680 0.1% 97.6%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 614,320 0.1% 97.7%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 556,700 0.0% 97.7%
LOAD_FAST PUSH_NULL 531,380 0.0% 97.7%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 512,280 0.0% 97.8%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 511,560 0.0% 97.8%
STORE_ATTR_INSTANCE_VALUE LOAD_CONST 461,180 0.0% 97.9%
RETURN_CONST INTERPRETER_EXIT 461,140 0.0% 97.9%
CACHE RESUME_CHECK 461,020 0.0% 98.0%
LOAD_FAST LOAD_CONST 446,960 0.0% 98.0%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 434,360 0.0% 98.0%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 370,700 0.0% 98.1%
LOAD_FAST RETURN_VALUE 363,020 0.0% 98.1%
LOAD_FAST_LOAD_FAST LOAD_FAST 359,040 0.0% 98.1%
LOAD_GLOBAL_MODULE LOAD_FAST 358,940 0.0% 98.2%
CALL_LIST_APPEND BUILD_LIST 358,380 0.0% 98.2%
CALL_METHOD_DESCRIPTOR_FAST LOAD_FAST 358,380 0.0% 98.2%
LOAD_ATTR_INSTANCE_VALUE CALL_LIST_APPEND 358,360 0.0% 98.2%
LOAD_ATTR_MODULE PUSH_NULL 352,300 0.0% 98.3%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 351,500 0.0% 98.3%
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST 334,820 0.0% 98.3%
CALL_PY_EXACT_ARGS CALL_PY_EXACT_ARGS 331,620 0.0% 98.4%
STORE_FAST LOAD_GLOBAL_BUILTIN 329,940 0.0% 98.4%
CALL LOAD_FAST 307,880 0.0% 98.4%
STORE_FAST LOAD_GLOBAL_MODULE 307,400 0.0% 98.4%
RESUME_CHECK LOAD_FAST_LOAD_FAST 307,380 0.0% 98.5%
STORE_ATTR_INSTANCE_VALUE BUILD_LIST 307,160 0.0% 98.5%
POP_JUMP_IF_FALSE LOAD_FAST 286,720 0.0% 98.5%
COMPARE_OP_INT POP_JUMP_IF_FALSE 286,400 0.0% 98.5%
POP_TOP LOAD_FAST 276,680 0.0% 98.6%
LOAD_CONST CALL_KW 256,640 0.0% 98.6%
ENTER_EXECUTOR POP_TOP 209,120 0.0% 98.6%
FOR_ITER_RANGE STORE_FAST 205,480 0.0% 98.6%
STORE_FAST LOAD_FAST_LOAD_FAST 205,280 0.0% 98.6%
LOAD_FAST BINARY_SUBSCR_LIST_INT 205,200 0.0% 98.7%
PUSH_NULL LOAD_CONST 205,120 0.0% 98.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.

STORE_SLICE

Successors and predecessors for STORE_SLICE
Predecessors Count Percentage
LOAD_CONST 51,200 100.0%
Successors Count Percentage
RETURN_CONST 51,200 100.0%

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 461,020 100.0%
RESUME 120 0.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 51,404,960 100.0%
BINARY_SUBSCR 15,220 0.0%
LOAD_FAST 200 0.0%
BINARY_OP 20 0.0%
BINARY_OP_ADD_INT 20 0.0%
Successors Count Percentage
BINARY_SUBSCR_DICT 26,828,840 52.2%
STORE_FAST 13,619,240 26.5%
LOAD_FAST 10,137,620 19.7%
CALL_BUILTIN_O 716,760 1.4%
BUILD_TUPLE 102,400 0.2%

CHECK_EXC_MATCH

Successors and predecessors for CHECK_EXC_MATCH
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 153,580 100.0%
LOAD_GLOBAL 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 153,600 100.0%

EXIT_INIT_CHECK

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

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 204,780 79.6%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 51,260 19.9%
LOAD_FAST 1,200 0.5%
CALL 40 0.0%
Successors Count Percentage
FOR_ITER_RANGE 204,840 79.6%
FOR_ITER_LIST 51,780 20.1%
FOR_ITER_TUPLE 520 0.2%
FOR_ITER 140 0.1%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_CONST 461,140 100.0%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
STORE_FAST 3,789,440 94.9%
NOP 153,600 3.8%
POP_JUMP_IF_FALSE 51,360 1.3%
STORE_ATTR_INSTANCE_VALUE 220 0.0%
POP_TOP 80 0.0%
Successors Count Percentage
LOAD_FAST 3,840,400 96.1%
NOP 153,600 3.8%
LOAD_GLOBAL_BUILTIN 520 0.0%
LOAD_GLOBAL 120 0.0%
LOAD_DEREF 80 0.0%

POP_EXCEPT

Successors and predecessors for POP_EXCEPT
Predecessors Count Percentage
SWAP 153,600 100.0%
Successors Count Percentage
LOAD_CONST 153,600 100.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_CONST 26,891,060 62.6%
CALL_BUILTIN_O 15,565,040 36.2%
ENTER_EXECUTOR 209,120 0.5%
RETURN_VALUE 170,140 0.4%
CALL_KW 51,280 0.1%
Successors Count Percentage
ENTER_EXECUTOR 26,696,700 62.2%
RETURN_CONST 15,951,940 37.2%
LOAD_FAST 276,680 0.6%
LOAD_FAST_LOAD_FAST 5,160 0.0%
EXTENDED_ARG 4,200 0.0%

PUSH_EXC_INFO

Successors and predecessors for PUSH_EXC_INFO
Predecessors Count Percentage
RAISE_VARARGS 153,600 100.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 153,560 100.0%
LOAD_GLOBAL 40 0.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
BINARY_SUBSCR_DICT 26,828,780 96.8%
LOAD_FAST 531,380 1.9%
LOAD_ATTR_MODULE 352,300 1.3%
LOAD_ATTR 400 0.0%
LOAD_DEREF 160 0.0%
Successors Count Percentage
LOAD_FAST 27,492,980 99.2%
LOAD_CONST 205,120 0.7%
LOAD_FAST_LOAD_FAST 12,220 0.0%
LOAD_GLOBAL_MODULE 1,360 0.0%
CALL 840 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
ENTER_EXECUTOR 51,755,680 98.5%
LOAD_FAST 363,020 0.7%
RETURN_VALUE 153,680 0.3%
DELETE_FAST 153,600 0.3%
CALL_KW 51,200 0.1%
Successors Count Percentage
STORE_FAST 27,238,800 51.8%
LOAD_CONST 23,449,600 44.6%
CALL_BUILTIN_FAST 1,382,320 2.6%
POP_TOP 170,140 0.3%
RETURN_VALUE 153,680 0.3%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
LOAD_CONST 102,400 99.5%
STORE_SUBSCR 400 0.4%
CALL 40 0.0%
BINARY_SUBSCR 20 0.0%
BINARY_SUBSCR_LIST_INT 20 0.0%
Successors Count Percentage
RETURN_CONST 102,440 99.5%
STORE_SUBSCR 400 0.4%
STORE_SUBSCR_DICT 60 0.1%
JUMP_BACKWARD 20 0.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 26,831,980 100.0%
TO_BOOL 6,900 0.0%
LOAD_ATTR 260 0.0%
LOAD_ATTR_INSTANCE_VALUE 260 0.0%
CALL 200 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 26,832,080 100.0%
TO_BOOL 6,900 0.0%
TO_BOOL_BOOL 380 0.0%
POP_JUMP_IF_FALSE 340 0.0%
TO_BOOL_ALWAYS_TRUE 60 0.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
CALL_BUILTIN_FAST 9,140 62.6%
LOAD_FAST 4,400 30.1%
BINARY_OP 740 5.1%
CALL 160 1.1%
LOAD_CONST 160 1.1%
Successors Count Percentage
CALL_BOUND_METHOD_EXACT_ARGS 7,400 50.7%
LOAD_FAST 4,360 29.9%
RETURN_VALUE 1,440 9.9%
BINARY_OP 740 5.1%
CALL 280 1.9%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
CALL_LIST_APPEND 358,380 41.2%
STORE_ATTR_INSTANCE_VALUE 307,160 35.3%
LOAD_ATTR_INSTANCE_VALUE 153,580 17.6%
BUILD_TUPLE 51,200 5.9%
LOAD_FAST 80 0.0%
Successors Count Percentage
LOAD_FAST 716,800 82.3%
CALL_BUILTIN_O 153,560 17.6%
LOAD_DEREF 80 0.0%
CALL 40 0.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 204,780 57.1%
STORE_ATTR_INSTANCE_VALUE 153,800 42.9%
LOAD_FAST 80 0.0%
STORE_ATTR 40 0.0%
LOAD_ATTR 20 0.0%
Successors Count Percentage
CALL_BUILTIN_O 204,760 57.1%
LOAD_FAST 153,840 42.9%
CALL_FUNCTION_EX 80 0.0%
CALL 40 0.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
BINARY_SUBSCR 102,400 93.7%
LOAD_FAST_LOAD_FAST 5,240 4.8%
LOAD_FAST_CHECK 1,600 1.5%
LOAD_FAST 80 0.1%
Successors Count Percentage
LOAD_FAST 56,360 51.6%
BUILD_LIST 51,200 46.8%
RETURN_VALUE 1,600 1.5%
STORE_FAST 80 0.1%
CALL 40 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 153,680 32.6%
CALL_BUILTIN_FAST 153,580 32.6%
LOAD_FAST 150,100 31.9%
ENTER_EXECUTOR 7,020 1.5%
CALL 1,140 0.2%
Successors Count Percentage
LOAD_FAST 307,880 65.4%
STORE_FAST 154,520 32.8%
RESUME_CHECK 1,300 0.3%
CALL 1,140 0.2%
CALL_BOUND_METHOD_EXACT_ARGS 600 0.1%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
LOAD_FAST 51,280 99.7%
BUILD_MAP 80 0.2%
CALL_INTRINSIC_1 80 0.2%
Successors Count Percentage
LOAD_FAST 51,200 99.5%
POP_TOP 80 0.2%
COPY_FREE_VARS 80 0.2%
RESUME_CHECK 60 0.1%
RESUME 20 0.0%

CALL_INTRINSIC_1

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

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
LOAD_CONST 256,640 100.0%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 153,760 59.9%
POP_TOP 51,280 20.0%
RETURN_VALUE 51,200 20.0%
RESUME_CHECK 240 0.1%
LOAD_ATTR 80 0.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_ATTR_MODULE 153,580 96.0%
LOAD_CONST 3,440 2.2%
COPY 2,120 1.3%
COMPARE_OP 460 0.3%
LOAD_ATTR 100 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 158,480 99.1%
COMPARE_OP_INT 780 0.5%
COMPARE_OP 460 0.3%
POP_JUMP_IF_TRUE 80 0.1%
COMPARE_OP_STR 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 155,920 99.8%
LOAD_FAST 240 0.2%
Successors Count Percentage
COMPARE_OP_INT 153,800 98.5%
COMPARE_OP 2,120 1.4%
TO_BOOL_BOOL 200 0.1%
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%

DELETE_FAST

Successors and predecessors for DELETE_FAST
Predecessors Count Percentage
STORE_FAST 153,600 100.0%
Successors Count Percentage
RETURN_VALUE 153,600 100.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_TOP 26,696,700 51.3%
LOAD_ATTR_INSTANCE_VALUE 25,035,380 48.1%
STORE_SUBSCR_DICT 204,780 0.4%
STORE_FAST 50,940 0.1%
COMPARE_OP_INT 6,720 0.0%
Successors Count Percentage
RETURN_VALUE 51,755,680 99.5%
POP_TOP 209,120 0.4%
RETURN_CONST 14,620 0.0%
CALL 7,020 0.0%
LOAD_FAST 4,260 0.0%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
POP_TOP 4,200 100.0%
Successors Count Percentage
JUMP_FORWARD 4,200 100.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 140 50.0%
JUMP_BACKWARD 140 50.0%
Successors Count Percentage
STORE_FAST 120 42.9%
FOR_ITER_LIST 60 21.4%
FOR_ITER_RANGE 40 14.3%
FOR_ITER_TUPLE 40 14.3%
UNPACK_SEQUENCE 20 7.1%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 114,560 89.9%
LOAD_GLOBAL_MODULE 12,320 9.7%
CALL_TYPE_1 180 0.1%
LOAD_FAST_LOAD_FAST 160 0.1%
LOAD_GLOBAL 120 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 76,200 59.8%
POP_JUMP_IF_TRUE 51,200 40.2%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_TOP 1,840 70.2%
STORE_FAST 340 13.0%
STORE_SUBSCR_DICT 320 12.2%
FOR_ITER_TUPLE 100 3.8%
STORE_SUBSCR 20 0.8%
Successors Count Percentage
FOR_ITER_LIST 900 34.4%
FOR_ITER_RANGE 600 22.9%
FOR_ITER_TUPLE 520 19.8%
LOAD_FAST 320 12.2%
FOR_ITER 140 5.3%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
EXTENDED_ARG 4,200 56.1%
POP_JUMP_IF_FALSE 1,920 25.7%
POP_TOP 1,280 17.1%
STORE_FAST 80 1.1%
Successors Count Percentage
LOAD_FAST 6,840 91.4%
LOAD_FAST_LOAD_FAST 560 7.5%
LOAD_GLOBAL 40 0.5%
LOAD_GLOBAL_BUILTIN 40 0.5%

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_ATTR_INSTANCE_VALUE 1,331,780 66.3%
LOAD_FAST 621,680 30.9%
LOAD_GLOBAL_BUILTIN 51,180 2.5%
LOAD_ATTR 3,360 0.2%
LOAD_GLOBAL_MODULE 300 0.0%
Successors Count Percentage
LOAD_FAST 1,691,120 84.2%
STORE_FAST 154,680 7.7%
SWAP 153,600 7.6%
LOAD_ATTR 3,360 0.2%
LOAD_ATTR_INSTANCE_VALUE 2,260 0.1%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 27,187,520 29.8%
LOAD_ATTR_INSTANCE_VALUE 26,121,900 28.7%
RETURN_VALUE 23,449,600 25.7%
LOAD_CONST 9,687,160 10.6%
LOAD_GLOBAL_MODULE 1,391,500 1.5%
Successors Count Percentage
BINARY_SUBSCR 51,404,960 56.4%
CALL_BOUND_METHOD_EXACT_ARGS 15,462,360 17.0%
LOAD_CONST 9,687,160 10.6%
CALL_BUILTIN_CLASS 9,676,720 10.6%
LOAD_FAST 2,162,580 2.4%

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
RESUME_CHECK 52,496,780 24.2%
STORE_FAST 48,225,980 22.3%
LOAD_GLOBAL_BUILTIN 47,115,100 21.7%
PUSH_NULL 27,492,980 12.7%
LOAD_ATTR_INSTANCE_VALUE 17,672,320 8.2%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 93,844,960 43.3%
CALL_PY_EXACT_ARGS 27,107,580 12.5%
LOAD_GLOBAL_MODULE 26,994,820 12.5%
TO_BOOL 26,831,980 12.4%
CALL_LEN 10,306,020 4.8%

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
POP_JUMP_IF_TRUE 26,982,400 93.7%
STORE_ATTR_INSTANCE_VALUE 614,320 2.1%
RESUME_CHECK 307,380 1.1%
STORE_FAST 205,280 0.7%
BINARY_SUBSCR_LIST_INT 205,100 0.7%
Successors Count Percentage
LOAD_CONST 27,187,520 94.4%
STORE_ATTR_INSTANCE_VALUE 921,760 3.2%
LOAD_FAST 359,040 1.2%
STORE_ATTR 153,920 0.5%
CALL_BUILTIN_FAST 102,400 0.4%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
LOAD_FAST 680 13.0%
STORE_FAST 680 13.0%
POP_JUMP_IF_FALSE 640 12.2%
PUSH_NULL 400 7.6%
POP_JUMP_IF_TRUE 400 7.6%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,380 26.3%
LOAD_GLOBAL_BUILTIN 1,240 23.7%
LOAD_FAST 1,060 20.2%
CALL 420 8.0%
LOAD_ATTR 280 5.3%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 286,400 26.2%
TO_BOOL_BOOL 174,260 15.9%
COMPARE_OP 158,480 14.5%
TO_BOOL_NONE 154,740 14.2%
CHECK_EXC_MATCH 153,600 14.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 511,560 46.8%
LOAD_FAST 286,720 26.2%
STORE_FAST 153,600 14.0%
LOAD_GLOBAL_BUILTIN 69,920 6.4%
NOP 51,360 4.7%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 191,540 100.0%
Successors Count Percentage
LOAD_CONST 153,600 80.2%
LOAD_FAST 25,060 13.1%
LOAD_GLOBAL_BUILTIN 12,260 6.4%
LOAD_FAST_LOAD_FAST 240 0.1%
ENTER_EXECUTOR 180 0.1%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 400 100.0%
Successors Count Percentage
LOAD_FAST 240 60.0%
LOAD_GLOBAL 80 20.0%
LOAD_GLOBAL_BUILTIN 40 10.0%
LOAD_GLOBAL_MODULE 40 10.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL_BOOL 26,983,500 49.9%
TO_BOOL 26,832,080 49.7%
COMPARE_OP_INT 166,620 0.3%
IS_OP 51,200 0.1%
CONTAINS_OP_DICT 5,140 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 26,982,400 49.9%
LOAD_GLOBAL_BUILTIN 26,888,600 49.8%
LOAD_GLOBAL_MODULE 153,560 0.3%
LOAD_FAST 13,680 0.0%
LOAD_GLOBAL 400 0.0%

RAISE_VARARGS

Successors and predecessors for RAISE_VARARGS
Predecessors Count Percentage
CALL_NON_PY_GENERAL 153,580 100.0%
CALL 20 0.0%
Successors Count Percentage
PUSH_EXC_INFO 153,600 100.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
POP_TOP 15,951,940 58.3%
STORE_SUBSCR_DICT 10,091,520 36.9%
STORE_ATTR_INSTANCE_VALUE 973,800 3.6%
STORE_ATTR 153,800 0.6%
STORE_SUBSCR 102,440 0.4%
Successors Count Percentage
POP_TOP 26,891,060 98.3%
INTERPRETER_EXIT 461,140 1.7%
STORE_FAST 12,540 0.0%
EXIT_INIT_CHECK 220 0.0%
RETURN_VALUE 80 0.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 153,920 99.0%
LOAD_FAST 1,280 0.8%
STORE_ATTR 220 0.1%
Successors Count Percentage
RETURN_CONST 153,800 99.0%
STORE_ATTR_INSTANCE_VALUE 800 0.5%
LOAD_FAST 280 0.2%
STORE_ATTR 220 0.1%
LOAD_CONST 100 0.1%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 27,238,800 51.2%
BINARY_SUBSCR 13,619,240 25.6%
LOAD_ATTR_INSTANCE_VALUE 10,663,340 20.0%
CALL_METHOD_DESCRIPTOR_FAST 334,820 0.6%
FOR_ITER_RANGE 205,480 0.4%
Successors Count Percentage
LOAD_FAST 48,225,980 90.6%
NOP 3,789,440 7.1%
LOAD_GLOBAL_BUILTIN 329,940 0.6%
LOAD_GLOBAL_MODULE 307,400 0.6%
LOAD_FAST_LOAD_FAST 205,280 0.4%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 680 94.4%
UNPACK_SEQUENCE 40 5.6%
Successors Count Percentage
LOAD_FAST 640 88.9%
LOAD_FAST_LOAD_FAST 80 11.1%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST 155,920 50.4%
LOAD_ATTR 153,600 49.6%
Successors Count Percentage
COPY 155,920 50.4%
POP_EXCEPT 153,600 49.6%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
RETURN_VALUE 40 33.3%
CALL 20 16.7%
FOR_ITER 20 16.7%
CALL_BUILTIN_FAST 20 16.7%
FOR_ITER_LIST 20 16.7%
Successors Count Percentage
STORE_FAST_STORE_FAST 40 33.3%
UNPACK_SEQUENCE_TWO_TUPLE 40 33.3%
STORE_FAST 20 16.7%
UNPACK_SEQUENCE_TUPLE 20 16.7%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 520 44.8%
CALL_PY_EXACT_ARGS 480 41.4%
CACHE 120 10.3%
CALL_FUNCTION_EX 20 1.7%
COPY_FREE_VARS 20 1.7%
Successors Count Percentage
LOAD_FAST 860 74.1%
LOAD_GLOBAL 200 17.2%
LOAD_FAST_LOAD_FAST 60 5.2%
LOAD_DEREF 20 1.7%
RETURN_CONST 20 1.7%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 205,120 100.0%
BINARY_OP 40 0.0%
Successors Count Percentage
BINARY_SUBSCR_LIST_INT 205,080 100.0%
STORE_FAST 60 0.0%
BINARY_SUBSCR 20 0.0%

BINARY_OP_SUBTRACT_FLOAT

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

BINARY_SUBSCR_DICT

Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors Count Percentage
BINARY_SUBSCR 26,828,840 88.4%
LOAD_FAST 3,532,760 11.6%
Successors Count Percentage
PUSH_NULL 26,828,780 88.4%
CALL_BUILTIN_O 3,481,560 11.5%
LOAD_FAST 51,180 0.2%
STORE_FAST 60 0.0%
CALL 20 0.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 205,200 50.0%
BINARY_OP_ADD_INT 205,080 50.0%
BINARY_SUBSCR 60 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 205,100 50.0%
STORE_SUBSCR_DICT 205,080 50.0%
CALL_BOUND_METHOD_EXACT_ARGS 120 0.0%
STORE_SUBSCR 20 0.0%
CALL 20 0.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 1,281,340 100.0%
BINARY_SUBSCR 80 0.0%
Successors Count Percentage
CALL_BUILTIN_O 1,228,760 95.9%
RETURN_VALUE 51,180 4.0%
CALL_PY_EXACT_ARGS 1,380 0.1%
STORE_FAST 60 0.0%
CALL 40 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 200 90.9%
CALL 20 9.1%
Successors Count Percentage
RESUME_CHECK 220 100.0%

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
LOAD_CONST 15,462,360 61.7%
LOAD_FAST 9,574,280 38.2%
BINARY_OP 7,400 0.0%
RETURN_VALUE 6,500 0.0%
LOAD_GLOBAL_MODULE 1,720 0.0%
Successors Count Percentage
RESUME_CHECK 25,052,980 100.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_FAST 11,900 99.0%
CALL 120 1.0%
Successors Count Percentage
RESUME_CHECK 12,020 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_CONST 9,676,720 100.0%
CALL 600 0.0%
LOAD_FAST 240 0.0%
Successors Count Percentage
CALL_BUILTIN_O 9,471,960 97.9%
GET_ITER 204,780 2.1%
STORE_FAST 580 0.0%
LOAD_FAST 220 0.0%
CALL 20 0.0%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
RETURN_VALUE 1,382,320 76.1%
LOAD_FAST 164,360 9.0%
LOAD_CONST 153,880 8.5%
LOAD_FAST_LOAD_FAST 102,400 5.6%
LOAD_GLOBAL_MODULE 12,260 0.7%
Successors Count Percentage
LOAD_CONST 1,228,780 67.7%
TO_BOOL_BOOL 153,800 8.5%
CALL 153,580 8.5%
UNPACK_SEQUENCE_TUPLE 153,560 8.5%
STORE_FAST 64,280 3.5%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
CALL_BUILTIN_CLASS 9,471,960 60.8%
BINARY_SUBSCR_DICT 3,481,560 22.3%
BINARY_SUBSCR_TUPLE_INT 1,228,760 7.9%
BINARY_SUBSCR 716,760 4.6%
BUILD_MAP 204,760 1.3%
Successors Count Percentage
POP_TOP 15,565,040 99.9%
CALL_METHOD_DESCRIPTOR_FAST 12,500 0.1%
LOAD_FAST 5,340 0.0%
STORE_SUBSCR_DICT 5,120 0.0%
RETURN_VALUE 220 0.0%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 26,828,960 99.5%
LOAD_GLOBAL_BUILTIN 146,620 0.5%
CALL 120 0.0%
Successors Count Percentage
TO_BOOL_BOOL 26,975,580 100.0%
TO_BOOL 120 0.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 10,306,020 99.9%
LOAD_ATTR_INSTANCE_VALUE 5,120 0.0%
CALL 260 0.0%
Successors Count Percentage
STORE_SUBSCR_DICT 10,086,360 97.8%
LOAD_CONST 204,780 2.0%
STORE_FAST 15,600 0.2%
LOAD_FAST 4,420 0.0%
CALL_BUILTIN_FAST 200 0.0%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 358,360 100.0%
CALL 20 0.0%
Successors Count Percentage
BUILD_LIST 358,380 100.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 665,400 96.0%
LOAD_FAST 15,080 2.2%
CALL_BUILTIN_O 12,500 1.8%
CALL 180 0.0%
LOAD_GLOBAL_MODULE 40 0.0%
Successors Count Percentage
LOAD_FAST 358,380 51.7%
STORE_FAST 334,820 48.3%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_CONST 60,840 99.9%
CALL 40 0.1%
Successors Count Percentage
GET_ITER 51,260 84.2%
STORE_FAST 9,620 15.8%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 13,140 96.9%
LOAD_ATTR_METHOD_NO_DICT 320 2.4%
CALL 100 0.7%
Successors Count Percentage
LOAD_FAST 12,760 94.1%
LOAD_CONST 280 2.1%
CALL_PY_EXACT_ARGS 280 2.1%
STORE_FAST 220 1.6%
CALL 20 0.1%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 16,180 99.5%
CALL 40 0.2%
LOAD_CONST 40 0.2%
Successors Count Percentage
RETURN_VALUE 16,200 99.6%
LOAD_CONST 60 0.4%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 153,560 99.7%
LOAD_ATTR_METHOD_LAZY_DICT 200 0.1%
PUSH_NULL 120 0.1%
CALL 100 0.1%
Successors Count Percentage
RAISE_VARARGS 153,580 99.7%
STORE_FAST 280 0.2%
POP_TOP 60 0.0%
LOAD_FAST 60 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 27,107,580 96.7%
LOAD_ATTR_METHOD_WITH_VALUES 512,280 1.8%
CALL_PY_EXACT_ARGS 331,620 1.2%
LOAD_FAST_LOAD_FAST 63,340 0.2%
ENTER_EXECUTOR 1,480 0.0%
Successors Count Percentage
RESUME_CHECK 27,686,420 98.8%
CALL_PY_EXACT_ARGS 331,620 1.2%
RESUME 480 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 146,060 91.7%
LOAD_ATTR_METHOD_WITH_VALUES 12,500 7.8%
CALL 560 0.4%
LOAD_ATTR_WITH_HINT 120 0.1%
Successors Count Percentage
RESUME_CHECK 159,240 100.0%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_FAST 114,500 99.8%
CALL 120 0.1%
LOAD_CONST 80 0.1%
LOAD_GLOBAL_BUILTIN 40 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 102,320 89.2%
STORE_FAST 12,200 10.6%
IS_OP 180 0.2%
LOAD_GLOBAL 40 0.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
COPY 153,800 33.4%
LOAD_GLOBAL_MODULE 153,760 33.4%
LOAD_CONST 134,240 29.2%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 13,420 2.9%
LOAD_FAST 4,180 0.9%
Successors Count Percentage
POP_JUMP_IF_FALSE 286,400 62.2%
POP_JUMP_IF_TRUE 166,620 36.2%
ENTER_EXECUTOR 6,720 1.5%
LOAD_FAST 440 0.1%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
LOAD_CONST 51,320 99.9%
COMPARE_OP 60 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 51,380 100.0%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 5,160 96.6%
LOAD_FAST 120 2.2%
CONTAINS_OP 60 1.1%
Successors Count Percentage
POP_JUMP_IF_TRUE 5,140 96.3%
POP_JUMP_IF_FALSE 200 3.7%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 51,780 98.2%
JUMP_BACKWARD 900 1.7%
FOR_ITER 60 0.1%
Successors Count Percentage
STORE_FAST 51,780 98.2%
UNPACK_SEQUENCE_TWO_TUPLE 600 1.1%
LOAD_FAST 340 0.6%
UNPACK_SEQUENCE 20 0.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 204,840 99.7%
JUMP_BACKWARD 600 0.3%
FOR_ITER 40 0.0%
Successors Count Percentage
STORE_FAST 205,480 100.0%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
GET_ITER 520 48.1%
JUMP_BACKWARD 520 48.1%
FOR_ITER 40 3.7%
Successors Count Percentage
STORE_FAST 820 75.9%
LOAD_GLOBAL_BUILTIN 120 11.1%
JUMP_BACKWARD 100 9.3%
LOAD_GLOBAL 40 3.7%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 93,844,960 100.0%
LOAD_ATTR 2,260 0.0%
Successors Count Percentage
LOAD_CONST 26,121,900 27.8%
ENTER_EXECUTOR 25,035,380 26.7%
LOAD_FAST 17,672,320 18.8%
STORE_FAST 10,663,340 11.4%
LOAD_GLOBAL_BUILTIN 9,477,080 10.1%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 19,280 59.3%
LOAD_FAST 13,140 40.4%
LOAD_ATTR 120 0.4%
Successors Count Percentage
LOAD_FAST 19,120 58.8%
CALL_METHOD_DESCRIPTOR_NOARGS 13,140 40.4%
CALL_NON_PY_GENERAL 200 0.6%
CALL 80 0.2%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 985,100 88.7%
LOAD_FAST 112,400 10.1%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 12,180 1.1%
LOAD_ATTR 300 0.0%
CALL_BUILTIN_FAST 40 0.0%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 665,400 59.9%
LOAD_FAST 370,700 33.4%
LOAD_CONST 60,940 5.5%
LOAD_GLOBAL_BUILTIN 12,500 1.1%
CALL_METHOD_DESCRIPTOR_NOARGS 320 0.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 434,360 57.5%
LOAD_ATTR_INSTANCE_VALUE 166,460 22.0%
CALL_KW 153,760 20.4%
LOAD_ATTR 520 0.1%
Successors Count Percentage
CALL_PY_EXACT_ARGS 512,280 67.8%
LOAD_FAST 178,800 23.7%
LOAD_FAST_LOAD_FAST 51,180 6.8%
CALL_PY_GENERAL 12,500 1.7%
LOAD_CONST 220 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 556,700 99.9%
LOAD_ATTR 320 0.1%
LOAD_FAST 160 0.0%
Successors Count Percentage
PUSH_NULL 352,300 63.2%
COMPARE_OP 153,580 27.6%
LOAD_FAST 51,240 9.2%
STORE_FAST 60 0.0%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 178,680 99.4%
LOAD_FAST_LOAD_FAST 960 0.5%
LOAD_ATTR 160 0.1%
Successors Count Percentage
STORE_FAST 153,580 85.4%
COMPARE_OP_INT 13,420 7.5%
LOAD_ATTR_METHOD_NO_DICT 12,180 6.8%
CALL 520 0.3%
COMPARE_OP 80 0.0%

LOAD_ATTR_WITH_HINT

Successors and predecessors for LOAD_ATTR_WITH_HINT
Predecessors Count Percentage
LOAD_FAST 120 66.7%
LOAD_ATTR 60 33.3%
Successors Count Percentage
CALL_PY_GENERAL 120 66.7%
CALL 60 33.3%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
POP_JUMP_IF_TRUE 26,888,600 56.4%
LOAD_FAST 10,245,320 21.5%
LOAD_ATTR_INSTANCE_VALUE 9,477,080 19.9%
RESUME_CHECK 351,500 0.7%
STORE_FAST 329,940 0.7%
Successors Count Percentage
LOAD_FAST 47,115,100 98.8%
LOAD_CONST 204,900 0.4%
CALL_ISINSTANCE 146,620 0.3%
IS_OP 114,560 0.2%
LOAD_FAST_LOAD_FAST 51,260 0.1%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_FAST 26,994,820 90.9%
LOAD_ATTR_INSTANCE_VALUE 1,288,120 4.3%
POP_JUMP_IF_FALSE 511,560 1.7%
STORE_FAST 307,400 1.0%
RESUME_CHECK 205,120 0.7%
Successors Count Percentage
CALL_ISINSTANCE 26,828,960 90.4%
LOAD_CONST 1,391,500 4.7%
LOAD_ATTR_MODULE 556,700 1.9%
LOAD_FAST 358,940 1.2%
LOAD_FAST_LOAD_FAST 154,440 0.5%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 27,686,420 51.9%
CALL_BOUND_METHOD_EXACT_ARGS 25,052,980 46.9%
CACHE 461,020 0.9%
CALL_PY_GENERAL 159,240 0.3%
CALL_BOUND_METHOD_GENERAL 12,020 0.0%
Successors Count Percentage
LOAD_FAST 52,496,780 98.4%
LOAD_GLOBAL_BUILTIN 351,500 0.7%
LOAD_FAST_LOAD_FAST 307,380 0.6%
LOAD_GLOBAL_MODULE 205,120 0.4%
RETURN_CONST 12,520 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 3,739,440 80.2%
LOAD_FAST_LOAD_FAST 921,760 19.8%
STORE_ATTR 800 0.0%
Successors Count Percentage
LOAD_FAST 2,151,080 46.1%
RETURN_CONST 973,800 20.9%
LOAD_FAST_LOAD_FAST 614,320 13.2%
LOAD_CONST 461,180 9.9%
BUILD_LIST 307,160 6.6%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
CALL_LEN 10,086,360 98.0%
BINARY_SUBSCR_LIST_INT 205,080 2.0%
CALL_BUILTIN_O 5,120 0.0%
STORE_SUBSCR 60 0.0%
Successors Count Percentage
RETURN_CONST 10,091,520 98.0%
ENTER_EXECUTOR 204,780 2.0%
JUMP_BACKWARD 320 0.0%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 30,280 96.7%
ENTER_EXECUTOR 960 3.1%
TO_BOOL 60 0.2%
TO_BOOL_NONE 20 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 31,320 100.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 26,975,580 99.3%
CALL_BUILTIN_FAST 153,800 0.6%
LOAD_ATTR_INSTANCE_VALUE 15,020 0.1%
LOAD_FAST 12,740 0.0%
TO_BOOL 380 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 26,983,500 99.4%
POP_JUMP_IF_FALSE 174,260 0.6%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 5,120 99.6%
TO_BOOL 20 0.4%
Successors Count Percentage
POP_JUMP_IF_FALSE 5,140 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 154,340 99.7%
ENTER_EXECUTOR 300 0.2%
TO_BOOL 60 0.0%
LOAD_FAST 40 0.0%
JUMP_BACKWARD 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 154,740 100.0%
TO_BOOL_ALWAYS_TRUE 20 0.0%

UNPACK_SEQUENCE_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TUPLE
Predecessors Count Percentage
CALL_BUILTIN_FAST 153,560 100.0%
UNPACK_SEQUENCE 20 0.0%
Successors Count Percentage
STORE_FAST 153,580 100.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
FOR_ITER_LIST 600 88.2%
RETURN_VALUE 40 5.9%
UNPACK_SEQUENCE 40 5.9%
Successors Count Percentage
STORE_FAST_STORE_FAST 680 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.

13,800 6.3%
hit

Specialized instructions that complete.

205,220 93.4%
Success Count Ratio
Success 60 7.5%
Failure 740 92.5%
Failure kind Count Ratio
add other 720 97.3%
rshift 20 2.7%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

51,405,020 61.6%
hit

Specialized instructions that complete.

32,053,360 38.4%
Success Count Ratio
Success 220 1.4%
Failure 15,180 98.6%
Failure kind Count Ratio
buffer int 11,260 74.2%
out of range 3,920 25.8%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

17,710,860 12.3%
hit

Specialized instructions that complete.

126,174,440 87.5%
miss

Specialized instructions that deopt.

17,576,540 12.2%
Success Count Ratio
Success 335,480 99.7%
Failure 960 0.3%
Failure kind Count Ratio
class no vectorcall 740 77.1%
wrong number arguments 220 22.9%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

159,300 23.7%
hit

Specialized instructions that complete.

510,860 76.1%
miss

Specialized instructions that deopt.

700 0.1%
Success Count Ratio
Success 840 64.6%
Failure 460 35.4%
Failure kind Count Ratio
big int 460 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 1.1%
hit

Specialized instructions that complete.

5,340 97.8%
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.

140 0.1%
hit

Specialized instructions that complete.

259,300 99.9%
Success Count Ratio
Success 140 100.0%
Failure 0 0.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

2,002,220 2.0%
hit

Specialized instructions that complete.

96,482,040 98.0%
Success Count Ratio
Success 3,740 56.2%
Failure 2,920 43.8%
Failure kind Count Ratio
method 2,500 85.6%
not managed dict 220 7.5%
builtin class method 200 6.8%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

2,620 0.0%
hit

Specialized instructions that complete.

77,386,920 100.0%
Success Count Ratio
Success 2,620 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.

154,400 3.2%
hit

Specialized instructions that complete.

4,662,000 96.8%
Success Count Ratio
Success 800 78.4%
Failure 220 21.6%
Failure kind Count Ratio
not managed dict 220 100.0%

STORE_SLICE

specialization stats for STORE_SLICE family

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

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

102,460 1.0%
hit

Specialized instructions that complete.

10,296,620 99.0%
Success Count Ratio
Success 60 13.0%
Failure 400 87.0%
Failure kind Count Ratio
out of range 400 100.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

26,833,680 49.5%
hit

Specialized instructions that complete.

27,316,600 50.4%
miss

Specialized instructions that deopt.

1,280 0.0%
Success Count Ratio
Success 540 7.3%
Failure 6,900 92.7%
Failure kind Count Ratio
bytes 6,860 99.4%
tuple 40 0.6%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

60 0.0%
hit

Specialized instructions that complete.

154,260 99.9%
Success Count Ratio
Success 60 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.

600,101,180 51.8%
Not specialized

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

136,553,660 11.8%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

404,183,880 34.9%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

17,578,520 1.5%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
BINARY_SUBSCR 51,405,020 52.2%
TO_BOOL 26,833,680 27.3%
CALL 17,710,860 18.0%
LOAD_ATTR 2,002,220 2.0%
COMPARE_OP 159,300 0.2%
STORE_ATTR 154,400 0.2%
STORE_SUBSCR 102,460 0.1%
BINARY_OP 13,800 0.0%
LOAD_GLOBAL 2,620 0.0%
FOR_ITER 140 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
CALL_PY_EXACT_ARGS 17,576,540 100.0%
TO_BOOL_NONE 1,060 0.0%
COMPARE_OP_INT 700 0.0%
TO_BOOL_ALWAYS_TRUE 220 0.0%
CACHE 0 0.0%
CHECK_EXC_MATCH 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%
INTERPRETER_EXIT 0 0.0%
NOP 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 461,140 0.6%
Calls to Python functions inlined 79,686,460 99.4%
Calls via PyEval_EvalFrame (total) 461,140 0.6%
Calls via PyEval_EvalFrame (vector) 461,140 0.6%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 461,140 0.6%
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 307,200 0.4%
Frames pushed 80,147,820 100.0%

Object stats

Allocations, frees and dict materializatons

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

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

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

Count Ratio
Allocations from freelist 4,583,000 14.8%
Frees to freelist 4,586,580
Allocations 26,360,500 85.2%
Allocations to 512 bytes 25,694,120 83.0%
Allocations to 4 kbytes 615,040 2.0%
Allocations over 4 kbytes 51,340 0.2%
Frees 27,017,370
Inline values 307,680
Interpreter increfs 968,303,620 93.4%
Interpreter decrefs 1,010,144,680 94.8%
Increfs 68,902,972 6.6%
Decrefs 55,898,515 5.2%
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 2,421,737
Method cache misses 69,003
Method cache collisions 70,122
Method cache dunder hits 676,411
Method cache dunder misses 2,229

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.

13,600
Traces created

The number of traces that were successfully created.

260 1.9%
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.

13,360 98.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.

13,340 98.1%
Inner loop found

A trace is truncated because it has an inner loop

20 0.1%
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.

40 0.3%
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

131,230,980
Uops executed

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

2,507,537,200 1,910.8%
Count Ratio
Optimizer attempts

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

260
Optimizer successes

The number of traces that were successfully optimized.

260 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 15.4%
<= 32 40 15.4%
<= 64 80 30.8%
<= 128 20 7.7%
<= 256 40 15.4%
<= 512 40 15.4%

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 7.7%
<= 16 20 7.7%
<= 32 100 38.5%
<= 64 40 15.4%
<= 128 20 7.7%
<= 256 60 23.1%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 0 0.0%
<= 8 564,460 0.4%
<= 16 612,620 0.5%
<= 32 26,780,860 20.4%
<= 64 51,045,640 38.9%
<= 128 9,140 0.0%
<= 256 17,260 0.0%
<= 512 20 0.0%
<= 1,024 204,780 0.2%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_SET_IP 238,966,720 9.5% 9.5%
_CHECK_VALIDITY 212,222,960 8.5% 18.0%
_LOAD_FAST_2 159,895,220 6.4% 24.4%
_LOAD_FAST_1 142,761,480 5.7% 30.1%
_GUARD_TYPE_VERSION 129,837,200 5.2% 35.2%
_GUARD_IS_TRUE_POP 102,749,320 4.1% 39.3% 0.5%
_TO_BOOL 102,650,060 4.1% 43.4%
_EXIT_TRACE 79,234,780 3.2% 46.6%
_START_EXECUTOR 79,234,780 3.2% 49.8%
_LOAD_FAST_0 78,710,280 3.1% 52.9%
_CHECK_MANAGED_OBJECT_HAS_VALUES 78,577,720 3.1% 56.0%
_LOAD_ATTR_INSTANCE_VALUE_0 77,939,880 3.1% 59.1%
_COLD_EXIT 51,996,200 2.1% 61.2%
_CHECK_PERIODIC 51,822,140 2.1% 63.3%
_GUARD_IS_FALSE_POP 51,191,160 2.0% 65.3%
_COMPARE_OP_INT 51,185,440 2.0% 67.4%
_LOAD_CONST_INLINE_WITH_NULL 51,170,460 2.0% 69.4%
_CHECK_ATTR_METHOD_LAZY_DICT 51,131,660 2.0% 71.4%
_LOAD_ATTR_METHOD_LAZY_DICT 51,131,660 2.0% 73.5%
_CHECK_FUNCTION 51,122,820 2.0% 75.5%
_STORE_FAST_2 51,122,200 2.0% 77.6%
_CALL_METHOD_DESCRIPTOR_FAST 51,113,100 2.0% 79.6%
_CALL_LEN 51,109,140 2.0% 81.6%
_GUARD_BOTH_INT 51,060,420 2.0% 83.7%
_TIER2_RESUME_CHECK 33,505,840 1.3% 85.0%
_LOAD_CONST_INLINE_BORROW 33,338,280 1.3% 86.3%
_RESUME_CHECK 26,772,880 1.1% 87.4%
_PUSH_FRAME 26,772,880 1.1% 88.5%
_SAVE_RETURN_OFFSET 26,772,880 1.1% 89.5%
_CHECK_FUNCTION_EXACT_ARGS 26,743,760 1.1% 90.6% 0.0%
_INIT_CALL_PY_EXACT_ARGS_1 26,737,100 1.1% 91.7%
_PUSH_NULL 26,707,440 1.1% 92.7%
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS 26,700,100 1.1% 93.8%
_INIT_CALL_BOUND_METHOD_EXACT_ARGS 26,700,100 1.1% 94.9%
_CHECK_STACK_SPACE_OPERAND 26,689,500 1.1% 95.9%
_TO_BOOL_NONE 26,674,880 1.1% 97.0% 99.4%
_LOAD_FAST_3 13,134,100 0.5% 97.5%
_BINARY_SUBSCR_LIST_INT 13,106,560 0.5% 98.0%
_GUARD_NOT_EXHAUSTED_RANGE 6,760,320 0.3% 98.3% 3.0%
_ITER_CHECK_RANGE 6,760,320 0.3% 98.6%
_STORE_FAST_3 6,570,220 0.3% 98.8%
_STORE_SUBSCR_DICT 6,563,880 0.3% 99.1%
_ITER_NEXT_RANGE 6,555,440 0.3% 99.4%
_BINARY_OP_ADD_INT 6,553,280 0.3% 99.6%
_JUMP_TO_TOP 6,553,280 0.3% 99.9%
_LOAD_ATTR_INSTANCE_VALUE_1 637,840 0.0% 99.9%
_CALL_BUILTIN_FAST 633,900 0.0% 99.9%
_POP_TOP 250,860 0.0% 99.9%
_GUARD_NOS_INT 125,020 0.0% 99.9%
_POP_FRAME 74,000 0.0% 100.0%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 67,220 0.0% 100.0%
_GUARD_KEYS_VERSION 67,220 0.0% 100.0%
_GUARD_NOT_EXHAUSTED_LIST 63,280 0.0% 100.0% 81.4%
_ITER_CHECK_LIST 63,280 0.0% 100.0%
_BUILD_TUPLE 60,280 0.0% 100.0%
_LOAD_CONST_INLINE 60,220 0.0% 100.0%
_LOAD_FAST_CHECK 49,680 0.0% 100.0%
_LOAD_ATTR_METHOD_WITH_VALUES 48,780 0.0% 100.0%
_CHECK_VALIDITY_AND_SET_IP 47,600 0.0% 100.0%
_LOAD_CONST 45,700 0.0% 100.0%
_REPLACE_WITH_TRUE 37,000 0.0% 100.0%
_CALL_BUILTIN_O 32,980 0.0% 100.0%
_PY_FRAME_GENERAL 30,620 0.0% 100.0%
_CHECK_PEP_523 30,220 0.0% 100.0%
_TO_BOOL_BOOL 28,020 0.0% 100.0%
_LOAD_FAST_4 27,580 0.0% 100.0%
_BINARY_OP 25,220 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_O 25,220 0.0% 100.0%
_LOAD_ATTR_METHOD_NO_DICT 23,600 0.0% 100.0%
_GUARD_IS_NONE_POP 23,560 0.0% 100.0% 21.7%
_STORE_FAST_4 23,560 0.0% 100.0%
_LOAD_FAST 22,540 0.0% 100.0%
_CHECK_FUNCTION_VERSION 18,840 0.0% 100.0%
_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 18,440 0.0% 100.0%
_CHECK_STACK_SPACE 16,940 0.0% 100.0%
_STORE_FAST_5 16,580 0.0% 100.0%
_STORE_FAST 15,880 0.0% 100.0%
_LOAD_FAST_7 13,720 0.0% 100.0%
_IS_OP 13,320 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_NOARGS 11,780 0.0% 100.0%
_CHECK_METHOD_VERSION 11,780 0.0% 100.0%
_EXPAND_METHOD 11,780 0.0% 100.0%
_ITER_NEXT_LIST 11,780 0.0% 100.0%
_CONTAINS_OP_DICT 10,600 0.0% 100.0%
_TO_BOOL_INT 10,600 0.0% 100.0%
_UNPACK_SEQUENCE_TWO_TUPLE 9,920 0.0% 100.0%
_GUARD_NOT_EXHAUSTED_TUPLE 9,520 0.0% 100.0% 25.8%
_ITER_CHECK_TUPLE 9,520 0.0% 100.0%
_CALL_ISINSTANCE 7,060 0.0% 100.0%
_CHECK_ATTR_MODULE 7,060 0.0% 100.0%
_ITER_NEXT_TUPLE 7,060 0.0% 100.0%
_LOAD_ATTR_MODULE 7,060 0.0% 100.0%
_CALL_TYPE_1 6,660 0.0% 100.0%
_GUARD_IS_NOT_NONE_POP 6,660 0.0% 100.0%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 6,660 0.0% 100.0%
_LOAD_FAST_5 6,660 0.0% 100.0%
_LOAD_FAST_6 6,660 0.0% 100.0%
_STORE_FAST_6 6,660 0.0% 100.0%
_STORE_FAST_7 6,660 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 5,160 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_2 5,160 0.0% 100.0%
_BINARY_SUBSCR_TUPLE_INT 4,020 0.0% 100.0%
_GET_ITER 2,160 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
_CHECK_VALIDITY _GUARD_IS_TRUE_POP 102,660,660 4.1% 4.1%
_SET_IP _TO_BOOL 102,650,060 4.1% 8.2%
_TO_BOOL _CHECK_VALIDITY 102,650,060 4.1% 12.3%
_LOAD_FAST_2 _SET_IP 102,214,400 4.1% 16.4%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 78,633,160 3.1% 19.5%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 78,577,720 3.1% 22.6%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 77,939,880 3.1% 25.7%
_LOAD_FAST_1 _SET_IP 51,798,540 2.1% 27.8%
_CHECK_PERIODIC _CHECK_VALIDITY 51,785,140 2.1% 29.9%
_START_EXECUTOR _SET_IP 51,555,400 2.1% 31.9%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TYPE_VERSION 51,180,440 2.0% 34.0%
_COMPARE_OP_INT _GUARD_IS_FALSE_POP 51,155,060 2.0% 36.0%
_GUARD_IS_TRUE_POP _LOAD_FAST_0 51,152,860 2.0% 38.0%
_CHECK_ATTR_METHOD_LAZY_DICT _LOAD_ATTR_METHOD_LAZY_DICT 51,131,660 2.0% 40.1%
_GUARD_TYPE_VERSION _CHECK_ATTR_METHOD_LAZY_DICT 51,131,660 2.0% 42.1%
_LOAD_ATTR_METHOD_LAZY_DICT _LOAD_FAST_1 51,119,880 2.0% 44.2%
_CALL_METHOD_DESCRIPTOR_FAST _CHECK_PERIODIC 51,113,100 2.0% 46.2%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 51,112,220 2.0% 48.2%
_CHECK_VALIDITY _STORE_FAST_2 51,110,420 2.0% 50.3%
_CALL_LEN _CHECK_VALIDITY 51,109,140 2.0% 52.3%
_SET_IP _CALL_LEN 51,109,140 2.0% 54.4%
_STORE_FAST_2 _LOAD_FAST_2 51,106,440 2.0% 56.4%
_SET_IP _CALL_METHOD_DESCRIPTOR_FAST 51,101,320 2.0% 58.4%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_2 51,098,540 2.0% 60.5%
_CHECK_VALIDITY _LOAD_FAST_1 51,093,380 2.0% 62.5%
_GUARD_IS_FALSE_POP _LOAD_FAST_2 51,093,380 2.0% 64.5%
_LOAD_FAST_2 _EXIT_TRACE 51,093,380 2.0% 66.6%
_GUARD_BOTH_INT _COMPARE_OP_INT 51,060,420 2.0% 68.6%
_GUARD_IS_TRUE_POP _CHECK_FUNCTION 51,043,480 2.0% 70.7%
_LOAD_FAST_1 _GUARD_BOTH_INT 51,043,480 2.0% 72.7%
_START_EXECUTOR _TIER2_RESUME_CHECK 26,952,560 1.1% 73.8%
_SAVE_RETURN_OFFSET _PUSH_FRAME 26,772,880 1.1% 74.8%
_RESUME_CHECK _LOAD_FAST_0 26,754,040 1.1% 75.9%
_PUSH_FRAME _RESUME_CHECK 26,742,260 1.1% 77.0%
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET 26,737,100 1.1% 78.0%
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS _INIT_CALL_BOUND_METHOD_EXACT_ARGS 26,700,100 1.1% 79.1%
_INIT_CALL_BOUND_METHOD_EXACT_ARGS _CHECK_FUNCTION_EXACT_ARGS 26,700,100 1.1% 80.2%
_SET_IP _CHECK_CALL_BOUND_METHOD_EXACT_ARGS 26,689,500 1.1% 81.2%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 26,689,500 1.1% 82.3%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_1 26,689,500 1.1% 83.4%
_LOAD_CONST_INLINE_BORROW _SET_IP 26,681,940 1.1% 84.4%
_PUSH_NULL _LOAD_CONST_INLINE_BORROW 26,674,880 1.1% 85.5%
_LOAD_ATTR_INSTANCE_VALUE_0 _TO_BOOL_NONE 26,674,880 1.1% 86.5%
_LOAD_FAST_1 _PUSH_NULL 26,674,880 1.1% 87.6%
_TIER2_RESUME_CHECK _LOAD_FAST_1 26,674,880 1.1% 88.7%
_TO_BOOL_NONE _EXIT_TRACE 26,521,300 1.1% 89.7%
_LOAD_FAST_1 _LOAD_FAST_3 13,106,560 0.5% 90.3%
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE 6,760,320 0.3% 90.5%
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE 6,760,320 0.3% 90.8%
_STORE_SUBSCR_DICT _CHECK_VALIDITY 6,563,880 0.3% 91.1%
_LOAD_FAST_2 _LOAD_FAST_1 6,563,880 0.3% 91.3%
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE 6,555,440 0.3% 91.6%
_BINARY_SUBSCR_LIST_INT _SET_IP 6,553,280 0.3% 91.8%
_BINARY_SUBSCR_LIST_INT _LOAD_FAST_2 6,553,280 0.3% 92.1%
_SET_IP _STORE_SUBSCR_DICT 6,553,280 0.3% 92.4%
_BINARY_OP_ADD_INT _BINARY_SUBSCR_LIST_INT 6,553,280 0.3% 92.6%
_CHECK_VALIDITY _JUMP_TO_TOP 6,553,280 0.3% 92.9%
_ITER_NEXT_RANGE _STORE_FAST_3 6,553,280 0.3% 93.1%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 6,553,280 0.3% 93.4%
_LOAD_CONST_INLINE_BORROW _BINARY_OP_ADD_INT 6,553,280 0.3% 93.7%
_LOAD_FAST_3 _BINARY_SUBSCR_LIST_INT 6,553,280 0.3% 93.9%
_LOAD_FAST_3 _LOAD_CONST_INLINE_BORROW 6,553,280 0.3% 94.2%
_STORE_FAST_3 _LOAD_FAST_1 6,553,280 0.3% 94.4%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_1 637,840 0.0% 94.5%
_SET_IP _CALL_BUILTIN_FAST 633,900 0.0% 94.5%
_CALL_BUILTIN_FAST _CHECK_PERIODIC 633,900 0.0% 94.5%
_START_EXECUTOR _LOAD_FAST_0 616,640 0.0% 94.5%
_CHECK_VALIDITY _EXIT_TRACE 612,620 0.0% 94.6%
_LOAD_ATTR_INSTANCE_VALUE_1 _LOAD_FAST_1 612,620 0.0% 94.6%
_GUARD_IS_TRUE_POP _EXIT_TRACE 511,920 0.0% 94.6%
_GUARD_NOT_EXHAUSTED_RANGE _EXIT_TRACE 204,880 0.0% 94.6%
_POP_TOP _EXIT_TRACE 168,200 0.0% 94.6%
_TO_BOOL_NONE _POP_TOP 153,580 0.0% 94.6%
_GUARD_NOS_INT _COMPARE_OP_INT 125,020 0.0% 94.6%
_LOAD_CONST_INLINE_BORROW _GUARD_NOS_INT 75,120 0.0% 94.6%
_POP_TOP _LOAD_FAST_0 72,060 0.0% 94.7%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 67,220 0.0% 94.7%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 67,220 0.0% 94.7%
_ITER_CHECK_LIST _GUARD_NOT_EXHAUSTED_LIST 63,280 0.0% 94.7%
_TIER2_RESUME_CHECK _ITER_CHECK_LIST 63,280 0.0% 94.7%
_LOAD_FAST_1 _LOAD_CONST_INLINE_BORROW 53,920 0.0% 94.7%
_GUARD_NOT_EXHAUSTED_LIST _EXIT_TRACE 51,500 0.0% 94.7%
_GUARD_IS_FALSE_POP _CHECK_FUNCTION 49,900 0.0% 94.7%
_LOAD_FAST_1 _GUARD_NOS_INT 49,900 0.0% 94.7%
_START_EXECUTOR _LOAD_FAST_1 49,900 0.0% 94.7%
_BUILD_TUPLE _EXIT_TRACE 49,680 0.0% 94.7%
_LOAD_FAST_CHECK _CHECK_VALIDITY 49,680 0.0% 94.7%
_SET_IP _LOAD_FAST_CHECK 49,680 0.0% 94.7%
_CHECK_VALIDITY _BUILD_TUPLE 49,680 0.0% 94.7%
_LOAD_FAST_0 _SET_IP 49,680 0.0% 94.7%
_START_EXECUTOR _POP_TOP 49,680 0.0% 94.7%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 48,780 0.0% 94.7%
_POP_FRAME _POP_TOP 47,600 0.0% 94.7%
_CHECK_PERIODIC _CHECK_VALIDITY_AND_SET_IP 37,000 0.0% 94.7%
_GUARD_TYPE_VERSION _REPLACE_WITH_TRUE 37,000 0.0% 94.7%
_REPLACE_WITH_TRUE _GUARD_IS_TRUE_POP 37,000 0.0% 94.7%
_CHECK_FUNCTION_EXACT_ARGS _INIT_CALL_PY_EXACT_ARGS_1 35,820 0.0% 94.7%
_SET_IP _CALL_BUILTIN_O 32,980 0.0% 94.7%
_CALL_BUILTIN_O _CHECK_PERIODIC 32,980 0.0% 94.7%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_1 32,980 0.0% 94.7%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 140

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