Skip to content

Latest commit

 

History

History
10937 lines (10063 loc) · 201 KB

bm-20241214-vultr-x86_64-python-0ac40acec045c4ce780c-3.14.0a2+-0ac40ac-pystats-unpickle_pure_python.md

File metadata and controls

10937 lines (10063 loc) · 201 KB

Pystats results

  • benchmark: unpickle_pure_python
  • fork: python
  • ref: 0ac40acec045c4ce780cf7d887fcbe4c661e82b7
  • commit hash: 0ac40ac
  • commit date: 2024-12-14T17:25:49+02: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 48,276,040 23.8% 23.8%
LOAD_ATTR_INSTANCE_VALUE 20,764,300 10.2% 34.0%
RETURN_VALUE 9,423,440 4.6% 38.7%
RESUME_CHECK 9,231,260 4.5% 43.2% 0.0%
STORE_FAST 8,606,580 4.2% 47.5%
POP_TOP 8,346,800 4.1% 51.6%
LOAD_SMALL_INT 8,148,460 4.0% 55.6%
POP_JUMP_IF_FALSE 8,067,460 4.0% 59.6%
LOAD_CONST_IMMORTAL 5,907,460 2.9% 62.5%
CALL_PY_EXACT_ARGS 5,092,940 2.5% 65.0% 41.0%
LOAD_GLOBAL_BUILTIN 4,617,780 2.3% 67.3%
ENTER_EXECUTOR 4,537,720 2.2% 69.5%
POP_JUMP_IF_TRUE 4,063,700 2.0% 71.5%
BINARY_SUBSCR 3,994,980 2.0% 73.5%
CALL_METHOD_DESCRIPTOR_FAST 3,834,080 1.9% 75.4%
COMPARE_OP_INT 3,752,060 1.8% 77.2% 0.0%
CALL_BOUND_METHOD_EXACT_ARGS 3,679,280 1.8% 79.0%
CALL_BUILTIN_O 3,613,940 1.8% 80.8%
TO_BOOL 3,534,020 1.7% 82.5%
CALL_LEN 3,518,580 1.7% 84.3%
STORE_ATTR_INSTANCE_VALUE 3,497,100 1.7% 86.0%
TO_BOOL_ALWAYS_TRUE 3,358,040 1.7% 87.7% 9.1%
LOAD_ATTR_METHOD_LAZY_DICT 3,352,460 1.7% 89.3%
NOP 2,967,240 1.5% 90.8%
BINARY_SUBSCR_DICT 2,880,060 1.4% 92.2%
LOAD_FAST_LOAD_FAST 1,679,220 0.8% 93.0%
LOAD_ATTR 1,502,940 0.7% 93.8%
LOAD_GLOBAL_MODULE 1,463,000 0.7% 94.5%
PUSH_NULL 917,880 0.5% 94.9%
CALL_BUILTIN_FAST 915,980 0.5% 95.4%
LOAD_ATTR_METHOD_NO_DICT 812,100 0.4% 95.8%
LOAD_ATTR_METHOD_WITH_VALUES 603,480 0.3% 96.1%
TO_BOOL_NONE 581,760 0.3% 96.4% 52.5%
BUILD_LIST 537,660 0.3% 96.6%
TO_BOOL_BOOL 516,720 0.3% 96.9%
LOAD_CONST 456,620 0.2% 97.1%
LOAD_ATTR_MODULE 423,480 0.2% 97.3%
CALL_NON_PY_GENERAL 347,040 0.2% 97.5%
CALL_ISINSTANCE 345,960 0.2% 97.7%
BINARY_SUBSCR_LIST_INT 307,320 0.2% 97.8%
BUILD_MAP 269,040 0.1% 97.9%
CALL_LIST_APPEND 268,800 0.1% 98.1%
SWAP 232,140 0.1% 98.2%
INTERPRETER_EXIT 230,640 0.1% 98.3%
CALL_BUILTIN_CLASS 192,540 0.1% 98.4%
CALL_KW_NON_PY 192,300 0.1% 98.5%
POP_JUMP_IF_NONE 166,260 0.1% 98.6%
STORE_SUBSCR_DICT 165,580 0.1% 98.7%
GET_ITER 156,600 0.1% 98.7%
FOR_ITER_RANGE 155,580 0.1% 98.8%
BINARY_OP_ADD_INT 153,840 0.1% 98.9%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 148,380 0.1% 99.0%
CALL_PY_GENERAL 134,040 0.1% 99.0%
COMPARE_OP 118,740 0.1% 99.1%
COPY 117,120 0.1% 99.1%
EXIT_INIT_CHECK 115,380 0.1% 99.2%
CALL_ALLOC_AND_ENTER_INIT 115,380 0.1% 99.3%
STORE_SUBSCR 115,320 0.1% 99.3%
STORE_ATTR 115,240 0.1% 99.4%
CHECK_EXC_MATCH 115,200 0.1% 99.4%
POP_EXCEPT 115,200 0.1% 99.5%
PUSH_EXC_INFO 115,200 0.1% 99.5%
DELETE_FAST 115,200 0.1% 99.6%
RAISE_VARARGS 115,200 0.1% 99.7%
UNPACK_SEQUENCE_TUPLE 115,200 0.1% 99.7%
IS_OP 105,600 0.1% 99.8%
CALL_TYPE_1 91,140 0.0% 99.8%
BUILD_TUPLE 88,860 0.0% 99.9%
CALL_FUNCTION_EX 38,580 0.0% 99.9%
CONTAINS_OP 38,540 0.0% 99.9%
CALL_METHOD_DESCRIPTOR_O 31,140 0.0% 99.9%
BINARY_OP 29,620 0.0% 99.9%
CALL_METHOD_DESCRIPTOR_NOARGS 19,140 0.0% 99.9%
JUMP_BACKWARD 18,120 0.0% 99.9%
CALL_BOUND_METHOD_GENERAL 17,940 0.0% 99.9%
FOR_ITER_TUPLE 15,840 0.0% 100.0%
JUMP_FORWARD 13,320 0.0% 100.0%
CONTAINS_OP_DICT 12,000 0.0% 100.0%
TO_BOOL_INT 11,820 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 11,160 0.0% 100.0%
EXTENDED_ARG 11,100 0.0% 100.0%
STORE_FAST_STORE_FAST 9,960 0.0% 100.0%
UNPACK_SEQUENCE_TWO_TUPLE 9,960 0.0% 100.0%
BINARY_SUBSCR_TUPLE_INT 4,160 0.0% 100.0%
FOR_ITER 3,300 0.0% 100.0%
CALL 1,140 0.0% 100.0%
LOAD_GLOBAL 1,020 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 420 0.0% 100.0%
CALL_KW_PY 180 0.0% 100.0%
LOAD_DEREF 120 0.0% 100.0%
COMPARE_OP_STR 120 0.0% 100.0%
FOR_ITER_LIST 120 0.0% 100.0%
MAKE_FUNCTION 60 0.0% 100.0%
CALL_INTRINSIC_1 60 0.0% 100.0%
COPY_FREE_VARS 60 0.0% 100.0%
LIST_EXTEND 60 0.0% 100.0%
MAKE_CELL 60 0.0% 100.0%
SET_FUNCTION_ATTRIBUTE 60 0.0% 100.0%
STORE_DEREF 60 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%
CALL_KW 40 0.0% 100.0%
UNPACK_SEQUENCE 20 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 20,763,920 10.2% 10.2%
RESUME_CHECK LOAD_FAST 8,559,260 4.2% 14.5%
POP_JUMP_IF_FALSE LOAD_FAST 7,387,420 3.6% 18.1%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 6,620,880 3.3% 21.4%
CALL_PY_EXACT_ARGS RESUME_CHECK 5,053,440 2.5% 23.8%
STORE_FAST LOAD_FAST 4,930,980 2.4% 26.3%
LOAD_CONST_IMMORTAL RETURN_VALUE 4,762,200 2.3% 28.6%
RETURN_VALUE POP_TOP 4,664,820 2.3% 30.9%
POP_TOP ENTER_EXECUTOR 4,339,380 2.1% 33.1%
ENTER_EXECUTOR CALL_PY_EXACT_ARGS 4,185,600 2.1% 35.1%
LOAD_GLOBAL_BUILTIN LOAD_FAST 4,166,340 2.1% 37.2%
POP_TOP LOAD_CONST_IMMORTAL 3,752,540 1.8% 39.0%
CALL_BOUND_METHOD_EXACT_ARGS RESUME_CHECK 3,679,280 1.8% 40.8%
COMPARE_OP_INT POP_JUMP_IF_FALSE 3,617,780 1.8% 42.6%
LOAD_FAST RETURN_VALUE 3,610,040 1.8% 44.4%
POP_JUMP_IF_TRUE LOAD_GLOBAL_BUILTIN 3,583,280 1.8% 46.2%
CALL_BUILTIN_O POP_TOP 3,571,580 1.8% 47.9%
LOAD_SMALL_INT BINARY_SUBSCR 3,571,220 1.8% 49.7%
LOAD_SMALL_INT CALL_BOUND_METHOD_EXACT_ARGS 3,571,220 1.8% 51.4%
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST 3,565,280 1.8% 53.2%
LOAD_ATTR_INSTANCE_VALUE LOAD_SMALL_INT 3,556,640 1.8% 55.0%
LOAD_FAST TO_BOOL 3,532,960 1.7% 56.7%
TO_BOOL POP_JUMP_IF_TRUE 3,532,940 1.7% 58.4%
LOAD_FAST CALL_LEN 3,506,700 1.7% 60.2%
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_FALSE 3,352,280 1.7% 61.8%
CALL_LEN LOAD_FAST 3,341,000 1.6% 63.5%
LOAD_FAST COMPARE_OP_INT 3,340,820 1.6% 65.1%
RETURN_VALUE LOAD_SMALL_INT 3,340,800 1.6% 66.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_LAZY_DICT 3,333,680 1.6% 68.4%
LOAD_ATTR_METHOD_LAZY_DICT LOAD_FAST 3,333,500 1.6% 70.0%
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST 3,316,580 1.6% 71.7%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_ALWAYS_TRUE 3,277,400 1.6% 73.3%
BINARY_SUBSCR STORE_FAST 3,110,400 1.5% 74.8%
NOP LOAD_FAST 2,851,860 1.4% 76.2%
STORE_FAST NOP 2,841,660 1.4% 77.6%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 2,805,540 1.4% 79.0%
LOAD_FAST BINARY_SUBSCR_DICT 2,649,640 1.3% 80.3%
BINARY_SUBSCR_DICT CALL_BUILTIN_O 2,611,200 1.3% 81.6%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 1,613,520 0.8% 82.4%
LOAD_ATTR LOAD_FAST 1,267,740 0.6% 83.0%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR 998,800 0.5% 83.5%
STORE_ATTR_INSTANCE_VALUE LOAD_CONST_IMMORTAL 845,880 0.4% 83.9%
PUSH_NULL LOAD_FAST 747,960 0.4% 84.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT 747,920 0.4% 84.7%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 691,560 0.3% 85.0%
LOAD_FAST CALL_BUILTIN_FAST 631,940 0.3% 85.3%
TO_BOOL_NONE POP_JUMP_IF_FALSE 576,000 0.3% 85.6%
RETURN_VALUE STORE_FAST 556,320 0.3% 85.9%
BINARY_SUBSCR CALL_BUILTIN_O 537,600 0.3% 86.1%
BUILD_LIST LOAD_FAST 537,600 0.3% 86.4%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_NONE 535,680 0.3% 86.7%
CALL_BUILTIN_FAST RETURN_VALUE 499,200 0.2% 86.9%
LOAD_ATTR_METHOD_NO_DICT CALL_METHOD_DESCRIPTOR_FAST 499,200 0.2% 87.2%
LOAD_FAST LOAD_ATTR 462,520 0.2% 87.4%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 460,800 0.2% 87.6%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 441,880 0.2% 87.8%
LOAD_FAST CALL_PY_EXACT_ARGS 426,320 0.2% 88.1%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 423,140 0.2% 88.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST_IMMORTAL 422,560 0.2% 88.5%
LOAD_CONST_IMMORTAL BINARY_SUBSCR 422,560 0.2% 88.7%
LOAD_FAST PUSH_NULL 417,540 0.2% 88.9%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 384,360 0.2% 89.1%
LOAD_FAST_LOAD_FAST LOAD_SMALL_INT 384,000 0.2% 89.3%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 361,760 0.2% 89.4%
LOAD_FAST LOAD_GLOBAL_MODULE 360,100 0.2% 89.6%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 354,120 0.2% 89.8%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 346,620 0.2% 90.0%
LOAD_SMALL_INT LOAD_FAST 346,020 0.2% 90.1%
CALL_ISINSTANCE TO_BOOL_BOOL 345,900 0.2% 90.3%
POP_JUMP_IF_TRUE LOAD_FAST_LOAD_FAST 345,600 0.2% 90.5%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 283,080 0.1% 90.6%
LOAD_ATTR_MODULE PUSH_NULL 269,760 0.1% 90.7%
LOAD_GLOBAL_MODULE LOAD_FAST 269,340 0.1% 90.9%
LOAD_CONST_IMMORTAL LOAD_FAST 269,220 0.1% 91.0%
LOAD_FAST_LOAD_FAST LOAD_FAST 269,040 0.1% 91.1%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 269,020 0.1% 91.3%
CALL_LIST_APPEND BUILD_LIST 268,800 0.1% 91.4%
CALL_METHOD_DESCRIPTOR_FAST LOAD_FAST 268,800 0.1% 91.5%
LOAD_ATTR_INSTANCE_VALUE CALL_LIST_APPEND 268,800 0.1% 91.7%
LOAD_FAST LOAD_CONST_IMMORTAL 249,540 0.1% 91.8%
STORE_FAST LOAD_GLOBAL_MODULE 230,840 0.1% 91.9%
CACHE RESUME_CHECK 230,700 0.1% 92.0%
RETURN_VALUE INTERPRETER_EXIT 230,640 0.1% 92.1%
LOAD_GLOBAL_MODULE CALL_ISINSTANCE 230,580 0.1% 92.3%
RESUME_CHECK LOAD_FAST_LOAD_FAST 230,580 0.1% 92.4%
STORE_ATTR_INSTANCE_VALUE LOAD_SMALL_INT 230,580 0.1% 92.5%
BINARY_SUBSCR BINARY_SUBSCR_DICT 230,420 0.1% 92.6%
LOAD_FAST CALL_NON_PY_GENERAL 230,400 0.1% 92.7%
BINARY_SUBSCR_DICT PUSH_NULL 230,400 0.1% 92.8%
STORE_ATTR_INSTANCE_VALUE BUILD_LIST 230,400 0.1% 92.9%
STORE_FAST LOAD_GLOBAL_BUILTIN 218,240 0.1% 93.0%
POP_TOP LOAD_FAST 206,940 0.1% 93.1%
LOAD_CONST CALL_KW_NON_PY 192,260 0.1% 93.2%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 170,100 0.1% 93.3%
LOAD_FAST POP_JUMP_IF_NONE 166,260 0.1% 93.4%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 162,060 0.1% 93.5%
LOAD_FAST CALL_BUILTIN_O 157,640 0.1% 93.6%
LOAD_SMALL_INT COMPARE_OP_INT 156,000 0.1% 93.6%
FOR_ITER_RANGE STORE_FAST 155,520 0.1% 93.7%
RESUME_CHECK LOAD_GLOBAL_MODULE 154,040 0.1% 93.8%

Predecessor/Successor Pairs

Top 5 predecessors and successors of each Tier 1 opcode.

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

CACHE

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

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_SMALL_INT 3,571,220 89.4%
LOAD_CONST_IMMORTAL 422,560 10.6%
BINARY_SUBSCR 1,180 0.0%
LOAD_FAST 20 0.0%
Successors Count Percentage
STORE_FAST 3,110,400 77.9%
CALL_BUILTIN_O 537,600 13.5%
BINARY_SUBSCR_DICT 230,420 5.8%
BUILD_TUPLE 76,800 1.9%
LOAD_FAST 38,560 1.0%

CHECK_EXC_MATCH

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

EXIT_INIT_CHECK

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

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 153,900 98.3%
LOAD_FAST 2,280 1.5%
CALL_NON_PY_GENERAL 420 0.3%
Successors Count Percentage
FOR_ITER_RANGE 153,660 98.1%
FOR_ITER_TUPLE 2,160 1.4%
FOR_ITER 720 0.5%
FOR_ITER_LIST 60 0.0%

INTERPRETER_EXIT

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

MAKE_FUNCTION

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

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
STORE_FAST 2,841,660 95.8%
NOP 115,200 3.9%
POP_TOP 7,980 0.3%
STORE_FAST_STORE_FAST 1,980 0.1%
STORE_ATTR_INSTANCE_VALUE 180 0.0%
Successors Count Percentage
LOAD_FAST 2,851,860 96.1%
NOP 115,200 3.9%
LOAD_GLOBAL_BUILTIN 80 0.0%
LOAD_GLOBAL 60 0.0%
LOAD_GLOBAL_MODULE 40 0.0%

POP_EXCEPT

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

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_VALUE 4,664,820 55.9%
CALL_BUILTIN_O 3,571,580 42.8%
CALL_KW_NON_PY 38,460 0.5%
CALL_BUILTIN_FAST 38,400 0.5%
ENTER_EXECUTOR 33,180 0.4%
Successors Count Percentage
ENTER_EXECUTOR 4,339,380 52.0%
LOAD_CONST_IMMORTAL 3,752,540 45.0%
LOAD_FAST 206,940 2.5%
JUMP_BACKWARD 15,960 0.2%
LOAD_FAST_LOAD_FAST 11,820 0.1%

PUSH_EXC_INFO

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

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_FAST 417,540 45.5%
LOAD_ATTR_MODULE 269,760 29.4%
BINARY_SUBSCR_DICT 230,400 25.1%
LOAD_ATTR 120 0.0%
LOAD_DEREF 60 0.0%
Successors Count Percentage
LOAD_FAST 747,960 81.5%
LOAD_SMALL_INT 115,200 12.6%
LOAD_CONST 38,400 4.2%
LOAD_FAST_LOAD_FAST 14,220 1.5%
LOAD_GLOBAL_MODULE 1,220 0.1%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 4,762,200 50.5%
LOAD_FAST 3,610,040 38.3%
CALL_BUILTIN_FAST 499,200 5.3%
ENTER_EXECUTOR 120,420 1.3%
EXIT_INIT_CHECK 115,380 1.2%
Successors Count Percentage
POP_TOP 4,664,820 49.5%
LOAD_SMALL_INT 3,340,800 35.5%
STORE_FAST 556,320 5.9%
INTERPRETER_EXIT 230,640 2.4%
LOAD_FAST 115,440 1.2%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 76,800 66.6%
LOAD_CONST 38,400 33.3%
STORE_SUBSCR 120 0.1%
Successors Count Percentage
LOAD_CONST_IMMORTAL 115,200 99.9%
STORE_SUBSCR 120 0.1%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 3,532,960 100.0%
TO_BOOL 900 0.0%
CALL_ISINSTANCE 60 0.0%
LOAD_ATTR_INSTANCE_VALUE 60 0.0%
CALL_BUILTIN_FAST 20 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 3,532,940 100.0%
TO_BOOL 900 0.0%
TO_BOOL_BOOL 120 0.0%
POP_JUMP_IF_FALSE 60 0.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
CALL_BUILTIN_FAST 17,940 60.6%
LOAD_FAST 11,240 37.9%
BINARY_OP 360 1.2%
LOAD_SMALL_INT 80 0.3%
Successors Count Percentage
CALL_BOUND_METHOD_EXACT_ARGS 13,640 46.0%
LOAD_FAST 11,220 37.9%
RETURN_VALUE 4,080 13.8%
BINARY_OP 360 1.2%
CALL_BUILTIN_O 180 0.6%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
CALL_LIST_APPEND 268,800 50.0%
STORE_ATTR_INSTANCE_VALUE 230,400 42.9%
BUILD_TUPLE 38,400 7.1%
LOAD_FAST 60 0.0%
Successors Count Percentage
LOAD_FAST 537,600 100.0%
LOAD_DEREF 60 0.0%

BUILD_MAP

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

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
BINARY_SUBSCR 76,800 86.4%
LOAD_FAST_LOAD_FAST 11,940 13.4%
LOAD_FAST 120 0.1%
Successors Count Percentage
LOAD_FAST 50,220 56.5%
BUILD_LIST 38,400 43.2%
LOAD_CONST 60 0.1%
STORE_FAST 60 0.1%
CALL_METHOD_DESCRIPTOR_O 40 0.0%

CALL

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

CALL_FUNCTION_EX

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

CALL_INTRINSIC_1

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

CALL_KW

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

COMPARE_OP

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

CONTAINS_OP

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

COPY

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

COPY_FREE_VARS

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

DELETE_FAST

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

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
POP_TOP 11,100 100.0%
Successors Count Percentage
JUMP_FORWARD 11,100 100.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD 2,460 74.5%
GET_ITER 720 21.8%
FOR_ITER 120 3.6%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 1,980 60.0%
STORE_FAST 420 12.7%
LOAD_CONST_IMMORTAL 420 12.7%
LOAD_FAST 240 7.3%
FOR_ITER 120 3.6%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 90,960 86.1%
LOAD_GLOBAL_MODULE 14,340 13.6%
CALL_TYPE_1 180 0.2%
LOAD_FAST 60 0.1%
LOAD_CONST_IMMORTAL 60 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 67,140 63.6%
POP_JUMP_IF_TRUE 38,400 36.4%
STORE_FAST 60 0.1%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_TOP 15,960 88.1%
FOR_ITER_TUPLE 1,920 10.6%
STORE_FAST 240 1.3%
Successors Count Percentage
FOR_ITER_TUPLE 13,680 75.5%
FOR_ITER 2,460 13.6%
FOR_ITER_RANGE 1,920 10.6%
FOR_ITER_LIST 60 0.3%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
EXTENDED_ARG 11,100 83.3%
POP_JUMP_IF_FALSE 1,440 10.8%
POP_TOP 660 5.0%
STORE_FAST 120 0.9%
Successors Count Percentage
LOAD_FAST 13,080 98.2%
LOAD_FAST_LOAD_FAST 180 1.4%
LOAD_GLOBAL_BUILTIN 40 0.3%
LOAD_GLOBAL 20 0.2%

LIST_EXTEND

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

LOAD_ATTR

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

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 133,160 29.2%
LOAD_FAST_LOAD_FAST 115,200 25.2%
LOAD_CONST_IMMORTAL 38,640 8.5%
LOAD_SMALL_INT 38,460 8.4%
PUSH_NULL 38,400 8.4%
Successors Count Percentage
CALL_KW_NON_PY 192,260 42.1%
LOAD_FAST 134,540 29.5%
LOAD_CONST_IMMORTAL 49,500 10.8%
STORE_SUBSCR 38,400 8.4%
LOAD_FAST_LOAD_FAST 38,400 8.4%

LOAD_DEREF

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

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
RESUME_CHECK 8,559,260 17.7%
POP_JUMP_IF_FALSE 7,387,420 15.3%
LOAD_ATTR_INSTANCE_VALUE 6,620,880 13.7%
STORE_FAST 4,930,980 10.2%
LOAD_GLOBAL_BUILTIN 4,166,340 8.6%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 20,763,920 43.0%
RETURN_VALUE 3,610,040 7.5%
TO_BOOL 3,532,960 7.3%
CALL_LEN 3,506,700 7.3%
COMPARE_OP_INT 3,340,820 6.9%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 460,800 27.4%
POP_JUMP_IF_TRUE 345,600 20.6%
RESUME_CHECK 230,580 13.7%
STORE_FAST 153,660 9.2%
BINARY_SUBSCR_LIST_INT 153,600 9.1%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 691,560 41.2%
LOAD_SMALL_INT 384,000 22.9%
LOAD_FAST 269,040 16.0%
LOAD_CONST 115,200 6.9%
STORE_ATTR 115,200 6.9%

LOAD_GLOBAL

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

LOAD_SMALL_INT

Successors and predecessors for LOAD_SMALL_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,556,640 43.6%
RETURN_VALUE 3,340,800 41.0%
LOAD_FAST_LOAD_FAST 384,000 4.7%
STORE_ATTR_INSTANCE_VALUE 230,580 2.8%
CALL_LEN 153,840 1.9%
Successors Count Percentage
BINARY_SUBSCR 3,571,220 43.8%
CALL_BOUND_METHOD_EXACT_ARGS 3,571,220 43.8%
LOAD_FAST 346,020 4.2%
COMPARE_OP_INT 156,000 1.9%
BINARY_OP_ADD_INT 153,640 1.9%

MAKE_CELL

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

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 3,617,780 44.8%
TO_BOOL_ALWAYS_TRUE 3,352,280 41.6%
TO_BOOL_NONE 576,000 7.1%
TO_BOOL_BOOL 170,100 2.1%
COMPARE_OP 118,320 1.5%
Successors Count Percentage
LOAD_FAST 7,387,420 91.6%
LOAD_GLOBAL_MODULE 361,760 4.5%
LOAD_GLOBAL_BUILTIN 141,380 1.8%
STORE_FAST 115,200 1.4%
LOAD_CONST_IMMORTAL 56,640 0.7%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 166,260 100.0%
Successors Count Percentage
LOAD_CONST_IMMORTAL 115,260 69.3%
LOAD_FAST 36,540 22.0%
LOAD_GLOBAL_BUILTIN 14,240 8.6%
LOAD_FAST_LOAD_FAST 180 0.1%
LOAD_GLOBAL 40 0.0%

POP_JUMP_IF_NOT_NONE

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

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL 3,532,940 86.9%
TO_BOOL_BOOL 346,620 8.5%
COMPARE_OP_INT 133,920 3.3%
IS_OP 38,400 0.9%
CONTAINS_OP_DICT 11,820 0.3%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 3,583,280 88.2%
LOAD_FAST_LOAD_FAST 345,600 8.5%
LOAD_GLOBAL_MODULE 115,440 2.8%
LOAD_FAST 19,080 0.5%
LOAD_SMALL_INT 180 0.0%

RAISE_VARARGS

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

SET_FUNCTION_ATTRIBUTE

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

STORE_ATTR

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

STORE_DEREF

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

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 3,565,280 41.4%
BINARY_SUBSCR 3,110,400 36.1%
RETURN_VALUE 556,320 6.5%
LOAD_ATTR_INSTANCE_VALUE 441,880 5.1%
FOR_ITER_RANGE 155,520 1.8%
Successors Count Percentage
LOAD_FAST 4,930,980 57.3%
NOP 2,841,660 33.0%
LOAD_GLOBAL_MODULE 230,840 2.7%
LOAD_GLOBAL_BUILTIN 218,240 2.5%
LOAD_FAST_LOAD_FAST 153,660 1.8%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 9,960 100.0%
Successors Count Percentage
LOAD_FAST 7,980 80.1%
NOP 1,980 19.9%

SWAP

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

UNPACK_SEQUENCE

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

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_SMALL_INT 153,640 99.9%
LOAD_FAST_LOAD_FAST 180 0.1%
BINARY_OP 20 0.0%
Successors Count Percentage
BINARY_SUBSCR_LIST_INT 153,600 99.8%
STORE_FAST 240 0.2%

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 2,649,640 92.0%
BINARY_SUBSCR 230,420 8.0%
Successors Count Percentage
CALL_BUILTIN_O 2,611,200 90.7%
PUSH_NULL 230,400 8.0%
LOAD_FAST 38,400 1.3%
STORE_FAST 60 0.0%

BINARY_SUBSCR_LIST_INT

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

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_SMALL_INT 4,140 99.5%
BINARY_SUBSCR 20 0.5%
Successors Count Percentage
CALL_PY_EXACT_ARGS 4,080 98.1%
STORE_FAST 60 1.4%
CALL_BUILTIN_O 20 0.5%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 115,380 100.0%
Successors Count Percentage
RESUME_CHECK 115,380 100.0%

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
LOAD_SMALL_INT 3,571,220 97.1%
LOAD_FAST 76,800 2.1%
RETURN_VALUE 15,900 0.4%
BINARY_OP 13,640 0.4%
LOAD_GLOBAL_MODULE 1,520 0.0%
Successors Count Percentage
RESUME_CHECK 3,679,280 100.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_FAST 17,900 99.8%
CALL 40 0.2%
Successors Count Percentage
RESUME_CHECK 17,940 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_SMALL_INT 153,600 79.8%
LOAD_CONST_IMMORTAL 38,400 19.9%
LOAD_FAST 340 0.2%
LOAD_FAST_LOAD_FAST 180 0.1%
CALL 20 0.0%
Successors Count Percentage
GET_ITER 153,900 79.9%
CALL_BUILTIN_O 38,400 19.9%
LOAD_FAST 180 0.1%
STORE_FAST 60 0.0%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_FAST 631,940 69.0%
LOAD_CONST_IMMORTAL 115,500 12.6%
RETURN_VALUE 115,220 12.6%
LOAD_FAST_LOAD_FAST 38,440 4.2%
LOAD_GLOBAL_MODULE 14,280 1.6%
Successors Count Percentage
RETURN_VALUE 499,200 54.5%
TO_BOOL_BOOL 115,420 12.6%
CALL_NON_PY_GENERAL 115,200 12.6%
UNPACK_SEQUENCE_TUPLE 115,200 12.6%
POP_TOP 38,400 4.2%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
BINARY_SUBSCR_DICT 2,611,200 72.3%
BINARY_SUBSCR 537,600 14.9%
LOAD_FAST 157,640 4.4%
BUILD_MAP 153,600 4.3%
RETURN_VALUE 115,200 3.2%
Successors Count Percentage
POP_TOP 3,571,580 98.8%
CALL_METHOD_DESCRIPTOR_FAST 18,240 0.5%
LOAD_FAST 12,000 0.3%
STORE_SUBSCR_DICT 11,820 0.3%
RETURN_VALUE 180 0.0%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 230,580 66.6%
LOAD_GLOBAL_BUILTIN 115,320 33.3%
CALL 60 0.0%
Successors Count Percentage
TO_BOOL_BOOL 345,900 100.0%
TO_BOOL 60 0.0%

CALL_KW_NON_PY

Successors and predecessors for CALL_KW_NON_PY
Predecessors Count Percentage
LOAD_CONST 192,260 100.0%
CALL_KW 40 0.0%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 115,380 60.0%
POP_TOP 38,460 20.0%
RETURN_VALUE 38,400 20.0%
STORE_FAST 60 0.0%

CALL_KW_PY

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

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 3,506,700 99.7%
LOAD_ATTR_INSTANCE_VALUE 11,820 0.3%
CALL 60 0.0%
Successors Count Percentage
LOAD_FAST 3,341,000 95.0%
LOAD_SMALL_INT 153,840 4.4%
STORE_FAST 23,400 0.7%
CALL_BUILTIN_FAST 180 0.0%
STORE_SUBSCR_DICT 160 0.0%

CALL_LIST_APPEND

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

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_FAST 3,316,580 86.5%
LOAD_ATTR_METHOD_NO_DICT 499,200 13.0%
CALL_BUILTIN_O 18,240 0.5%
LOAD_GLOBAL_MODULE 40 0.0%
CALL 20 0.0%
Successors Count Percentage
STORE_FAST 3,565,280 93.0%
LOAD_FAST 268,800 7.0%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 11,140 99.8%
CALL 20 0.2%
Successors Count Percentage
STORE_FAST 11,160 100.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 18,780 98.1%
LOAD_ATTR_METHOD_NO_DICT 320 1.7%
CALL 40 0.2%
Successors Count Percentage
LOAD_FAST 18,660 97.5%
LOAD_SMALL_INT 240 1.3%
STORE_FAST 180 0.9%
UNPACK_SEQUENCE_TWO_TUPLE 40 0.2%
UNPACK_SEQUENCE 20 0.1%

CALL_METHOD_DESCRIPTOR_O

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

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 230,400 66.4%
CALL_BUILTIN_FAST 115,200 33.2%
PUSH_NULL 700 0.2%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 420 0.1%
LOAD_ATTR_METHOD_LAZY_DICT 180 0.1%
Successors Count Percentage
LOAD_FAST 115,620 33.3%
STORE_FAST 115,620 33.3%
RAISE_VARARGS 115,200 33.2%
GET_ITER 420 0.1%
POP_TOP 60 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
ENTER_EXECUTOR 4,185,600 82.2%
LOAD_FAST 426,320 8.4%
LOAD_ATTR_METHOD_WITH_VALUES 384,360 7.5%
LOAD_FAST_LOAD_FAST 52,840 1.0%
CALL_PY_EXACT_ARGS 39,440 0.8%
Successors Count Percentage
RESUME_CHECK 5,053,440 99.2%
CALL_PY_EXACT_ARGS 39,440 0.8%
COPY_FREE_VARS 60 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST 115,500 86.2%
LOAD_ATTR_METHOD_WITH_VALUES 18,240 13.6%
CALL 140 0.1%
LOAD_ATTR 120 0.1%
LOAD_CONST_IMMORTAL 40 0.0%
Successors Count Percentage
RESUME_CHECK 133,980 100.0%
MAKE_CELL 60 0.0%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_FAST 90,960 99.8%
LOAD_CONST_IMMORTAL 80 0.1%
CALL 60 0.1%
LOAD_GLOBAL_BUILTIN 40 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 76,800 84.3%
STORE_FAST 14,160 15.5%
IS_OP 180 0.2%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_FAST 3,340,820 89.0%
LOAD_SMALL_INT 156,000 4.2%
COPY 115,420 3.1%
LOAD_GLOBAL_MODULE 115,380 3.1%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 18,600 0.5%
Successors Count Percentage
POP_JUMP_IF_FALSE 3,617,780 96.4%
POP_JUMP_IF_TRUE 133,920 3.6%
LOAD_FAST 360 0.0%

COMPARE_OP_STR

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

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 11,860 98.8%
LOAD_FAST 120 1.0%
CONTAINS_OP 20 0.2%
Successors Count Percentage
POP_JUMP_IF_TRUE 11,820 98.5%
POP_JUMP_IF_FALSE 180 1.5%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 60 50.0%
JUMP_BACKWARD 60 50.0%
Successors Count Percentage
LOAD_FAST 60 50.0%
STORE_FAST 60 50.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 153,660 98.8%
JUMP_BACKWARD 1,920 1.2%
Successors Count Percentage
STORE_FAST 155,520 100.0%
LOAD_GLOBAL_MODULE 40 0.0%
LOAD_GLOBAL 20 0.0%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
JUMP_BACKWARD 13,680 86.4%
GET_ITER 2,160 13.6%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 7,920 50.0%
STORE_FAST 5,760 36.4%
JUMP_BACKWARD 1,920 12.1%
LOAD_FAST 240 1.5%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 20,763,920 100.0%
LOAD_ATTR 340 0.0%
LOAD_FAST_LOAD_FAST 40 0.0%
Successors Count Percentage
LOAD_FAST 6,620,880 31.9%
LOAD_SMALL_INT 3,556,640 17.1%
LOAD_ATTR_METHOD_LAZY_DICT 3,333,680 16.1%
TO_BOOL_ALWAYS_TRUE 3,277,400 15.8%
LOAD_ATTR 998,800 4.8%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,333,680 99.4%
LOAD_FAST 18,780 0.6%
Successors Count Percentage
LOAD_FAST 3,333,500 99.4%
CALL_METHOD_DESCRIPTOR_NOARGS 18,780 0.6%
CALL_NON_PY_GENERAL 180 0.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 747,920 92.1%
LOAD_FAST 49,860 6.1%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 14,160 1.7%
LOAD_ATTR 120 0.0%
CALL_BUILTIN_FAST 40 0.0%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 499,200 61.5%
LOAD_FAST 283,080 34.9%
LOAD_GLOBAL_BUILTIN 18,240 2.2%
LOAD_CONST 11,100 1.4%
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 354,120 58.7%
LOAD_ATTR_INSTANCE_VALUE 133,800 22.2%
CALL_KW_NON_PY 115,380 19.1%
LOAD_ATTR 180 0.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 384,360 63.7%
LOAD_FAST 162,060 26.9%
LOAD_FAST_LOAD_FAST 38,640 6.4%
CALL_PY_GENERAL 18,240 3.0%
LOAD_CONST_IMMORTAL 180 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 423,140 99.9%
LOAD_ATTR 180 0.0%
LOAD_FAST 160 0.0%
Successors Count Percentage
PUSH_NULL 269,760 63.7%
COMPARE_OP 115,200 27.2%
LOAD_FAST 38,460 9.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 147,960 99.7%
LOAD_FAST_LOAD_FAST 420 0.3%
Successors Count Percentage
STORE_FAST 115,200 77.6%
COMPARE_OP_INT 18,600 12.5%
LOAD_ATTR_METHOD_NO_DICT 14,160 9.5%
CALL_NON_PY_GENERAL 420 0.3%

LOAD_CONST_IMMORTAL

Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors Count Percentage
POP_TOP 3,752,540 63.5%
STORE_ATTR_INSTANCE_VALUE 845,880 14.3%
LOAD_ATTR_INSTANCE_VALUE 422,560 7.2%
LOAD_FAST 249,540 4.2%
POP_JUMP_IF_NONE 115,260 2.0%
Successors Count Percentage
RETURN_VALUE 4,762,200 80.6%
BINARY_SUBSCR 422,560 7.2%
LOAD_FAST 269,220 4.6%
CALL_BUILTIN_FAST 115,500 2.0%
STORE_FAST 115,320 2.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
POP_JUMP_IF_TRUE 3,583,280 77.6%
RESUME_CHECK 269,020 5.8%
STORE_FAST 218,240 4.7%
LOAD_SMALL_INT 153,600 3.3%
POP_JUMP_IF_FALSE 141,380 3.1%
Successors Count Percentage
LOAD_FAST 4,166,340 90.2%
LOAD_SMALL_INT 153,600 3.3%
CALL_ISINSTANCE 115,320 2.5%
IS_OP 90,960 2.0%
LOAD_ATTR 38,400 0.8%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
POP_JUMP_IF_FALSE 361,760 24.7%
LOAD_FAST 360,100 24.6%
STORE_FAST 230,840 15.8%
RESUME_CHECK 154,040 10.5%
POP_JUMP_IF_TRUE 115,440 7.9%
Successors Count Percentage
LOAD_ATTR_MODULE 423,140 28.9%
LOAD_FAST 269,340 18.4%
CALL_ISINSTANCE 230,580 15.8%
LOAD_CONST 133,160 9.1%
LOAD_FAST_LOAD_FAST 115,980 7.9%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 5,053,440 54.7%
CALL_BOUND_METHOD_EXACT_ARGS 3,679,280 39.9%
CACHE 230,700 2.5%
CALL_PY_GENERAL 133,980 1.5%
CALL_ALLOC_AND_ENTER_INIT 115,380 1.2%
Successors Count Percentage
LOAD_FAST 8,559,260 92.7%
LOAD_GLOBAL_BUILTIN 269,020 2.9%
LOAD_FAST_LOAD_FAST 230,580 2.5%
LOAD_GLOBAL_MODULE 154,040 1.7%
LOAD_CONST_IMMORTAL 18,240 0.2%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 2,805,540 80.2%
LOAD_FAST_LOAD_FAST 691,560 19.8%
Successors Count Percentage
LOAD_FAST 1,613,520 46.1%
LOAD_CONST_IMMORTAL 845,880 24.2%
LOAD_FAST_LOAD_FAST 460,800 13.2%
LOAD_SMALL_INT 230,580 6.6%
BUILD_LIST 230,400 6.6%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 153,600 92.8%
CALL_BUILTIN_O 11,820 7.1%
CALL_LEN 160 0.1%
Successors Count Percentage
ENTER_EXECUTOR 153,600 92.8%
LOAD_CONST_IMMORTAL 11,980 7.2%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,277,400 97.6%
ENTER_EXECUTOR 74,880 2.2%
TO_BOOL_NONE 5,760 0.2%
Successors Count Percentage
POP_JUMP_IF_FALSE 3,352,280 99.8%
TO_BOOL_NONE 5,760 0.2%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
CALL_ISINSTANCE 345,900 66.9%
CALL_BUILTIN_FAST 115,420 22.3%
LOAD_FAST 36,700 7.1%
LOAD_ATTR_INSTANCE_VALUE 18,360 3.6%
COPY 180 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 346,620 67.1%
POP_JUMP_IF_FALSE 170,100 32.9%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 11,820 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 11,820 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 535,680 92.1%
ENTER_EXECUTOR 40,320 6.9%
TO_BOOL_ALWAYS_TRUE 5,760 1.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 576,000 99.0%
TO_BOOL_ALWAYS_TRUE 5,760 1.0%

UNPACK_SEQUENCE_TUPLE

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

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
FOR_ITER_TUPLE 7,920 79.5%
FOR_ITER 1,980 19.9%
CALL_METHOD_DESCRIPTOR_NOARGS 40 0.4%
UNPACK_SEQUENCE 20 0.2%
Successors Count Percentage
STORE_FAST_STORE_FAST 9,960 100.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_TOP 4,339,380 95.6%
STORE_SUBSCR_DICT 153,600 3.4%
ENTER_EXECUTOR 44,740 1.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 4,185,600 92.2%
RETURN_VALUE 120,420 2.7%
TO_BOOL_ALWAYS_TRUE 74,880 1.7%
ENTER_EXECUTOR 44,740 1.0%
TO_BOOL_NONE 40,320 0.9%

Specialization stats

Specialization stats by family

BINARY_OP

specialization stats for BINARY_OP family
Kind Count Ratio
deferred

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

29,220 15.9%
hit

Specialized instructions that complete.

153,900 83.9%
Success Count Ratio
Success 40 10.0%
Failure 360 90.0%
Failure kind Count Ratio
add other 340 94.4%
rshift 20 5.6%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

3,993,760 55.6%
hit

Specialized instructions that complete.

3,191,540 44.4%
Success Count Ratio
Success 40 3.3%
Failure 1,180 96.7%
Failure kind Count Ratio
buffer int 940 79.7%
out of range 240 20.3%

CALL

specialization stats for CALL family
Kind Count Ratio
hit

Specialized instructions that complete.

23,318,960 91.8%
miss

Specialized instructions that deopt.

2,090,380 8.2%
Success Count Ratio
Success 40,580 100.0%
Failure 0 0.0%

CALL_KW

specialization stats for CALL_KW family
Success Count Ratio
Success 40 100.0%
Failure 0 0.0%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

118,320 3.1%
hit

Specialized instructions that complete.

3,751,640 96.9%
miss

Specialized instructions that deopt.

540 0.0%
Success Count Ratio
Success 260 61.9%
Failure 160 38.1%
Failure kind Count Ratio
big int 160 100.0%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Count Ratio
deferred

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

38,460 76.1%
hit

Specialized instructions that complete.

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

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

3,180 1.8%
hit

Specialized instructions that complete.

171,540 98.1%
Success Count Ratio
Success 0 0.0%
Failure 120 100.0%
Failure kind Count Ratio
itertools 60 50.0%
enumerate 60 50.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

1,499,100 5.4%
hit

Specialized instructions that complete.

26,104,200 94.6%
Success Count Ratio
Success 820 52.6%
Failure 740 47.4%
Failure kind Count Ratio
method 680 91.9%
builtin class method 40 5.4%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
hit

Specialized instructions that complete.

6,080,780 100.0%
Success Count Ratio
Success 1,020 100.0%
Failure 0 0.0%

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

115,200 3.2%
hit

Specialized instructions that complete.

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

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

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

115,200 41.0%
hit

Specialized instructions that complete.

165,580 58.9%
Success Count Ratio
Success 0 0.0%
Failure 120 100.0%
Failure kind Count Ratio
out of range 80 66.7%
list slice 40 33.3%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

3,533,000 71.4%
hit

Specialized instructions that complete.

805,020 16.3%
miss

Specialized instructions that deopt.

610,740 12.3%
Success Count Ratio
Success 11,640 92.8%
Failure 900 7.2%
Failure kind Count Ratio
bytes 860 95.6%
sequence 20 2.2%
tuple 20 2.2%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
hit

Specialized instructions that complete.

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

Specialization effectiveness

specialization effectiveness

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

Instructions Count Ratio
Basic

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

108,178,500 53.3%
Not specialized

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

9,454,920 4.7%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

82,580,580 40.7%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

2,702,020 1.3%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
BINARY_SUBSCR 3,993,760 42.3%
TO_BOOL 3,533,000 37.4%
LOAD_ATTR 1,499,100 15.9%
COMPARE_OP 118,320 1.3%
STORE_SUBSCR 115,200 1.2%
STORE_ATTR 115,200 1.2%
CONTAINS_OP 38,460 0.4%
BINARY_OP 29,220 0.3%
FOR_ITER 3,180 0.0%
BINARY_SLICE 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
CALL_PY_EXACT_ARGS 2,090,380 77.4%
TO_BOOL_ALWAYS_TRUE 305,460 11.3%
TO_BOOL_NONE 305,280 11.3%
COMPARE_OP_INT 540 0.0%
RESUME 360 0.0%
RESUME_CHECK 360 0.0%
CACHE 0 0.0%
CHECK_EXC_MATCH 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%

Call stats

Inlined calls and frame stats

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

Also includes the count of frame objects created.

Count Ratio
Calls to PyEval_EvalDefault 230,700 0.4%
Calls to Python functions inlined 59,841,960 99.6%
Calls via PyEval_EvalFrame (total) 230,700 0.4%
Calls via PyEval_EvalFrame (vector) 230,700 0.4%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 230,700 0.4%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 60 0.0%
Calls via PyEval_EvalFrame (api) 0 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 230,400 0.4%
Frames pushed 60,188,040 100.2%

Object stats

Allocations, frees and dict materializatons

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

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

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

Count Ratio
Allocations from freelist 4,131,620 18.0%
Frees to freelist 4,131,780
Allocations 18,846,700 82.0%
Allocations to 512 bytes 18,346,220 79.8%
Allocations to 4 kbytes 461,180 2.0%
Allocations over 4 kbytes 39,300 0.2%
Frees 19,343,967
Inline values 230,760
Interpreter mortal increfs 710,132,960 63.6%
Interpreter mortal decrefs 741,394,900 54.2%
Mortal increfs 51,365,984 4.6%
Mortal decrefs 41,504,784 3.0%
Interpreter immortal increfs 253,900,020 22.7%
Interpreter immortal decrefs 491,876,680 35.9%
Immortal increfs 101,879,978 9.1%
Immortal decrefs 93,748,938 6.9%
Materialize dict (on request) 0 0.0%
Materialize dict (new key) 0 0.0%
Materialize dict (too big) 0 0.0%
Materialize dict (str subclass) 0 0.0%
Method cache hits 1,809,315
Method cache misses 53,645
Method cache collisions 55,586
Method cache dunder hits 383,634
Method cache dunder misses 2,026

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

Generation Collections Objects collected Object visits Reachable from roots Not reachable from roots
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer
Count Ratio
Optimization attempts

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

1,080
Traces created

The number of traces that were successfully created.

40 3.7%
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.

60 5.6%
Trace too long

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

0 0.0%
Trace too short

A potential trace is abandoned because it it too short.

1,040 96.3%
Inner loop found

A trace is truncated because it has an inner loop

0 0.0%
Recursive call

A trace is truncated because it has a recursive call.

0 0.0%
Low confidence

A trace is abandoned because the likelihood of the jump to top being taken is too low.

0 0.0%
Executors invalidated

The number of executors that were invalidated due to watched dictionary changes.

0 0.0%
Traces executed

The number of traces that were executed

43,852,080
Uops executed

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

3,095,190,700 7,058.3%
Count Ratio
Optimizer attempts

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

40
Optimizer successes

The number of traces that were successfully optimized.

40 100.0%
Optimizer no memory

The number of optimizations that failed due to no memory.

0 0.0%
Remove globals builtins changed

The builtins changed during optimization

0 0.0%
Remove globals incorrect keys

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

0 0.0%

Trace length histogram

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

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 50.0%
<= 16 0 0.0%
<= 32 0 0.0%
<= 64 20 50.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 0 0.0%
<= 16 180 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_SET_IP 316,453,960 10.2% 10.2%
_CHECK_VALIDITY 225,945,180 7.3% 17.5%
_LOAD_FAST_2 129,791,940 4.2% 21.7%
_LOAD_FAST_0 128,447,600 4.1% 25.9%
_LOAD_FAST_1 122,073,240 3.9% 29.8%
_GUARD_TYPE_VERSION 121,069,020 3.9% 33.7% 0.2%
_GUARD_IS_TRUE_POP 109,823,960 3.5% 37.3% 0.0%
_CHECK_MANAGED_OBJECT_HAS_VALUES 108,556,400 3.5% 40.8%
_CHECK_FUNCTION_VERSION 85,593,580 2.8% 43.5% 40.6%
_LOAD_ATTR_INSTANCE_VALUE_0 85,286,040 2.8% 46.3%
_CHECK_PERIODIC 76,185,540 2.5% 48.8%
_CHECK_FUNCTION 70,463,800 2.3% 51.0%
_LOAD_FAST_3 69,504,000 2.2% 53.3%
_LOAD_CONST_INLINE_WITH_NULL 63,359,800 2.0% 55.3%
_MAKE_WARM 55,832,880 1.8% 57.1%
_TO_BOOL 54,911,980 1.8% 58.9%
_RESUME_CHECK 50,841,580 1.6% 60.6% 0.0%
_CHECK_FUNCTION_EXACT_ARGS 50,841,580 1.6% 62.2%
_INIT_CALL_PY_EXACT_ARGS_1 50,841,580 1.6% 63.8%
_PUSH_FRAME 50,841,580 1.6% 65.5%
_SAVE_RETURN_OFFSET 50,841,580 1.6% 67.1%
_RETURN_VALUE 50,649,400 1.6% 68.8%
_START_EXECUTOR 43,852,080 1.4% 70.2%
_EXIT_TRACE 43,851,900 1.4% 71.6%
_CALL_LEN 42,547,020 1.4% 73.0%
_PUSH_NULL 39,897,600 1.3% 74.3%
_CHECK_VALIDITY_AND_SET_IP 39,436,640 1.3% 75.5%
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS 35,135,980 1.1% 76.7%
_INIT_CALL_BOUND_METHOD_EXACT_ARGS 35,135,980 1.1% 77.8%
_CALL_METHOD_DESCRIPTOR_FAST 35,020,780 1.1% 78.9%
_CHECK_ATTR_METHOD_LAZY_DICT 35,020,780 1.1% 80.1%
_LOAD_ATTR_METHOD_LAZY_DICT 35,020,780 1.1% 81.2%
_REPLACE_WITH_TRUE 35,020,780 1.1% 82.3%
_STORE_FAST_2 35,020,780 1.1% 83.5%
_COMPARE_OP_INT 34,982,380 1.1% 84.6%
_GUARD_IS_FALSE_POP 34,982,380 1.1% 85.7%
_BINARY_SUBSCR 34,559,840 1.1% 86.8%
_LOAD_SMALL_INT_1 32,025,600 1.0% 87.9%
_LOAD_CONST_INLINE_BORROW 30,417,680 1.0% 88.9%
_CHECK_STACK_SPACE_OPERAND 28,608,000 0.9% 89.8%
_GUARD_NOS_INT 27,916,780 0.9% 90.7%
_LOAD_SMALL_INT_0 27,916,780 0.9% 91.6%
_LOAD_CONST_INLINE 27,878,380 0.9% 92.5%
_STORE_FAST_3 24,806,400 0.8% 93.3%
_POP_TOP 23,889,820 0.8% 94.1%
_LOAD_ATTR_INSTANCE_VALUE_1 23,270,360 0.8% 94.8%
_BINARY_SUBSCR_DICT 19,891,200 0.6% 95.4%
_CALL_ISINSTANCE 19,891,200 0.6% 96.1%
_TO_BOOL_BOOL 19,891,200 0.6% 96.7%
_STORE_FAST_1 14,668,640 0.5% 97.2%
_STORE_SUBSCR_DICT 12,479,840 0.4% 97.6%
_JUMP_TO_TOP 11,980,800 0.4% 98.0%
_BINARY_SUBSCR_LIST_INT 9,830,400 0.3% 98.3%
_CALL_BUILTIN_O 8,102,380 0.3% 98.6%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 7,104,000 0.2% 98.8%
_CALL_BUILTIN_CLASS 7,065,600 0.2% 99.0%
_GUARD_BOTH_INT 7,065,600 0.2% 99.3%
_GUARD_NOT_EXHAUSTED_RANGE 5,068,800 0.2% 99.4% 3.0%
_ITER_CHECK_RANGE 5,068,800 0.2% 99.6%
_BINARY_OP_ADD_INT 4,915,200 0.2% 99.7%
_ITER_NEXT_RANGE 4,915,200 0.2% 99.9%
_BINARY_SUBSCR_TUPLE_INT 921,580 0.0% 99.9%
_CALL_BUILTIN_FAST 921,580 0.0% 100.0%
_LOAD_SMALL_INT 921,580 0.0% 100.0%
_BUILD_LIST 115,200 0.0% 100.0%
_DEOPT 180 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_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 85,286,040 2.8% 2.8%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TYPE_VERSION 70,156,760 2.3% 5.0%
_LOAD_FAST_2 _SET_IP 70,003,160 2.3% 7.3%
_CHECK_PERIODIC _CHECK_VALIDITY 69,119,940 2.2% 9.5%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 63,359,800 2.0% 11.6%
_CHECK_VALIDITY _LOAD_FAST_1 62,553,420 2.0% 13.6%
_LOAD_FAST_0 _CHECK_MANAGED_OBJECT_HAS_VALUES 57,715,000 1.9% 15.4%
_MAKE_WARM _SET_IP 55,641,600 1.8% 17.2%
_SET_IP _TO_BOOL 54,911,980 1.8% 19.0%
_CHECK_VALIDITY _GUARD_IS_TRUE_POP 54,911,980 1.8% 20.8%
_TO_BOOL _CHECK_VALIDITY 54,911,980 1.8% 22.6%
_GUARD_IS_TRUE_POP _CHECK_FUNCTION 54,873,580 1.8% 24.3%
_CHECK_FUNCTION_VERSION _CHECK_FUNCTION_EXACT_ARGS 50,841,580 1.6% 26.0%
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET 50,841,580 1.6% 27.6%
_PUSH_FRAME _RESUME_CHECK 50,841,580 1.6% 29.3%
_SAVE_RETURN_OFFSET _PUSH_FRAME 50,841,580 1.6% 30.9%
_RESUME_CHECK _LOAD_FAST_0 50,841,400 1.6% 32.6%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 50,841,400 1.6% 34.2%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 50,841,400 1.6% 35.8%
_SET_IP _CHECK_FUNCTION_VERSION 50,457,600 1.6% 37.5%
_LOAD_FAST_1 _SET_IP 49,689,420 1.6% 39.1%
_START_EXECUTOR _MAKE_WARM 43,852,080 1.4% 40.5%
_SET_IP _CALL_LEN 42,547,020 1.4% 41.9%
_SET_IP _CHECK_CALL_BOUND_METHOD_EXACT_ARGS 35,135,980 1.1% 43.0%
_CHECK_CALL_BOUND_METHOD_EXACT_ARGS _INIT_CALL_BOUND_METHOD_EXACT_ARGS 35,135,980 1.1% 44.1%
_INIT_CALL_BOUND_METHOD_EXACT_ARGS _CHECK_FUNCTION_VERSION 35,135,980 1.1% 45.3%
_SET_IP _CALL_METHOD_DESCRIPTOR_FAST 35,020,780 1.1% 46.4%
_CALL_METHOD_DESCRIPTOR_FAST _CHECK_PERIODIC 35,020,780 1.1% 47.5%
_CHECK_ATTR_METHOD_LAZY_DICT _LOAD_ATTR_METHOD_LAZY_DICT 35,020,780 1.1% 48.7%
_CHECK_VALIDITY _STORE_FAST_2 35,020,780 1.1% 49.8%
_GUARD_IS_TRUE_POP _LOAD_FAST_0 35,020,780 1.1% 50.9%
_GUARD_TYPE_VERSION _CHECK_ATTR_METHOD_LAZY_DICT 35,020,780 1.1% 52.1%
_GUARD_TYPE_VERSION _REPLACE_WITH_TRUE 35,020,780 1.1% 53.2%
_LOAD_ATTR_METHOD_LAZY_DICT _LOAD_FAST_1 35,020,780 1.1% 54.3%
_REPLACE_WITH_TRUE _GUARD_IS_TRUE_POP 35,020,780 1.1% 55.5%
_STORE_FAST_2 _LOAD_FAST_2 35,020,780 1.1% 56.6%
_CALL_LEN _CHECK_VALIDITY 34,982,380 1.1% 57.7%
_COMPARE_OP_INT _GUARD_IS_FALSE_POP 34,982,380 1.1% 58.8%
_GUARD_IS_FALSE_POP _LOAD_FAST_2 34,982,380 1.1% 60.0%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_2 34,982,380 1.1% 61.1%
_LOAD_FAST_2 _RETURN_VALUE 34,982,380 1.1% 62.2%
_CHECK_FUNCTION_VERSION _EXIT_TRACE 34,752,000 1.1% 63.4%
_SET_IP _BINARY_SUBSCR 34,559,840 1.1% 64.5%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 28,608,000 0.9% 65.4%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_1 28,608,000 0.9% 66.3%
_GUARD_NOS_INT _COMPARE_OP_INT 27,916,780 0.9% 67.2%
_LOAD_FAST_1 _GUARD_NOS_INT 27,916,780 0.9% 68.1%
_LOAD_SMALL_INT_1 _SET_IP 27,110,400 0.9% 69.0%
_LOAD_SMALL_INT_0 _SET_IP 26,995,200 0.9% 69.9%
_SET_IP _CHECK_PERIODIC 25,075,200 0.8% 70.7%
_LOAD_FAST_3 _SET_IP 24,806,400 0.8% 71.5%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_1 23,270,360 0.8% 72.2%
_CHECK_FUNCTION_EXACT_ARGS _INIT_CALL_PY_EXACT_ARGS_1 22,233,580 0.7% 73.0%
_PUSH_NULL _LOAD_SMALL_INT_1 20,006,400 0.6% 73.6%
_LOAD_FAST_1 _PUSH_NULL 20,006,400 0.6% 74.3%
_PUSH_NULL _LOAD_FAST_0 19,891,200 0.6% 74.9%
_RETURN_VALUE _STORE_FAST_3 19,891,200 0.6% 75.5%
_BINARY_SUBSCR_DICT _CHECK_VALIDITY 19,891,200 0.6% 76.2%
_CALL_ISINSTANCE _CHECK_VALIDITY 19,891,200 0.6% 76.8%
_TO_BOOL_BOOL _GUARD_IS_TRUE_POP 19,891,200 0.6% 77.5%
_SET_IP _CALL_ISINSTANCE 19,891,200 0.6% 78.1%
_BINARY_SUBSCR _CHECK_VALIDITY_AND_SET_IP 19,891,200 0.6% 78.8%
_CHECK_VALIDITY _PUSH_NULL 19,891,200 0.6% 79.4%
_CHECK_VALIDITY _TO_BOOL_BOOL 19,891,200 0.6% 80.0%
_CHECK_VALIDITY_AND_SET_IP _BINARY_SUBSCR_DICT 19,891,200 0.6% 80.7%
_GUARD_IS_TRUE_POP _LOAD_FAST_2 19,891,200 0.6% 81.3%
_LOAD_CONST_INLINE _SET_IP 19,891,200 0.6% 82.0%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_3 19,891,200 0.6% 82.6%
_LOAD_FAST_0 _SET_IP 19,891,200 0.6% 83.3%
_LOAD_FAST_2 _LOAD_FAST_3 19,891,200 0.6% 83.9%
_LOAD_FAST_3 _LOAD_CONST_INLINE 19,891,200 0.6% 84.5%
_LOAD_FAST_3 _LOAD_SMALL_INT_0 19,891,200 0.6% 85.2%
_STORE_FAST_3 _LOAD_FAST_3 19,891,200 0.6% 85.8%
_RETURN_VALUE _POP_TOP 15,667,020 0.5% 86.3%
_LOAD_CONST_INLINE_BORROW _RETURN_VALUE 15,667,020 0.5% 86.8%
_BINARY_SUBSCR _CHECK_VALIDITY 14,668,640 0.5% 87.3%
_STORE_FAST_1 _LOAD_FAST_0 14,668,640 0.5% 87.8%
_LOAD_CONST_INLINE_BORROW _SET_IP 14,630,240 0.5% 88.3%
_CHECK_VALIDITY_AND_SET_IP _STORE_SUBSCR_DICT 12,479,840 0.4% 88.7%
_JUMP_TO_TOP _MAKE_WARM 11,980,800 0.4% 89.0%
_SET_IP _BINARY_SUBSCR_LIST_INT 9,830,400 0.3% 89.4%
_LOAD_FAST_1 _LOAD_FAST_3 9,830,400 0.3% 89.7%
_POP_TOP _EXIT_TRACE 8,601,420 0.3% 90.0%
_POP_TOP _LOAD_CONST_INLINE_BORROW 8,222,800 0.3% 90.2%
_CALL_BUILTIN_O _CHECK_PERIODIC 8,102,380 0.3% 90.5%
_CHECK_VALIDITY _POP_TOP 8,102,380 0.3% 90.7%
_LOAD_ATTR_INSTANCE_VALUE_1 _CHECK_FUNCTION 8,025,580 0.3% 91.0%
_CALL_LEN _CHECK_VALIDITY_AND_SET_IP 7,564,640 0.2% 91.2%
_STORE_SUBSCR_DICT _CHECK_VALIDITY 7,564,640 0.2% 91.5%
_CHECK_VALIDITY _LOAD_CONST_INLINE_BORROW 7,564,640 0.2% 91.7%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_CONST_INLINE_BORROW 7,564,640 0.2% 92.0%
_LOAD_ATTR_INSTANCE_VALUE_0 _STORE_FAST_1 7,564,640 0.2% 92.2%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_1 7,564,640 0.2% 92.5%
_LOAD_FAST_1 _CHECK_FUNCTION 7,564,640 0.2% 92.7%
_RETURN_VALUE _LOAD_SMALL_INT_0 7,104,000 0.2% 92.9%
_CHECK_FUNCTION _LOAD_CONST_INLINE_BORROW_WITH_NULL 7,104,000 0.2% 93.2%
_CHECK_VALIDITY _STORE_FAST_1 7,104,000 0.2% 93.4%
_LOAD_ATTR_INSTANCE_VALUE_1 _LOAD_FAST_1 7,104,000 0.2% 93.6%
_LOAD_ATTR_INSTANCE_VALUE_1 _LOAD_SMALL_INT_1 7,104,000 0.2% 93.9%
_LOAD_CONST_INLINE_BORROW_WITH_NULL _LOAD_FAST_0 7,104,000 0.2% 94.1%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 1,020

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-12-15