Skip to content

Latest commit

 

History

History
8383 lines (7637 loc) · 150 KB

bm-20250130-azure-x86_64-python-510fefdc625dd2ed2b6b-3.14.0a4+-510fefd-pystats-pickle_pure_python.md

File metadata and controls

8383 lines (7637 loc) · 150 KB

Pystats results

  • benchmark: pickle_pure_python
  • fork: python
  • ref: 510fefdc625dd2ed2b6b3975314a59e291b94ae8
  • commit hash: 510fefd
  • commit date: 2025-01-30T19:34:09+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 246,722,280 24.2% 24.2%
LOAD_ATTR_INSTANCE_VALUE 82,579,440 8.1% 32.3%
POP_JUMP_IF_FALSE 62,515,260 6.1% 38.4%
STORE_FAST 47,927,880 4.7% 43.1%
RETURN_VALUE 41,606,820 4.1% 47.2%
RESUME_CHECK 41,549,220 4.1% 51.2%
LOAD_GLOBAL_BUILTIN 39,916,860 3.9% 55.2%
LOAD_CONST_IMMORTAL 36,269,400 3.6% 58.7%
POP_TOP 30,624,300 3.0% 61.7%
LOAD_GLOBAL_MODULE 25,632,480 2.5% 64.2%
LOAD_ATTR_METHOD_WITH_VALUES 21,043,320 2.1% 66.3%
COMPARE_OP_INT 20,984,880 2.1% 68.3% 0.8%
CALL_PY_EXACT_ARGS 19,621,680 1.9% 70.3% 4.9%
TO_BOOL_BOOL 17,875,260 1.8% 72.0%
POP_JUMP_IF_NONE 16,339,200 1.6% 73.6%
LOAD_ATTR_METHOD_LAZY_DICT 16,012,800 1.6% 75.2%
TO_BOOL_ALWAYS_TRUE 15,898,680 1.6% 76.7% 0.4%
LOAD_SMALL_INT 14,707,260 1.4% 78.2%
LOAD_ATTR_METHOD_NO_DICT 14,073,720 1.4% 79.6%
CALL_BUILTIN_O 13,670,400 1.3% 80.9%
PUSH_NULL 10,963,740 1.1% 82.0%
LOAD_CONST_MORTAL 10,905,720 1.1% 83.0%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 10,617,600 1.0% 84.1%
CALL_BUILTIN_FAST 10,483,200 1.0% 85.1%
CALL_METHOD_DESCRIPTOR_FAST 10,387,200 1.0% 86.1%
POP_JUMP_IF_TRUE 10,118,460 1.0% 87.1%
CALL_BOUND_METHOD_EXACT_ARGS 10,003,200 1.0% 88.1%
CALL_METHOD_DESCRIPTOR_O 9,945,660 1.0% 89.1%
BINARY_OP 9,352,920 0.9% 90.0%
IS_OP 9,196,860 0.9% 90.9%
LOAD_FAST_LOAD_FAST 8,909,100 0.9% 91.8%
CALL_LEN 7,680,000 0.8% 92.5%
EXTENDED_ARG 7,104,000 0.7% 93.2%
CALL_METHOD_DESCRIPTOR_NOARGS 6,105,660 0.6% 93.8%
CALL_PY_GENERAL 6,009,660 0.6% 94.4%
CALL_BOUND_METHOD_GENERAL 5,740,800 0.6% 95.0%
CALL_TYPE_1 4,588,800 0.4% 95.4%
JUMP_FORWARD 4,243,260 0.4% 95.8%
CONTAINS_OP_DICT 3,840,000 0.4% 96.2%
BUILD_TUPLE 3,801,780 0.4% 96.6%
STORE_SUBSCR_DICT 3,782,400 0.4% 97.0%
TO_BOOL_INT 3,782,400 0.4% 97.3%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 3,571,200 0.3% 97.7%
JUMP_BACKWARD_NO_JIT 3,325,500 0.3% 98.0%
NOP 3,321,660 0.3% 98.3%
STORE_FAST_STORE_FAST 3,168,060 0.3% 98.6%
UNPACK_SEQUENCE_TWO_TUPLE 3,168,060 0.3% 98.9%
FOR_ITER_TUPLE 2,615,040 0.3% 99.2%
BINARY_SUBSCR_TUPLE_INT 1,305,660 0.1% 99.3%
COMPARE_OP 1,028,960 0.1% 99.4%
FOR_ITER 998,740 0.1% 99.5%
STORE_ATTR_INSTANCE_VALUE 864,000 0.1% 99.6%
COPY 614,400 0.1% 99.7%
SWAP 556,800 0.1% 99.7%
LOAD_ATTR 403,960 0.0% 99.8%
CALL_NON_PY_GENERAL 365,100 0.0% 99.8%
POP_ITER 327,480 0.0% 99.8%
GET_ITER 327,420 0.0% 99.9%
LOAD_ATTR_MODULE 192,300 0.0% 99.9%
CALL_BUILTIN_CLASS 153,660 0.0% 99.9%
POP_JUMP_IF_NOT_NONE 115,260 0.0% 99.9%
CALL_ISINSTANCE 115,200 0.0% 99.9%
CALL_KW_NON_PY 96,000 0.0% 99.9%
INTERPRETER_EXIT 76,800 0.0% 99.9%
BUILD_MAP 76,800 0.0% 99.9%
BINARY_OP_ADD_INT 76,800 0.0% 100.0%
TO_BOOL_NONE 58,680 0.0% 100.0% 97.5%
EXIT_INIT_CHECK 57,600 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 57,600 0.0% 100.0%
CALL_KW_PY 57,600 0.0% 100.0%
TO_BOOL 38,540 0.0% 100.0%
BINARY_SUBSCR_LIST_INT 38,400 0.0% 100.0%
COMPARE_OP_STR 38,400 0.0% 100.0%
FOR_ITER_LIST 38,400 0.0% 100.0%
CALL_FUNCTION_EX 19,320 0.0% 100.0%
CONTAINS_OP 19,240 0.0% 100.0%
BINARY_SUBSCR_DICT 19,200 0.0% 100.0%
FOR_ITER_RANGE 1,020 0.0% 100.0%
CALL 260 0.0% 100.0%
LOAD_GLOBAL 180 0.0% 100.0%
LOAD_DEREF 120 0.0% 100.0%
MAKE_FUNCTION 60 0.0% 100.0%
BUILD_LIST 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%
BINARY_SUBSCR 20 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 82,579,340 8.1% 8.1%
POP_JUMP_IF_FALSE LOAD_FAST 41,510,460 4.1% 12.2%
STORE_FAST LOAD_FAST 39,249,060 3.8% 16.0%
RESUME_CHECK LOAD_FAST 35,462,580 3.5% 19.5%
LOAD_GLOBAL_BUILTIN LOAD_FAST 30,624,060 3.0% 22.5%
RETURN_VALUE POP_TOP 30,412,980 3.0% 25.5%
LOAD_CONST_IMMORTAL RETURN_VALUE 26,323,380 2.6% 28.0%
CALL_PY_EXACT_ARGS RESUME_CHECK 19,603,380 1.9% 30.0%
LOAD_FAST POP_JUMP_IF_NONE 16,339,200 1.6% 31.6%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_ALWAYS_TRUE 15,897,600 1.6% 33.1%
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_FALSE 15,897,600 1.6% 34.7%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 15,033,680 1.5% 36.2%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 14,976,060 1.5% 37.6%
COMPARE_OP_INT POP_JUMP_IF_FALSE 14,876,160 1.5% 39.1%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 14,016,000 1.4% 40.5%
LOAD_FAST CALL_BUILTIN_O 13,593,600 1.3% 41.8%
LOAD_FAST CALL_PY_EXACT_ARGS 13,574,400 1.3% 43.1%
LOAD_SMALL_INT COMPARE_OP_INT 13,104,960 1.3% 44.4%
LOAD_FAST TO_BOOL_BOOL 11,731,240 1.1% 45.5%
POP_JUMP_IF_NONE LOAD_FAST 11,692,800 1.1% 46.7%
LOAD_FAST PUSH_NULL 10,752,180 1.1% 47.7%
POP_TOP LOAD_CONST_IMMORTAL 10,483,380 1.0% 48.8%
LOAD_FAST LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 10,483,200 1.0% 49.8%
CALL_METHOD_DESCRIPTOR_FAST STORE_FAST 10,387,200 1.0% 50.8%
CALL_BOUND_METHOD_EXACT_ARGS RESUME_CHECK 10,003,200 1.0% 51.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_LAZY_DICT 10,003,200 1.0% 52.8%
LOAD_FAST CALL_METHOD_DESCRIPTOR_O 9,945,600 1.0% 53.8%
CALL_METHOD_DESCRIPTOR_O RETURN_VALUE 9,945,600 1.0% 54.7%
LOAD_ATTR_METHOD_LAZY_DICT LOAD_FAST 9,945,600 1.0% 55.7%
IS_OP POP_JUMP_IF_FALSE 9,196,800 0.9% 56.6%
STORE_FAST LOAD_GLOBAL_BUILTIN 8,409,600 0.8% 57.4%
POP_JUMP_IF_FALSE LOAD_GLOBAL_BUILTIN 8,390,400 0.8% 58.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_SMALL_INT 7,622,400 0.7% 59.0%
CALL_LEN STORE_FAST 7,488,000 0.7% 59.7%
LOAD_FAST LOAD_SMALL_INT 6,700,860 0.7% 60.4%
POP_TOP LOAD_FAST 6,659,580 0.7% 61.0%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 6,182,400 0.6% 61.6%
LOAD_CONST_MORTAL LOAD_FAST 6,182,400 0.6% 62.3%
POP_JUMP_IF_TRUE LOAD_FAST 6,105,600 0.6% 62.9%
LOAD_FAST LOAD_CONST_IMMORTAL 6,086,520 0.6% 63.5%
LOAD_FAST LOAD_ATTR_METHOD_LAZY_DICT 6,009,600 0.6% 64.0%
CALL_PY_GENERAL RESUME_CHECK 6,009,600 0.6% 64.6%
LOAD_ATTR_METHOD_LAZY_DICT CALL_METHOD_DESCRIPTOR_NOARGS 6,009,600 0.6% 65.2%
COMPARE_OP_INT POP_JUMP_IF_TRUE 5,990,400 0.6% 65.8%
CALL_METHOD_DESCRIPTOR_NOARGS LOAD_FAST 5,971,200 0.6% 66.4%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_WITH_VALUES 5,952,000 0.6% 67.0%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES COMPARE_OP_INT 5,952,000 0.6% 67.6%
RETURN_VALUE STORE_FAST 5,875,380 0.6% 68.1%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_BOOL 5,875,200 0.6% 68.7%
PUSH_NULL LOAD_FAST 5,836,920 0.6% 69.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT 5,836,880 0.6% 69.9%
POP_JUMP_IF_FALSE LOAD_CONST_IMMORTAL 5,836,800 0.6% 70.4%
CALL_BUILTIN_O CALL_METHOD_DESCRIPTOR_FAST 5,836,800 0.6% 71.0%
LOAD_ATTR_METHOD_NO_DICT LOAD_GLOBAL_BUILTIN 5,836,800 0.6% 71.6%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_GENERAL 5,836,800 0.6% 72.1%
RESUME_CHECK LOAD_CONST_IMMORTAL 5,836,800 0.6% 72.7%
LOAD_GLOBAL_MODULE LOAD_GLOBAL_MODULE 5,740,880 0.6% 73.3%
LOAD_FAST CALL_BOUND_METHOD_GENERAL 5,740,800 0.6% 73.8%
CALL_BOUND_METHOD_GENERAL RESUME_CHECK 5,740,800 0.6% 74.4%
CALL_BUILTIN_FAST BINARY_OP 5,740,800 0.6% 75.0%
LOAD_GLOBAL_MODULE LOAD_CONST_MORTAL 5,740,800 0.6% 75.5%
LOAD_FAST CALL_BUILTIN_FAST 5,625,600 0.6% 76.1%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 5,184,000 0.5% 76.6%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 5,145,600 0.5% 77.1%
RETURN_VALUE CALL_BOUND_METHOD_EXACT_ARGS 5,088,000 0.5% 77.6%
LOAD_FAST LOAD_GLOBAL_BUILTIN 4,665,600 0.5% 78.0%
LOAD_FAST LOAD_GLOBAL_MODULE 4,665,600 0.5% 78.5%
CALL_BUILTIN_FAST STORE_FAST 4,646,400 0.5% 79.0%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 4,608,080 0.5% 79.4%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_MODULE 4,608,000 0.5% 79.9%
PUSH_NULL LOAD_FAST_LOAD_FAST 4,588,860 0.4% 80.3%
LOAD_GLOBAL_MODULE IS_OP 4,588,800 0.4% 80.8%
LOAD_GLOBAL_MODULE CALL_BUILTIN_FAST 4,588,800 0.4% 81.2%
POP_JUMP_IF_NONE LOAD_GLOBAL_BUILTIN 4,569,600 0.4% 81.7%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 4,569,600 0.4% 82.1%
LOAD_CONST_IMMORTAL LOAD_GLOBAL_MODULE 4,569,600 0.4% 82.6%
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST 4,531,200 0.4% 83.0%
LOAD_FAST CALL_TYPE_1 4,531,200 0.4% 83.4%
CALL_TYPE_1 STORE_FAST 4,531,200 0.4% 83.9%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES LOAD_ATTR_METHOD_NO_DICT 4,531,200 0.4% 84.3%
LOAD_GLOBAL_BUILTIN IS_OP 4,531,200 0.4% 84.8%
LOAD_GLOBAL_BUILTIN STORE_FAST 4,531,200 0.4% 85.2%
BINARY_OP CALL_BOUND_METHOD_EXACT_ARGS 4,377,600 0.4% 85.6%
JUMP_FORWARD LOAD_FAST 4,166,460 0.4% 86.1%
LOAD_FAST CALL_LEN 3,897,600 0.4% 86.4%
POP_JUMP_IF_TRUE LOAD_GLOBAL_BUILTIN 3,878,400 0.4% 86.8%
CALL_BUILTIN_O LOAD_FAST 3,840,000 0.4% 87.2%
LOAD_FAST_LOAD_FAST BUILD_TUPLE 3,801,660 0.4% 87.6%
LOAD_ATTR_INSTANCE_VALUE CONTAINS_OP_DICT 3,801,600 0.4% 87.9%
POP_TOP LOAD_FAST_LOAD_FAST 3,782,400 0.4% 88.3%
BUILD_TUPLE LOAD_FAST 3,782,400 0.4% 88.7%
CALL_BUILTIN_O STORE_SUBSCR_DICT 3,782,400 0.4% 89.0%
CONTAINS_OP_DICT POP_JUMP_IF_TRUE 3,782,400 0.4% 89.4%
LOAD_ATTR_INSTANCE_VALUE CALL_LEN 3,782,400 0.4% 89.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_BUILTIN 3,782,400 0.4% 90.2%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_INT 3,782,400 0.4% 90.5%
LOAD_GLOBAL_MODULE RETURN_VALUE 3,782,400 0.4% 90.9%
STORE_SUBSCR_DICT LOAD_CONST_IMMORTAL 3,782,400 0.4% 91.3%
TO_BOOL_INT POP_JUMP_IF_FALSE 3,782,400 0.4% 91.6%
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 3,686,400 0.4% 92.0%

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 76,860 100.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_SMALL_INT 20 100.0%
Successors Count Percentage
BINARY_SUBSCR_TUPLE_INT 20 100.0%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
BUILD_MAP 19,200 99.4%
PUSH_NULL 120 0.6%
Successors Count Percentage
POP_TOP 19,200 99.7%
RESUME_CHECK 60 0.3%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_VALUE 57,600 100.0%
Successors Count Percentage
RETURN_VALUE 57,600 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_NON_PY_GENERAL 134,400 41.0%
LOAD_FAST 97,020 29.6%
CALL_BUILTIN_CLASS 96,000 29.3%
Successors Count Percentage
FOR_ITER 230,400 70.4%
FOR_ITER_TUPLE 77,760 23.7%
FOR_ITER_LIST 19,200 5.9%
FOR_ITER_RANGE 60 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_VALUE 76,800 100.0%

MAKE_FUNCTION

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

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
POP_TOP 2,553,600 76.9%
STORE_FAST_STORE_FAST 633,600 19.1%
STORE_ATTR_INSTANCE_VALUE 57,600 1.7%
POP_JUMP_IF_FALSE 38,400 1.2%
POP_JUMP_IF_NOT_NONE 19,200 0.6%
Successors Count Percentage
LOAD_FAST 3,264,060 98.3%
LOAD_GLOBAL_BUILTIN 38,400 1.2%
LOAD_GLOBAL_MODULE 19,200 0.6%

POP_ITER

Successors and predecessors for POP_ITER
Predecessors Count Percentage
FOR_ITER 230,460 70.4%
FOR_ITER_TUPLE 77,760 23.7%
FOR_ITER_LIST 19,200 5.9%
FOR_ITER_RANGE 60 0.0%
Successors Count Percentage
LOAD_FAST 153,660 46.9%
LOAD_CONST_IMMORTAL 134,400 41.0%
LOAD_GLOBAL_BUILTIN 38,400 11.7%
JUMP_BACKWARD_NO_JIT 960 0.3%
LOAD_GLOBAL_MODULE 40 0.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_VALUE 30,412,980 99.3%
CALL_BUILTIN_O 115,200 0.4%
POP_JUMP_IF_FALSE 57,600 0.2%
CALL_FUNCTION_EX 19,200 0.1%
CALL_KW_NON_PY 19,200 0.1%
Successors Count Percentage
LOAD_CONST_IMMORTAL 10,483,380 34.2%
LOAD_FAST 6,659,580 21.7%
LOAD_FAST_LOAD_FAST 3,782,400 12.4%
EXTENDED_ARG 3,552,000 11.6%
JUMP_BACKWARD_NO_JIT 3,247,740 10.6%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_FAST 10,752,180 98.1%
LOAD_ATTR_MODULE 173,040 1.6%
LOAD_ATTR 38,400 0.4%
CALL_INTRINSIC_1 60 0.0%
LOAD_DEREF 60 0.0%
Successors Count Percentage
LOAD_FAST 5,836,920 53.2%
LOAD_FAST_LOAD_FAST 4,588,860 41.9%
LOAD_GLOBAL_MODULE 364,800 3.3%
CALL_NON_PY_GENERAL 172,960 1.6%
CALL_FUNCTION_EX 120 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 26,323,380 63.3%
CALL_METHOD_DESCRIPTOR_O 9,945,600 23.9%
LOAD_GLOBAL_MODULE 3,782,400 9.1%
BINARY_OP 1,305,600 3.1%
LOAD_FAST 115,260 0.3%
Successors Count Percentage
POP_TOP 30,412,980 73.1%
STORE_FAST 5,875,380 14.1%
CALL_BOUND_METHOD_EXACT_ARGS 5,088,000 12.2%
INTERPRETER_EXIT 76,800 0.2%
LOAD_FAST 76,800 0.2%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 38,420 99.7%
TO_BOOL 60 0.2%
LOAD_ATTR_INSTANCE_VALUE 60 0.2%
Successors Count Percentage
POP_JUMP_IF_TRUE 38,400 99.6%
TO_BOOL 60 0.2%
POP_JUMP_IF_FALSE 60 0.2%
TO_BOOL_BOOL 20 0.1%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
CALL_BUILTIN_FAST 5,740,800 61.4%
LOAD_FAST 3,590,420 38.4%
LOAD_SMALL_INT 19,200 0.2%
BINARY_OP 2,500 0.0%
Successors Count Percentage
CALL_BOUND_METHOD_EXACT_ARGS 4,377,600 46.8%
LOAD_FAST 3,590,400 38.4%
RETURN_VALUE 1,305,600 14.0%
CALL_BUILTIN_O 57,600 0.6%
LOAD_SMALL_INT 19,200 0.2%

BUILD_LIST

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

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 57,600 75.0%
LOAD_FAST 19,200 25.0%
Successors Count Percentage
LOAD_FAST 57,600 75.0%
CALL_FUNCTION_EX 19,200 25.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 3,801,660 100.0%
LOAD_FAST 60 0.0%
LOAD_GLOBAL_MODULE 60 0.0%
Successors Count Percentage
LOAD_FAST 3,782,400 99.5%
LOAD_GLOBAL_MODULE 19,200 0.5%
STORE_FAST 60 0.0%
LOAD_CONST_MORTAL 60 0.0%
CALL_METHOD_DESCRIPTOR_O 40 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
PUSH_NULL 80 30.8%
LOAD_FAST_LOAD_FAST 60 23.1%
LOAD_CONST_IMMORTAL 40 15.4%
BUILD_TUPLE 20 7.7%
LOAD_FAST 20 7.7%
Successors Count Percentage
CALL_NON_PY_GENERAL 100 38.5%
CALL_PY_EXACT_ARGS 80 30.8%
CALL_BUILTIN_CLASS 20 7.7%
CALL_METHOD_DESCRIPTOR_NOARGS 20 7.7%
CALL_METHOD_DESCRIPTOR_O 20 7.7%

CALL_INTRINSIC_1

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

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST_MORTAL 494,400 48.0%
COPY 480,000 46.6%
LOAD_SMALL_INT 47,040 4.6%
COMPARE_OP 4,400 0.4%
COMPARE_OP_INT 3,120 0.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 1,021,440 99.3%
COMPARE_OP 4,400 0.4%
COMPARE_OP_INT 3,120 0.3%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_FAST 19,200 99.8%
CONTAINS_OP 40 0.2%
Successors Count Percentage
POP_JUMP_IF_FALSE 19,200 99.8%
CONTAINS_OP 40 0.2%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
SWAP 556,800 90.6%
LOAD_FAST 57,600 9.4%
Successors Count Percentage
COMPARE_OP 480,000 78.1%
COMPARE_OP_INT 76,800 12.5%
TO_BOOL_BOOL 57,600 9.4%

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%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
POP_TOP 3,552,000 50.0%
TO_BOOL_BOOL 3,552,000 50.0%
Successors Count Percentage
JUMP_FORWARD 3,552,000 50.0%
POP_JUMP_IF_FALSE 3,552,000 50.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 768,060 76.9%
GET_ITER 230,400 23.1%
FOR_ITER 280 0.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 633,600 63.4%
POP_ITER 230,460 23.1%
STORE_FAST 134,400 13.5%
FOR_ITER 280 0.0%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 4,588,800 49.9%
LOAD_GLOBAL_BUILTIN 4,531,200 49.3%
CALL_TYPE_1 57,600 0.6%
LOAD_FAST 19,200 0.2%
LOAD_CONST_IMMORTAL 60 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 9,196,800 100.0%
STORE_FAST 60 0.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
EXTENDED_ARG 3,552,000 83.7%
POP_JUMP_IF_FALSE 460,800 10.9%
POP_TOP 211,200 5.0%
STORE_FAST 19,260 0.5%
Successors Count Percentage
LOAD_FAST 4,166,460 98.2%
LOAD_FAST_LOAD_FAST 57,600 1.4%
LOAD_GLOBAL_BUILTIN 19,200 0.5%

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_FAST 269,020 66.6%
LOAD_ATTR_INSTANCE_VALUE 115,240 28.5%
LOAD_GLOBAL_MODULE 19,280 4.8%
LOAD_ATTR 400 0.1%
LOAD_FAST_LOAD_FAST 20 0.0%
Successors Count Percentage
STORE_FAST 192,060 47.5%
LOAD_FAST 172,800 42.8%
PUSH_NULL 38,400 9.5%
LOAD_ATTR 400 0.1%
LOAD_ATTR_MODULE 100 0.0%

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
POP_JUMP_IF_FALSE 41,510,460 16.8%
STORE_FAST 39,249,060 15.9%
RESUME_CHECK 35,462,580 14.4%
LOAD_GLOBAL_BUILTIN 30,624,060 12.4%
LOAD_ATTR_METHOD_WITH_VALUES 14,976,060 6.1%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 82,579,340 33.5%
POP_JUMP_IF_NONE 16,339,200 6.6%
LOAD_ATTR_METHOD_WITH_VALUES 15,033,680 6.1%
CALL_BUILTIN_O 13,593,600 5.5%
CALL_PY_EXACT_ARGS 13,574,400 5.5%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
PUSH_NULL 4,588,860 51.5%
POP_TOP 3,782,400 42.5%
LOAD_GLOBAL_MODULE 230,460 2.6%
LOAD_GLOBAL_BUILTIN 76,800 0.9%
LOAD_ATTR_METHOD_WITH_VALUES 57,660 0.6%
Successors Count Percentage
CALL_PY_EXACT_ARGS 4,608,080 51.7%
BUILD_TUPLE 3,801,660 42.7%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 134,400 1.5%
STORE_ATTR_INSTANCE_VALUE 115,200 1.3%
LOAD_FAST 57,600 0.6%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 60 33.3%
RESUME_CHECK 60 33.3%
LOAD_GLOBAL_MODULE 40 22.2%
POP_ITER 20 11.1%
Successors Count Percentage
LOAD_GLOBAL_MODULE 160 88.9%
LOAD_GLOBAL_BUILTIN 20 11.1%

LOAD_SMALL_INT

Successors and predecessors for LOAD_SMALL_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 7,622,400 51.8%
LOAD_FAST 6,700,860 45.6%
POP_JUMP_IF_FALSE 76,800 0.5%
CALL_LEN 76,800 0.5%
CALL_METHOD_DESCRIPTOR_NOARGS 76,800 0.5%
Successors Count Percentage
COMPARE_OP_INT 13,104,960 89.1%
BINARY_SUBSCR_TUPLE_INT 1,305,640 8.9%
LOAD_FAST 134,400 0.9%
STORE_FAST 57,600 0.4%
COMPARE_OP 47,040 0.3%

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
TO_BOOL_ALWAYS_TRUE 15,897,600 25.4%
COMPARE_OP_INT 14,876,160 23.8%
TO_BOOL_BOOL 14,016,000 22.4%
IS_OP 9,196,800 14.7%
TO_BOOL_INT 3,782,400 6.1%
Successors Count Percentage
LOAD_FAST 41,510,460 66.4%
LOAD_GLOBAL_BUILTIN 8,390,400 13.4%
LOAD_CONST_IMMORTAL 5,836,800 9.3%
LOAD_GLOBAL_MODULE 5,184,000 8.3%
LOAD_CONST_MORTAL 960,000 1.5%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 16,339,200 100.0%
Successors Count Percentage
LOAD_FAST 11,692,800 71.6%
LOAD_GLOBAL_BUILTIN 4,569,600 28.0%
LOAD_FAST_LOAD_FAST 57,600 0.4%
LOAD_CONST_IMMORTAL 19,200 0.1%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 115,260 100.0%
Successors Count Percentage
LOAD_FAST 57,600 50.0%
NOP 19,200 16.7%
LOAD_GLOBAL_BUILTIN 19,200 16.7%
LOAD_GLOBAL_MODULE 19,200 16.7%
LOAD_CONST_MORTAL 60 0.1%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
COMPARE_OP_INT 5,990,400 59.2%
CONTAINS_OP_DICT 3,782,400 37.4%
TO_BOOL_BOOL 307,260 3.0%
TO_BOOL 38,400 0.4%
Successors Count Percentage
LOAD_FAST 6,105,600 60.3%
LOAD_GLOBAL_BUILTIN 3,878,400 38.3%
LOAD_GLOBAL_MODULE 76,800 0.8%
LOAD_SMALL_INT 57,600 0.6%
NOP 60 0.0%

SET_FUNCTION_ATTRIBUTE

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

STORE_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 10,387,200 21.7%
CALL_LEN 7,488,000 15.6%
LOAD_ATTR_INSTANCE_VALUE 6,182,400 12.9%
RETURN_VALUE 5,875,380 12.3%
CALL_BUILTIN_FAST 4,646,400 9.7%
Successors Count Percentage
LOAD_FAST 39,249,060 81.9%
LOAD_GLOBAL_BUILTIN 8,409,600 17.5%
LOAD_GLOBAL_MODULE 115,320 0.2%
JUMP_BACKWARD_NO_JIT 76,800 0.2%
JUMP_FORWARD 19,260 0.0%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 3,168,060 100.0%
Successors Count Percentage
LOAD_FAST 2,534,460 80.0%
NOP 633,600 20.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST 556,800 100.0%
Successors Count Percentage
COPY 556,800 100.0%

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_FAST_LOAD_FAST 57,600 75.0%
LOAD_SMALL_INT 19,200 25.0%
Successors Count Percentage
STORE_FAST 76,800 100.0%

BINARY_OP_SUBTRACT_FLOAT

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

BINARY_SUBSCR_DICT

Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors Count Percentage
LOAD_FAST 19,200 100.0%
Successors Count Percentage
STORE_FAST 19,200 100.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 38,400 100.0%
Successors Count Percentage
CALL_BOUND_METHOD_EXACT_ARGS 38,400 100.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_SMALL_INT 1,305,640 100.0%
BINARY_SUBSCR 20 0.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 1,305,600 100.0%
STORE_FAST 60 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 57,600 100.0%
Successors Count Percentage
RESUME_CHECK 57,600 100.0%

CALL_BOUND_METHOD_EXACT_ARGS

Successors and predecessors for CALL_BOUND_METHOD_EXACT_ARGS
Predecessors Count Percentage
RETURN_VALUE 5,088,000 50.9%
BINARY_OP 4,377,600 43.8%
LOAD_GLOBAL_MODULE 499,200 5.0%
BINARY_SUBSCR_LIST_INT 38,400 0.4%
Successors Count Percentage
RESUME_CHECK 10,003,200 100.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_FAST 5,740,800 100.0%
Successors Count Percentage
RESUME_CHECK 5,740,800 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_FAST 96,040 62.5%
LOAD_FAST_LOAD_FAST 57,600 37.5%
CALL 20 0.0%
Successors Count Percentage
GET_ITER 96,000 62.5%
LOAD_FAST 57,600 37.5%
STORE_FAST 60 0.0%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_FAST 5,625,600 53.7%
LOAD_GLOBAL_MODULE 4,588,800 43.8%
LOAD_CONST_IMMORTAL 115,200 1.1%
CALL_LEN 57,600 0.5%
LOAD_ATTR_INSTANCE_VALUE 57,600 0.5%
Successors Count Percentage
BINARY_OP 5,740,800 54.8%
STORE_FAST 4,646,400 44.3%
TO_BOOL_BOOL 76,800 0.7%
LOAD_ATTR_METHOD_NO_DICT 19,200 0.2%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
LOAD_FAST 13,593,600 99.4%
BINARY_OP 57,600 0.4%
LOAD_ATTR_INSTANCE_VALUE 19,200 0.1%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 5,836,800 42.7%
LOAD_FAST 3,840,000 28.1%
STORE_SUBSCR_DICT 3,782,400 27.7%
POP_TOP 115,200 0.8%
RETURN_VALUE 57,600 0.4%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 57,600 50.0%
LOAD_GLOBAL_MODULE 57,600 50.0%
Successors Count Percentage
TO_BOOL_BOOL 115,200 100.0%

CALL_KW_NON_PY

Successors and predecessors for CALL_KW_NON_PY
Predecessors Count Percentage
LOAD_CONST_MORTAL 96,000 100.0%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 57,600 60.0%
POP_TOP 19,200 20.0%
STORE_FAST 19,200 20.0%

CALL_KW_PY

Successors and predecessors for CALL_KW_PY
Predecessors Count Percentage
LOAD_CONST_MORTAL 57,600 100.0%
Successors Count Percentage
RESUME_CHECK 57,600 100.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 3,897,600 50.7%
LOAD_ATTR_INSTANCE_VALUE 3,782,400 49.2%
Successors Count Percentage
STORE_FAST 7,488,000 97.5%
LOAD_SMALL_INT 76,800 1.0%
LOAD_FAST 57,600 0.8%
CALL_BUILTIN_FAST 57,600 0.8%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
CALL_BUILTIN_O 5,836,800 56.2%
LOAD_FAST 4,531,200 43.6%
LOAD_GLOBAL_MODULE 19,200 0.2%
Successors Count Percentage
STORE_FAST 10,387,200 100.0%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 3,571,200 100.0%
Successors Count Percentage
STORE_FAST 3,571,200 100.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 6,009,600 98.4%
LOAD_ATTR_METHOD_NO_DICT 96,040 1.6%
CALL 20 0.0%
Successors Count Percentage
LOAD_FAST 5,971,200 97.8%
LOAD_SMALL_INT 76,800 1.3%
STORE_FAST 57,600 0.9%
UNPACK_SEQUENCE_TWO_TUPLE 40 0.0%
UNPACK_SEQUENCE 20 0.0%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 9,945,600 100.0%
BUILD_TUPLE 40 0.0%
CALL 20 0.0%
Successors Count Percentage
RETURN_VALUE 9,945,600 100.0%
POP_TOP 60 0.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 172,960 47.4%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 134,400 36.8%
LOAD_ATTR_METHOD_LAZY_DICT 57,600 15.8%
CALL 100 0.0%
LOAD_FAST_LOAD_FAST 40 0.0%
Successors Count Percentage
GET_ITER 134,400 36.8%
LOAD_FAST 115,260 31.6%
STORE_FAST 115,260 31.6%
POP_TOP 60 0.0%
RETURN_VALUE 60 0.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 13,574,400 69.2%
LOAD_FAST_LOAD_FAST 4,608,080 23.5%
BINARY_SUBSCR_TUPLE_INT 1,305,600 6.7%
LOAD_ATTR_METHOD_WITH_VALUES 115,200 0.6%
CALL_PY_EXACT_ARGS 18,240 0.1%
Successors Count Percentage
RESUME_CHECK 19,603,380 99.9%
CALL_PY_EXACT_ARGS 18,240 0.1%
COPY_FREE_VARS 60 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 5,836,800 97.1%
LOAD_FAST 115,200 1.9%
LOAD_FAST_LOAD_FAST 57,600 1.0%
LOAD_CONST_IMMORTAL 40 0.0%
CALL 20 0.0%
Successors Count Percentage
RESUME_CHECK 6,009,600 100.0%
MAKE_CELL 60 0.0%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_FAST 4,531,200 98.7%
LOAD_CONST_IMMORTAL 38,400 0.8%
LOAD_GLOBAL_BUILTIN 19,200 0.4%
Successors Count Percentage
STORE_FAST 4,531,200 98.7%
IS_OP 57,600 1.3%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_SMALL_INT 13,104,960 62.4%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 5,952,000 28.4%
LOAD_CONST_IMMORTAL 1,324,800 6.3%
LOAD_CONST_MORTAL 465,600 2.2%
COPY 76,800 0.4%
Successors Count Percentage
POP_JUMP_IF_FALSE 14,876,160 70.9%
POP_JUMP_IF_TRUE 5,990,400 28.5%
LOAD_FAST 115,200 0.5%
COMPARE_OP 3,120 0.0%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 38,400 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 38,400 100.0%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,801,600 99.0%
LOAD_FAST 38,400 1.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 3,782,400 98.5%
POP_JUMP_IF_FALSE 57,600 1.5%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 19,200 50.0%
JUMP_BACKWARD_NO_JIT 19,200 50.0%
Successors Count Percentage
POP_ITER 19,200 50.0%
STORE_FAST 19,200 50.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 960 94.1%
GET_ITER 60 5.9%
Successors Count Percentage
STORE_FAST 960 94.1%
POP_ITER 60 5.9%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 2,537,280 97.0%
GET_ITER 77,760 3.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 2,534,400 96.9%
POP_ITER 77,760 3.0%
STORE_FAST 2,880 0.1%

JUMP_BACKWARD_NO_JIT

Successors and predecessors for JUMP_BACKWARD_NO_JIT
Predecessors Count Percentage
POP_TOP 3,247,740 97.7%
STORE_FAST 76,800 2.3%
POP_ITER 960 0.0%
Successors Count Percentage
FOR_ITER_TUPLE 2,537,280 76.3%
FOR_ITER 768,060 23.1%
FOR_ITER_LIST 19,200 0.6%
FOR_ITER_RANGE 960 0.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 82,579,340 100.0%
LOAD_ATTR 60 0.0%
LOAD_FAST_LOAD_FAST 40 0.0%
Successors Count Percentage
TO_BOOL_ALWAYS_TRUE 15,897,600 19.3%
LOAD_ATTR_METHOD_LAZY_DICT 10,003,200 12.1%
LOAD_SMALL_INT 7,622,400 9.2%
STORE_FAST 6,182,400 7.5%
LOAD_ATTR_METHOD_WITH_VALUES 5,952,000 7.2%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 10,003,200 62.5%
LOAD_FAST 6,009,600 37.5%
Successors Count Percentage
LOAD_FAST 9,945,600 62.1%
CALL_METHOD_DESCRIPTOR_NOARGS 6,009,600 37.5%
CALL_NON_PY_GENERAL 57,600 0.4%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 5,836,880 41.5%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 4,531,200 32.2%
LOAD_FAST 3,686,400 26.2%
CALL_BUILTIN_FAST 19,200 0.1%
LOAD_ATTR 40 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 5,836,800 41.5%
LOAD_FAST 4,569,600 32.5%
LOAD_CONST_MORTAL 3,552,000 25.2%
CALL_METHOD_DESCRIPTOR_NOARGS 96,040 0.7%
LOAD_CONST_IMMORTAL 19,200 0.1%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 15,033,680 71.4%
LOAD_ATTR_INSTANCE_VALUE 5,952,000 28.3%
CALL_KW_NON_PY 57,600 0.3%
LOAD_ATTR 40 0.0%
Successors Count Percentage
LOAD_FAST 14,976,060 71.2%
CALL_PY_GENERAL 5,836,800 27.7%
CALL_PY_EXACT_ARGS 115,200 0.5%
LOAD_FAST_LOAD_FAST 57,660 0.3%
LOAD_CONST_IMMORTAL 57,600 0.3%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 192,160 99.9%
LOAD_ATTR 100 0.1%
LOAD_FAST 40 0.0%
Successors Count Percentage
PUSH_NULL 173,040 90.0%
LOAD_FAST 19,200 10.0%
STORE_FAST 60 0.0%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 10,483,200 98.7%
LOAD_FAST_LOAD_FAST 134,400 1.3%
Successors Count Percentage
COMPARE_OP_INT 5,952,000 56.1%
LOAD_ATTR_METHOD_NO_DICT 4,531,200 42.7%
CALL_NON_PY_GENERAL 134,400 1.3%

LOAD_CONST_IMMORTAL

Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors Count Percentage
POP_TOP 10,483,380 28.9%
LOAD_FAST 6,086,520 16.8%
POP_JUMP_IF_FALSE 5,836,800 16.1%
RESUME_CHECK 5,836,800 16.1%
STORE_SUBSCR_DICT 3,782,400 10.4%
Successors Count Percentage
RETURN_VALUE 26,323,380 72.6%
LOAD_GLOBAL_MODULE 4,569,600 12.6%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 3,571,200 9.8%
COMPARE_OP_INT 1,324,800 3.7%
LOAD_FAST 134,400 0.4%

LOAD_CONST_MORTAL

Successors and predecessors for LOAD_CONST_MORTAL
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 5,740,800 52.6%
LOAD_ATTR_METHOD_NO_DICT 3,552,000 32.6%
POP_JUMP_IF_FALSE 960,000 8.8%
LOAD_FAST 537,600 4.9%
LOAD_CONST_IMMORTAL 76,800 0.7%
Successors Count Percentage
LOAD_FAST 6,182,400 56.7%
LOAD_CONST_IMMORTAL 3,552,000 32.6%
COMPARE_OP 494,400 4.5%
COMPARE_OP_INT 465,600 4.3%
CALL_KW_NON_PY 96,000 0.9%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
STORE_FAST 8,409,600 21.1%
POP_JUMP_IF_FALSE 8,390,400 21.0%
LOAD_ATTR_METHOD_NO_DICT 5,836,800 14.6%
LOAD_FAST 4,665,600 11.7%
POP_JUMP_IF_NONE 4,569,600 11.4%
Successors Count Percentage
LOAD_FAST 30,624,060 76.7%
IS_OP 4,531,200 11.4%
STORE_FAST 4,531,200 11.4%
LOAD_FAST_LOAD_FAST 76,800 0.2%
CALL_ISINSTANCE 57,600 0.1%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 5,740,880 22.4%
POP_JUMP_IF_FALSE 5,184,000 20.2%
LOAD_FAST 4,665,600 18.2%
LOAD_ATTR_INSTANCE_VALUE 4,608,000 18.0%
LOAD_CONST_IMMORTAL 4,569,600 17.8%
Successors Count Percentage
LOAD_GLOBAL_MODULE 5,740,880 22.4%
LOAD_CONST_MORTAL 5,740,800 22.4%
IS_OP 4,588,800 17.9%
CALL_BUILTIN_FAST 4,588,800 17.9%
RETURN_VALUE 3,782,400 14.8%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 19,603,380 47.2%
CALL_BOUND_METHOD_EXACT_ARGS 10,003,200 24.1%
CALL_PY_GENERAL 6,009,600 14.5%
CALL_BOUND_METHOD_GENERAL 5,740,800 13.8%
CACHE 76,860 0.2%
Successors Count Percentage
LOAD_FAST 35,462,580 85.4%
LOAD_CONST_IMMORTAL 5,836,800 14.0%
LOAD_GLOBAL_MODULE 115,280 0.3%
LOAD_GLOBAL_BUILTIN 76,840 0.2%
LOAD_FAST_LOAD_FAST 57,600 0.1%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 748,800 86.7%
LOAD_FAST_LOAD_FAST 115,200 13.3%
Successors Count Percentage
LOAD_CONST_IMMORTAL 345,600 40.0%
LOAD_FAST 230,400 26.7%
NOP 57,600 6.7%
BUILD_MAP 57,600 6.7%
LOAD_SMALL_INT 57,600 6.7%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
CALL_BUILTIN_O 3,782,400 100.0%
Successors Count Percentage
LOAD_CONST_IMMORTAL 3,782,400 100.0%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 15,897,600 100.0%
TO_BOOL_NONE 1,080 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 15,897,600 100.0%
TO_BOOL_NONE 1,080 0.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
LOAD_FAST 11,731,240 65.6%
LOAD_ATTR_INSTANCE_VALUE 5,875,200 32.9%
CALL_ISINSTANCE 115,200 0.6%
CALL_BUILTIN_FAST 76,800 0.4%
COPY 57,600 0.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 14,016,000 78.4%
EXTENDED_ARG 3,552,000 19.9%
POP_JUMP_IF_TRUE 307,260 1.7%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,782,400 100.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 3,782,400 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 57,600 98.2%
TO_BOOL_ALWAYS_TRUE 1,080 1.8%
Successors Count Percentage
POP_JUMP_IF_FALSE 57,600 98.2%
TO_BOOL_ALWAYS_TRUE 1,080 1.8%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
FOR_ITER_TUPLE 2,534,400 80.0%
FOR_ITER 633,600 20.0%
CALL_METHOD_DESCRIPTOR_NOARGS 40 0.0%
UNPACK_SEQUENCE 20 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 3,168,060 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.

9,350,400 99.2%
hit

Specialized instructions that complete.

76,860 0.8%
Success Count Ratio
Success 20 0.8%
Failure 2,500 99.2%
Failure kind Count Ratio
add other 2,460 98.4%
rshift 40 1.6%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
hit

Specialized instructions that complete.

1,363,260 100.0%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

CALL

specialization stats for CALL family
Kind Count Ratio
hit

Specialized instructions that complete.

105,419,940 99.1%
miss

Specialized instructions that deopt.

966,720 0.9%
Success Count Ratio
Success 18,500 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.

1,021,440 4.6%
hit

Specialized instructions that complete.

20,859,360 94.6%
miss

Specialized instructions that deopt.

163,920 0.7%
Success Count Ratio
Success 3,120 29.3%
Failure 7,520 70.7%
Failure kind Count Ratio
big int 7,520 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.

19,200 0.5%
hit

Specialized instructions that complete.

3,840,000 99.5%
Success Count Ratio
Success 0 0.0%
Failure 40 100.0%
Failure kind Count Ratio
list 40 100.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

998,460 27.3%
hit

Specialized instructions that complete.

2,654,460 72.7%
Success Count Ratio
Success 0 0.0%
Failure 280 100.0%
Failure kind Count Ratio
enumerate 200 71.4%
itertools 80 28.6%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

403,320 0.3%
hit

Specialized instructions that complete.

144,519,180 99.7%
Success Count Ratio
Success 240 38.7%
Failure 380 61.3%
Failure kind Count Ratio
method 360 94.7%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
hit

Specialized instructions that complete.

65,549,340 100.0%
Success Count Ratio
Success 180 100.0%
Failure 0 0.0%

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
hit

Specialized instructions that complete.

864,000 100.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
hit

Specialized instructions that complete.

3,782,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.

38,460 0.2%
hit

Specialized instructions that complete.

21,659,100 99.3%
miss

Specialized instructions that deopt.

114,480 0.5%
Success Count Ratio
Success 2,180 97.3%
Failure 60 2.7%
Failure kind Count Ratio
tuple 40 66.7%
sequence 20 33.3%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
hit

Specialized instructions that complete.

3,168,060 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.

523,442,400 51.3%
Not specialized

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

11,842,840 1.2%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

483,913,200 47.4%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

1,245,120 0.1%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
BINARY_OP 9,350,400 79.0%
COMPARE_OP 1,021,440 8.6%
FOR_ITER 998,460 8.4%
LOAD_ATTR 403,320 3.4%
TO_BOOL 38,460 0.3%
CONTAINS_OP 19,200 0.2%
BINARY_SLICE 0 0.0%
STORE_SLICE 0 0.0%
CACHE 0 0.0%
BINARY_SUBSCR 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
CALL_PY_EXACT_ARGS 966,720 77.6%
COMPARE_OP_INT 163,920 13.2%
TO_BOOL_ALWAYS_TRUE 57,240 4.6%
TO_BOOL_NONE 57,240 4.6%
CACHE 0 0.0%
CALL_FUNCTION_EX 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%
INTERPRETER_EXIT 0 0.0%
MAKE_FUNCTION 0 0.0%

Call stats

Inlined calls and frame stats

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

Also includes the count of frame objects created.

Count Ratio
Calls to PyEval_EvalDefault 76,860 0.2%
Calls to Python functions inlined 41,472,360 99.8%
Calls via PyEval_EvalFrame (total) 76,860 0.2%
Calls via PyEval_EvalFrame (vector) 76,860 0.2%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 76,860 0.2%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 60 0.0%
Calls via PyEval_EvalFrame (api) 0 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 0 0.0%
Frames pushed 41,606,820 100.1%

Object stats

Allocations, frees and dict materializatons

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

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

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

Count Ratio
Allocations from freelist 12,212,700 30.1%
Frees to freelist 12,270,260
Allocations 28,397,240 69.9%
Allocations to 512 bytes 27,994,040 68.9%
Allocations to 4 kbytes 115,200 0.3%
Allocations over 4 kbytes 288,000 0.7%
Frees 28,339,228
Inline values 115,200
Interpreter mortal increfs 476,282,760 69.2%
Interpreter mortal decrefs 513,149,200 68.2%
Mortal increfs 50,835,382 7.4%
Mortal decrefs 54,175,272 7.2%
Interpreter immortal increfs 110,093,760 16.0%
Interpreter immortal decrefs 150,481,920 20.0%
Immortal increfs 50,654,996 7.4%
Immortal decrefs 34,681,026 4.6%
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 4,986,958
Method cache misses 63,302
Method cache collisions 113,012
Method cache dunder hits 180,583
Method cache dunder misses 49,817

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 40 160 68,220 2,100 3,140
2 0 0 0 0 0

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer

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: 2025-02-01