Skip to content

Latest commit

 

History

History
7588 lines (6896 loc) · 135 KB

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

File metadata and controls

7588 lines (6896 loc) · 135 KB

Pystats results

  • benchmark: comprehensions
  • 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 200,056,440 13.6% 13.6%
FOR_ITER_LIST 138,126,960 9.4% 23.0%
JUMP_BACKWARD_NO_JIT 118,467,300 8.1% 31.1%
STORE_FAST_LOAD_FAST 108,633,780 7.4% 38.4%
LOAD_ATTR_INSTANCE_VALUE 103,227,300 7.0% 45.5%
LIST_APPEND 79,634,100 5.4% 50.9%
LOAD_ATTR_METHOD_NO_DICT 53,577,240 3.6% 54.5%
CALL_METHOD_DESCRIPTOR_FAST 53,084,160 3.6% 58.1%
GET_ITER 40,309,260 2.7% 60.9%
RESUME_CHECK 36,375,120 2.5% 63.3%
STORE_FAST 32,448,540 2.2% 65.6%
SWAP 31,951,680 2.2% 67.7%
CALL_PY_EXACT_ARGS 29,983,200 2.0% 69.8%
BINARY_SUBSCR_DICT 26,542,440 1.8% 71.6%
POP_JUMP_IF_TRUE 26,050,680 1.8% 73.3%
POP_JUMP_IF_FALSE 24,084,540 1.6% 75.0%
TO_BOOL_BOOL 23,593,020 1.6% 76.6%
RETURN_VALUE 22,613,640 1.5% 78.1%
POP_TOP 21,627,720 1.5% 79.6%
LOAD_ATTR_METHOD_WITH_VALUES 21,135,480 1.4% 81.0%
LOAD_FAST_LOAD_FAST 18,199,500 1.2% 82.3%
LOAD_GLOBAL_BUILTIN 18,186,420 1.2% 83.5%
MAP_ADD 17,694,720 1.2% 84.7%
INTERPRETER_EXIT 14,745,780 1.0% 85.7%
TO_BOOL_ALWAYS_TRUE 14,376,960 1.0% 86.7% 45.3%
YIELD_VALUE 14,254,440 1.0% 87.7%
LOAD_GLOBAL_MODULE 12,289,980 0.8% 88.5%
TO_BOOL_NONE 11,919,360 0.8% 89.3% 54.6%
LOAD_ATTR 11,799,660 0.8% 90.1%
POP_ITER 11,799,540 0.8% 90.9%
COMPARE_OP 11,799,380 0.8% 91.7%
LOAD_FAST_AND_CLEAR 11,797,920 0.8% 92.5%
COPY 11,796,480 0.8% 93.3%
BUILD_LIST 10,815,000 0.7% 94.0%
LOAD_CONST_IMMORTAL 10,327,020 0.7% 94.7%
CALL_LEN 9,338,940 0.6% 95.4%
COMPARE_OP_INT 9,338,940 0.6% 96.0%
BINARY_SUBSCR 8,851,020 0.6% 96.6%
LOAD_CONST_MORTAL 8,848,740 0.6% 97.2%
BUILD_TUPLE 8,847,660 0.6% 97.8%
MAKE_FUNCTION 8,847,600 0.6% 98.4%
RETURN_GENERATOR 8,847,540 0.6% 99.0%
CALL_BUILTIN_O 8,847,360 0.6% 99.6%
STORE_ATTR_INSTANCE_VALUE 1,483,200 0.1% 99.7%
LOAD_SMALL_INT 986,160 0.1% 99.8%
BUILD_MAP 983,040 0.1% 99.9%
EXIT_INIT_CHECK 492,960 0.0% 99.9%
CALL_ALLOC_AND_ENTER_INIT 492,960 0.0% 99.9%
FOR_ITER_RANGE 491,820 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 491,520 0.0% 100.0%
FOR_ITER_TUPLE 3,240 0.0% 100.0%
BINARY_OP_ADD_INT 2,880 0.0% 100.0%
BUILD_SLICE 1,440 0.0% 100.0%
CALL_LIST_APPEND 1,440 0.0% 100.0%
LOAD_DEREF 660 0.0% 100.0%
LOAD_ATTR_CLASS_WITH_METACLASS_CHECK 540 0.0% 100.0% 100.0%
PUSH_NULL 540 0.0% 100.0%
FOR_ITER_GEN 540 0.0% 100.0%
CALL 320 0.0% 100.0%
CALL_NON_PY_GENERAL 300 0.0% 100.0%
COPY_FREE_VARS 240 0.0% 100.0%
MAKE_CELL 240 0.0% 100.0%
SET_FUNCTION_ATTRIBUTE 240 0.0% 100.0%
LOAD_ATTR_MODULE 240 0.0% 100.0%
END_FOR 180 0.0% 100.0%
LOAD_GLOBAL 180 0.0% 100.0%
CALL_FUNCTION_EX 120 0.0% 100.0%
CALL_BUILTIN_CLASS 120 0.0% 100.0%
TO_BOOL 100 0.0% 100.0%
NOP 60 0.0% 100.0%
CALL_INTRINSIC_1 60 0.0% 100.0%
FOR_ITER 60 0.0% 100.0%
IS_OP 60 0.0% 100.0%
JUMP_FORWARD 60 0.0% 100.0%
LIST_EXTEND 60 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 60 0.0% 100.0%
STORE_DEREF 60 0.0% 100.0%
STORE_FAST_STORE_FAST 60 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%
BINARY_SUBSCR_TUPLE_INT 60 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 60 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_O 60 0.0% 100.0%
CALL_PY_GENERAL 60 0.0% 100.0%
UNPACK_SEQUENCE_TWO_TUPLE 60 0.0% 100.0%
BINARY_OP 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
JUMP_BACKWARD_NO_JIT FOR_ITER_LIST 117,973,020 8.0% 8.0%
FOR_ITER_LIST STORE_FAST_LOAD_FAST 108,633,780 7.4% 15.4%
LIST_APPEND JUMP_BACKWARD_NO_JIT 79,634,100 5.4% 20.8%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 76,677,260 5.2% 26.0%
LOAD_FAST CALL_METHOD_DESCRIPTOR_FAST 53,084,160 3.6% 29.6%
STORE_FAST_LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 53,084,160 3.6% 33.3%
CALL_METHOD_DESCRIPTOR_FAST LIST_APPEND 53,084,160 3.6% 36.9%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 53,084,160 3.6% 40.5%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 26,542,080 1.8% 42.3%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 23,592,960 1.6% 43.9%
RESUME_CHECK LOAD_FAST 21,135,900 1.4% 45.3%
CALL_PY_EXACT_ARGS RESUME_CHECK 21,135,600 1.4% 46.8%
STORE_FAST LOAD_FAST 20,155,500 1.4% 48.1%
GET_ITER FOR_ITER_LIST 20,153,940 1.4% 49.5%
LOAD_FAST GET_ITER 20,152,560 1.4% 50.9%
FOR_ITER_LIST STORE_FAST 17,695,080 1.2% 52.1%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 17,694,760 1.2% 53.3%
MAP_ADD JUMP_BACKWARD_NO_JIT 17,694,720 1.2% 54.5%
LOAD_ATTR_INSTANCE_VALUE BINARY_SUBSCR_DICT 17,694,720 1.2% 55.7%
POP_JUMP_IF_TRUE LOAD_FAST 14,254,140 1.0% 56.7%
STORE_FAST_LOAD_FAST TO_BOOL_ALWAYS_TRUE 14,254,080 1.0% 57.6%
YIELD_VALUE INTERPRETER_EXIT 14,254,080 1.0% 58.6%
LOAD_ATTR_INSTANCE_VALUE YIELD_VALUE 14,254,080 1.0% 59.6%
TO_BOOL_ALWAYS_TRUE POP_JUMP_IF_TRUE 14,254,080 1.0% 60.5%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 12,288,060 0.8% 61.4%
LOAD_FAST CALL_PY_EXACT_ARGS 12,288,000 0.8% 62.2%
FOR_ITER_LIST POP_ITER 11,798,100 0.8% 63.0%
LOAD_GLOBAL_MODULE LOAD_ATTR 11,796,560 0.8% 63.8%
RETURN_VALUE TO_BOOL_BOOL 11,796,480 0.8% 64.6%
COMPARE_OP COPY 11,796,480 0.8% 65.4%
COPY TO_BOOL_BOOL 11,796,480 0.8% 66.2%
LOAD_ATTR COMPARE_OP 11,796,480 0.8% 67.0%
POP_JUMP_IF_TRUE JUMP_BACKWARD_NO_JIT 11,796,480 0.8% 67.8%
STORE_FAST_LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 11,796,480 0.8% 68.6%
STORE_FAST_LOAD_FAST TO_BOOL_NONE 11,796,480 0.8% 69.4%
LOAD_ATTR_INSTANCE_VALUE LOAD_GLOBAL_MODULE 11,796,480 0.8% 70.2%
TO_BOOL_NONE POP_JUMP_IF_TRUE 11,796,480 0.8% 71.0%
GET_ITER LOAD_FAST_AND_CLEAR 11,306,400 0.8% 71.8%
LOAD_FAST_AND_CLEAR SWAP 11,306,400 0.8% 72.6%
SWAP GET_ITER 11,306,400 0.8% 73.3%
BUILD_LIST SWAP 10,323,360 0.7% 74.0%
SWAP BUILD_LIST 10,323,360 0.7% 74.7%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 9,338,960 0.6% 75.4%
POP_ITER SWAP 9,338,880 0.6% 76.0%
SWAP STORE_FAST 9,338,880 0.6% 76.6%
STORE_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 8,855,220 0.6% 77.2%
LOAD_FAST LOAD_CONST_IMMORTAL 8,848,920 0.6% 77.8%
LOAD_CONST_MORTAL MAKE_FUNCTION 8,847,600 0.6% 78.5%
GET_ITER CALL_PY_EXACT_ARGS 8,847,540 0.6% 79.1%
POP_TOP RESUME_CHECK 8,847,540 0.6% 79.7%
POP_JUMP_IF_FALSE LOAD_FAST 8,847,420 0.6% 80.3%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST_LOAD_FAST 8,847,420 0.6% 80.9%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 8,847,400 0.6% 81.5%
CACHE POP_TOP 8,847,360 0.6% 82.1%
BINARY_SUBSCR BINARY_SUBSCR_DICT 8,847,360 0.6% 82.7%
MAKE_FUNCTION LOAD_FAST 8,847,360 0.6% 83.3%
RETURN_GENERATOR CALL_BUILTIN_O 8,847,360 0.6% 83.9%
RETURN_VALUE LOAD_GLOBAL_BUILTIN 8,847,360 0.6% 84.5%
BUILD_TUPLE LIST_APPEND 8,847,360 0.6% 85.1%
LOAD_FAST LIST_APPEND 8,847,360 0.6% 85.7%
LOAD_FAST MAP_ADD 8,847,360 0.6% 86.3%
STORE_FAST MAP_ADD 8,847,360 0.6% 86.9%
STORE_FAST_LOAD_FAST LOAD_FAST 8,847,360 0.6% 87.5%
BINARY_SUBSCR_DICT LIST_APPEND 8,847,360 0.6% 88.1%
BINARY_SUBSCR_DICT CALL_LEN 8,847,360 0.6% 88.7%
BINARY_SUBSCR_DICT CALL_PY_EXACT_ARGS 8,847,360 0.6% 89.3%
CALL_BUILTIN_O RETURN_VALUE 8,847,360 0.6% 89.9%
CALL_LEN LOAD_FAST 8,847,360 0.6% 90.5%
CALL_PY_EXACT_ARGS RETURN_GENERATOR 8,847,360 0.6% 91.1%
COMPARE_OP_INT LOAD_FAST 8,847,360 0.6% 91.7%
LOAD_ATTR_INSTANCE_VALUE GET_ITER 8,847,360 0.6% 92.3%
LOAD_ATTR_INSTANCE_VALUE BUILD_TUPLE 8,847,360 0.6% 92.9%
LOAD_ATTR_INSTANCE_VALUE COMPARE_OP_INT 8,847,360 0.6% 93.5%
LOAD_CONST_IMMORTAL BINARY_SUBSCR 8,847,360 0.6% 94.1%
LOAD_GLOBAL_BUILTIN LOAD_FAST_LOAD_FAST 8,847,360 0.6% 94.7%
LOAD_GLOBAL_BUILTIN LOAD_CONST_MORTAL 8,847,360 0.6% 95.3%
POP_TOP LOAD_FAST 6,389,820 0.4% 95.7%
POP_TOP JUMP_BACKWARD_NO_JIT 5,898,660 0.4% 96.1%
RESUME_CHECK POP_TOP 5,898,600 0.4% 96.5%
CACHE RESUME_CHECK 5,898,300 0.4% 96.9%
POP_JUMP_IF_FALSE POP_TOP 5,898,240 0.4% 97.3%
POP_JUMP_IF_FALSE RETURN_VALUE 5,898,240 0.4% 97.7%
LOAD_ATTR_INSTANCE_VALUE RETURN_VALUE 5,898,240 0.4% 98.1%
POP_JUMP_IF_FALSE JUMP_BACKWARD_NO_JIT 3,440,640 0.2% 98.4%
STORE_FAST STORE_FAST 2,459,040 0.2% 98.5%
POP_ITER STORE_FAST 1,967,520 0.1% 98.7%
LOAD_CONST_IMMORTAL RETURN_VALUE 1,476,360 0.1% 98.8%
BUILD_MAP SWAP 983,040 0.1% 98.8%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 983,040 0.1% 98.9%
SWAP BUILD_MAP 983,040 0.1% 99.0%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 500,160 0.0% 99.0%
EXIT_INIT_CHECK RETURN_VALUE 492,960 0.0% 99.0%
RETURN_VALUE EXIT_INIT_CHECK 492,960 0.0% 99.1%
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 492,960 0.0% 99.1%
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK 492,960 0.0% 99.1%
RESUME_CHECK LOAD_FAST_LOAD_FAST 492,960 0.0% 99.2%
STORE_ATTR_INSTANCE_VALUE LOAD_CONST_IMMORTAL 492,960 0.0% 99.2%
STORE_FAST LOAD_GLOBAL_MODULE 491,820 0.0% 99.2%
RETURN_VALUE STORE_FAST 491,760 0.0% 99.3%
POP_ITER LOAD_CONST_IMMORTAL 491,700 0.0% 99.3%

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
POP_TOP 8,847,360 60.0%
RESUME_CHECK 5,898,300 40.0%
MAKE_CELL 180 0.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 8,847,360 100.0%
BINARY_SUBSCR 2,200 0.0%
BUILD_SLICE 1,440 0.0%
LOAD_SMALL_INT 20 0.0%
Successors Count Percentage
BINARY_SUBSCR_DICT 8,847,360 100.0%
BINARY_SUBSCR 2,200 0.0%
GET_ITER 1,440 0.0%
BINARY_SUBSCR_TUPLE_INT 20 0.0%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
PUSH_NULL 120 100.0%
Successors Count Percentage
RESUME_CHECK 60 100.0%

END_FOR

Successors and predecessors for END_FOR
Predecessors Count Percentage
RETURN_VALUE 180 100.0%
Successors Count Percentage
POP_ITER 180 100.0%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_VALUE 492,960 100.0%
Successors Count Percentage
RETURN_VALUE 492,960 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_FAST 20,152,560 50.0%
SWAP 11,306,400 28.0%
LOAD_ATTR_INSTANCE_VALUE 8,847,360 21.9%
BINARY_SUBSCR 1,440 0.0%
LOAD_CONST_MORTAL 1,080 0.0%
Successors Count Percentage
FOR_ITER_LIST 20,153,940 50.0%
LOAD_FAST_AND_CLEAR 11,306,400 28.0%
CALL_PY_EXACT_ARGS 8,847,540 21.9%
FOR_ITER_TUPLE 1,080 0.0%
FOR_ITER_GEN 180 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
YIELD_VALUE 14,254,080 96.7%
RETURN_VALUE 491,700 3.3%

MAKE_FUNCTION

Successors and predecessors for MAKE_FUNCTION
Predecessors Count Percentage
LOAD_CONST_MORTAL 8,847,600 100.0%
Successors Count Percentage
LOAD_FAST 8,847,360 100.0%
SET_FUNCTION_ATTRIBUTE 240 0.0%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
POP_JUMP_IF_TRUE 60 100.0%
Successors Count Percentage
LOAD_FAST 60 100.0%

POP_ITER

Successors and predecessors for POP_ITER
Predecessors Count Percentage
FOR_ITER_LIST 11,798,100 100.0%
FOR_ITER_TUPLE 1,080 0.0%
END_FOR 180 0.0%
FOR_ITER_RANGE 120 0.0%
FOR_ITER 60 0.0%
Successors Count Percentage
SWAP 9,338,880 79.1%
STORE_FAST 1,967,520 16.7%
LOAD_CONST_IMMORTAL 491,700 4.2%
JUMP_BACKWARD_NO_JIT 1,260 0.0%
LOAD_FAST 60 0.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
CACHE 8,847,360 40.9%
RESUME_CHECK 5,898,600 27.3%
POP_JUMP_IF_FALSE 5,898,240 27.3%
RETURN_VALUE 491,700 2.3%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 491,520 2.3%
Successors Count Percentage
RESUME_CHECK 8,847,540 40.9%
LOAD_FAST 6,389,820 29.5%
JUMP_BACKWARD_NO_JIT 5,898,660 27.3%
LOAD_CONST_IMMORTAL 491,700 2.3%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 240 44.4%
LOAD_FAST 180 33.3%
CALL_INTRINSIC_1 60 11.1%
LOAD_DEREF 60 11.1%
Successors Count Percentage
CALL_NON_PY_GENERAL 160 29.6%
CALL_FUNCTION_EX 120 22.2%
LOAD_FAST 120 22.2%
CALL 80 14.8%
LOAD_FAST_LOAD_FAST 60 11.1%

RETURN_GENERATOR

Successors and predecessors for RETURN_GENERATOR
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 8,847,360 100.0%
COPY_FREE_VARS 180 0.0%
Successors Count Percentage
CALL_BUILTIN_O 8,847,360 100.0%
RETURN_VALUE 180 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
CALL_BUILTIN_O 8,847,360 39.1%
POP_JUMP_IF_FALSE 5,898,240 26.1%
LOAD_ATTR_INSTANCE_VALUE 5,898,240 26.1%
LOAD_CONST_IMMORTAL 1,476,360 6.5%
EXIT_INIT_CHECK 492,960 2.2%
Successors Count Percentage
TO_BOOL_BOOL 11,796,480 52.2%
LOAD_GLOBAL_BUILTIN 8,847,360 39.1%
EXIT_INIT_CHECK 492,960 2.2%
STORE_FAST 491,760 2.2%
INTERPRETER_EXIT 491,700 2.2%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 60 60.0%
TO_BOOL 20 20.0%
LOAD_FAST 20 20.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 60.0%
TO_BOOL 20 20.0%
TO_BOOL_BOOL 20 20.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_FAST 20 100.0%
Successors Count Percentage
BINARY_OP_SUBTRACT_FLOAT 20 100.0%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
SWAP 10,323,360 95.5%
STORE_ATTR_INSTANCE_VALUE 491,520 4.5%
LOAD_FAST 60 0.0%
STORE_FAST 60 0.0%
Successors Count Percentage
SWAP 10,323,360 95.5%
LOAD_FAST 491,520 4.5%
LOAD_DEREF 60 0.0%
STORE_FAST 60 0.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
SWAP 983,040 100.0%
Successors Count Percentage
SWAP 983,040 100.0%

BUILD_SLICE

Successors and predecessors for BUILD_SLICE
Predecessors Count Percentage
BINARY_OP_ADD_INT 1,440 100.0%
Successors Count Percentage
BINARY_SUBSCR 1,440 100.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 8,847,360 100.0%
LOAD_FAST 240 0.0%
LOAD_FAST_LOAD_FAST 60 0.0%
Successors Count Percentage
LIST_APPEND 8,847,360 100.0%
LOAD_CONST_MORTAL 240 0.0%
CALL_METHOD_DESCRIPTOR_O 40 0.0%
CALL 20 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
PUSH_NULL 80 25.0%
LOAD_FAST_LOAD_FAST 60 18.8%
LOAD_FAST 40 12.5%
LOAD_CONST_IMMORTAL 40 12.5%
BUILD_TUPLE 20 6.2%
Successors Count Percentage
CALL_NON_PY_GENERAL 100 31.2%
CALL_PY_EXACT_ARGS 100 31.2%
CALL_BUILTIN_CLASS 40 12.5%
CALL_LEN 20 6.2%
CALL_METHOD_DESCRIPTOR_NOARGS 20 6.2%

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_ATTR 11,796,480 100.0%
COMPARE_OP 2,880 0.0%
LOAD_SMALL_INT 20 0.0%
Successors Count Percentage
COPY 11,796,480 100.0%
COMPARE_OP 2,880 0.0%
COMPARE_OP_INT 20 0.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
COMPARE_OP 11,796,480 100.0%
Successors Count Percentage
TO_BOOL_BOOL 11,796,480 100.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 240 100.0%
Successors Count Percentage
RETURN_GENERATOR 180 75.0%
RESUME_CHECK 60 25.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 60 100.0%
Successors Count Percentage
POP_ITER 60 100.0%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 60 100.0%
Successors Count Percentage
STORE_FAST 60 100.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_FAST 60 100.0%
Successors Count Percentage
LOAD_FAST 60 100.0%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
CALL_METHOD_DESCRIPTOR_FAST 53,084,160 66.7%
BUILD_TUPLE 8,847,360 11.1%
LOAD_FAST 8,847,360 11.1%
BINARY_SUBSCR_DICT 8,847,360 11.1%
LOAD_ATTR_INSTANCE_VALUE 7,860 0.0%
Successors Count Percentage
JUMP_BACKWARD_NO_JIT 79,634,100 100.0%

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_GLOBAL_MODULE 11,796,560 100.0%
LOAD_ATTR 2,900 0.0%
LOAD_FAST 140 0.0%
LOAD_ATTR_INSTANCE_VALUE 40 0.0%
LOAD_FAST_LOAD_FAST 20 0.0%
Successors Count Percentage
COMPARE_OP 11,796,480 100.0%
LOAD_ATTR 2,900 0.0%
LOAD_ATTR_MODULE 80 0.0%
LOAD_FAST_LOAD_FAST 60 0.0%
LOAD_ATTR_INSTANCE_VALUE 60 0.0%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
STORE_FAST 360 54.5%
SET_FUNCTION_ATTRIBUTE 180 27.3%
BUILD_LIST 60 9.1%
RESUME_CHECK 60 9.1%
Successors Count Percentage
LOAD_ATTR_CLASS_WITH_METACLASS_CHECK 540 81.8%
PUSH_NULL 60 9.1%
LIST_EXTEND 60 9.1%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 53,084,160 26.5%
LOAD_ATTR_INSTANCE_VALUE 26,542,080 13.3%
RESUME_CHECK 21,135,900 10.6%
STORE_FAST 20,155,500 10.1%
POP_JUMP_IF_TRUE 14,254,140 7.1%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 76,677,260 38.3%
CALL_METHOD_DESCRIPTOR_FAST 53,084,160 26.5%
GET_ITER 20,152,560 10.1%
CALL_PY_EXACT_ARGS 12,288,000 6.1%
LOAD_ATTR_METHOD_WITH_VALUES 9,338,960 4.7%

LOAD_FAST_AND_CLEAR

Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors Count Percentage
GET_ITER 11,306,400 95.8%
LOAD_FAST_AND_CLEAR 491,520 4.2%
Successors Count Percentage
SWAP 11,306,400 95.8%
LOAD_FAST_AND_CLEAR 491,520 4.2%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 8,847,420 48.6%
LOAD_GLOBAL_BUILTIN 8,847,360 48.6%
RESUME_CHECK 492,960 2.7%
STORE_ATTR_INSTANCE_VALUE 7,200 0.0%
LOAD_FAST_LOAD_FAST 2,880 0.0%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 17,694,760 97.2%
STORE_ATTR_INSTANCE_VALUE 500,160 2.7%
LOAD_FAST_LOAD_FAST 2,880 0.0%
CALL_ALLOC_AND_ENTER_INIT 1,440 0.0%
CALL_PY_EXACT_ARGS 80 0.0%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 80 44.4%
RESUME_CHECK 60 33.3%
POP_ITER 40 22.2%
Successors Count Percentage
LOAD_GLOBAL_MODULE 120 66.7%
LOAD_GLOBAL_BUILTIN 60 33.3%

LOAD_SMALL_INT

Successors and predecessors for LOAD_SMALL_INT
Predecessors Count Percentage
CALL_LEN 491,580 49.8%
LOAD_GLOBAL_MODULE 491,520 49.8%
LOAD_FAST 2,940 0.3%
LOAD_GLOBAL_BUILTIN 60 0.0%
RESUME_CHECK 60 0.0%
Successors Count Percentage
COMPARE_OP_INT 491,560 49.8%
LOAD_FAST 491,520 49.8%
BINARY_OP_ADD_INT 2,880 0.3%
STORE_FAST 60 0.0%
BINARY_SUBSCR_TUPLE_INT 40 0.0%

MAKE_CELL

Successors and predecessors for MAKE_CELL
Predecessors Count Percentage
CACHE 180 75.0%
CALL_PY_GENERAL 60 25.0%
Successors Count Percentage
RESUME_CHECK 240 100.0%

MAP_ADD

Successors and predecessors for MAP_ADD
Predecessors Count Percentage
LOAD_FAST 8,847,360 50.0%
STORE_FAST 8,847,360 50.0%
Successors Count Percentage
JUMP_BACKWARD_NO_JIT 17,694,720 100.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
TO_BOOL_BOOL 23,592,960 98.0%
COMPARE_OP_INT 491,520 2.0%
TO_BOOL 60 0.0%
Successors Count Percentage
LOAD_FAST 8,847,420 36.7%
POP_TOP 5,898,240 24.5%
RETURN_VALUE 5,898,240 24.5%
JUMP_BACKWARD_NO_JIT 3,440,640 14.3%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 60 100.0%
Successors Count Percentage
LOAD_CONST_MORTAL 60 100.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
TO_BOOL_ALWAYS_TRUE 14,254,080 54.7%
TO_BOOL_NONE 11,796,480 45.3%
COMPARE_OP_INT 60 0.0%
TO_BOOL_BOOL 60 0.0%
Successors Count Percentage
LOAD_FAST 14,254,140 54.7%
JUMP_BACKWARD_NO_JIT 11,796,480 45.3%
NOP 60 0.0%

SET_FUNCTION_ATTRIBUTE

Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors Count Percentage
MAKE_FUNCTION 240 100.0%
Successors Count Percentage
LOAD_DEREF 180 75.0%
STORE_FAST 60 25.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
FOR_ITER_LIST 17,695,080 54.5%
SWAP 9,338,880 28.8%
STORE_FAST 2,459,040 7.6%
POP_ITER 1,967,520 6.1%
RETURN_VALUE 491,760 1.5%
Successors Count Percentage
LOAD_FAST 20,155,500 62.1%
MAP_ADD 8,847,360 27.3%
STORE_FAST 2,459,040 7.6%
LOAD_GLOBAL_MODULE 491,820 1.5%
LOAD_GLOBAL_BUILTIN 491,560 1.5%

STORE_FAST_LOAD_FAST

Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors Count Percentage
FOR_ITER_LIST 108,633,780 100.0%
Successors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 53,084,160 48.9%
TO_BOOL_ALWAYS_TRUE 14,254,080 13.1%
LOAD_ATTR_METHOD_WITH_VALUES 11,796,480 10.9%
TO_BOOL_NONE 11,796,480 10.9%
LOAD_ATTR_INSTANCE_VALUE 8,855,220 8.2%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 60 100.0%
Successors Count Percentage
LOAD_FAST 60 100.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
LOAD_FAST_AND_CLEAR 11,306,400 35.4%
BUILD_LIST 10,323,360 32.3%
POP_ITER 9,338,880 29.2%
BUILD_MAP 983,040 3.1%
Successors Count Percentage
GET_ITER 11,306,400 35.4%
BUILD_LIST 10,323,360 32.3%
STORE_FAST 9,338,880 29.2%
BUILD_MAP 983,040 3.1%

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%

YIELD_VALUE

Successors and predecessors for YIELD_VALUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 14,254,080 100.0%
BINARY_SUBSCR_DICT 360 0.0%
Successors Count Percentage
INTERPRETER_EXIT 14,254,080 100.0%
STORE_FAST 360 0.0%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_SMALL_INT 2,880 100.0%
Successors Count Percentage
BUILD_SLICE 1,440 50.0%
STORE_FAST 1,440 50.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_ATTR_INSTANCE_VALUE 17,694,720 66.7%
BINARY_SUBSCR 8,847,360 33.3%
LOAD_FAST 360 0.0%
Successors Count Percentage
LIST_APPEND 8,847,360 33.3%
CALL_LEN 8,847,360 33.3%
CALL_PY_EXACT_ARGS 8,847,360 33.3%
YIELD_VALUE 360 0.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_SMALL_INT 40 66.7%
BINARY_SUBSCR 20 33.3%
Successors Count Percentage
STORE_FAST 60 100.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
LOAD_FAST 491,520 99.7%
LOAD_FAST_LOAD_FAST 1,440 0.3%
Successors Count Percentage
RESUME_CHECK 492,960 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
CALL 40 33.3%
LOAD_FAST 40 33.3%
LOAD_SMALL_INT 40 33.3%
Successors Count Percentage
GET_ITER 60 50.0%
STORE_FAST 60 50.0%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
RETURN_GENERATOR 8,847,360 100.0%
Successors Count Percentage
RETURN_VALUE 8,847,360 100.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
BINARY_SUBSCR_DICT 8,847,360 94.7%
LOAD_ATTR_INSTANCE_VALUE 491,520 5.3%
LOAD_FAST 40 0.0%
CALL 20 0.0%
Successors Count Percentage
LOAD_FAST 8,847,360 94.7%
LOAD_SMALL_INT 491,580 5.3%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
RETURN_VALUE 1,440 100.0%
Successors Count Percentage
LOAD_FAST 1,440 100.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_FAST 53,084,160 100.0%
Successors Count Percentage
LIST_APPEND 53,084,160 100.0%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 491,520 100.0%
Successors Count Percentage
POP_TOP 491,520 100.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 40 66.7%
CALL 20 33.3%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 40 66.7%
UNPACK_SEQUENCE 20 33.3%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
BUILD_TUPLE 40 66.7%
CALL 20 33.3%
Successors Count Percentage
POP_TOP 60 100.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 160 53.3%
CALL 100 33.3%
LOAD_FAST_LOAD_FAST 40 13.3%
Successors Count Percentage
POP_TOP 60 20.0%
RETURN_VALUE 60 20.0%
LOAD_FAST 60 20.0%
STORE_DEREF 60 20.0%
STORE_FAST 60 20.0%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 12,288,000 41.0%
GET_ITER 8,847,540 29.5%
BINARY_SUBSCR_DICT 8,847,360 29.5%
CALL 100 0.0%
LOAD_FAST_LOAD_FAST 80 0.0%
Successors Count Percentage
RESUME_CHECK 21,135,600 70.5%
RETURN_GENERATOR 8,847,360 29.5%
COPY_FREE_VARS 240 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 40 66.7%
CALL 20 33.3%
Successors Count Percentage
MAKE_CELL 60 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 8,847,360 94.7%
LOAD_SMALL_INT 491,560 5.3%
COMPARE_OP 20 0.0%
Successors Count Percentage
LOAD_FAST 8,847,360 94.7%
POP_JUMP_IF_FALSE 491,520 5.3%
POP_JUMP_IF_TRUE 60 0.0%

FOR_ITER_GEN

Successors and predecessors for FOR_ITER_GEN
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 360 66.7%
GET_ITER 180 33.3%
Successors Count Percentage
RESUME_CHECK 360 66.7%
POP_TOP 180 33.3%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 117,973,020 85.4%
GET_ITER 20,153,940 14.6%
Successors Count Percentage
STORE_FAST_LOAD_FAST 108,633,780 78.6%
STORE_FAST 17,695,080 12.8%
POP_ITER 11,798,100 8.5%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 491,700 100.0%
GET_ITER 120 0.0%
Successors Count Percentage
STORE_FAST 491,700 100.0%
POP_ITER 120 0.0%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
JUMP_BACKWARD_NO_JIT 2,160 66.7%
GET_ITER 1,080 33.3%
Successors Count Percentage
STORE_FAST 2,160 66.7%
POP_ITER 1,080 33.3%

JUMP_BACKWARD_NO_JIT

Successors and predecessors for JUMP_BACKWARD_NO_JIT
Predecessors Count Percentage
LIST_APPEND 79,634,100 67.2%
MAP_ADD 17,694,720 14.9%
POP_JUMP_IF_TRUE 11,796,480 10.0%
POP_TOP 5,898,660 5.0%
POP_JUMP_IF_FALSE 3,440,640 2.9%
Successors Count Percentage
FOR_ITER_LIST 117,973,020 99.6%
FOR_ITER_RANGE 491,700 0.4%
FOR_ITER_TUPLE 2,160 0.0%
FOR_ITER_GEN 360 0.0%
FOR_ITER 60 0.0%

LOAD_ATTR_CLASS_WITH_METACLASS_CHECK

Successors and predecessors for LOAD_ATTR_CLASS_WITH_METACLASS_CHECK
Predecessors Count Percentage
LOAD_DEREF 540 100.0%
Successors Count Percentage
LOAD_FAST 360 66.7%
GET_ITER 180 33.3%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 76,677,260 74.3%
LOAD_FAST_LOAD_FAST 17,694,760 17.1%
STORE_FAST_LOAD_FAST 8,855,220 8.6%
LOAD_ATTR 60 0.0%
Successors Count Percentage
LOAD_FAST 26,542,080 25.7%
BINARY_SUBSCR_DICT 17,694,720 17.1%
YIELD_VALUE 14,254,080 13.8%
LOAD_GLOBAL_MODULE 11,796,480 11.4%
GET_ITER 8,847,360 8.6%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
STORE_FAST_LOAD_FAST 53,084,160 99.1%
LOAD_FAST 492,960 0.9%
LOAD_ATTR_INSTANCE_VALUE 80 0.0%
LOAD_ATTR 40 0.0%
Successors Count Percentage
LOAD_FAST 53,084,160 99.1%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 491,520 0.9%
LOAD_GLOBAL_MODULE 1,440 0.0%
LOAD_FAST_LOAD_FAST 60 0.0%
CALL_METHOD_DESCRIPTOR_NOARGS 40 0.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
STORE_FAST_LOAD_FAST 11,796,480 55.8%
LOAD_FAST 9,338,960 44.2%
LOAD_ATTR 40 0.0%
Successors Count Percentage
LOAD_FAST 12,288,060 58.1%
LOAD_FAST_LOAD_FAST 8,847,420 41.9%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 160 66.7%
LOAD_ATTR 80 33.3%
Successors Count Percentage
PUSH_NULL 240 100.0%

LOAD_CONST_IMMORTAL

Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors Count Percentage
LOAD_FAST 8,848,920 85.7%
STORE_ATTR_INSTANCE_VALUE 492,960 4.8%
POP_ITER 491,700 4.8%
POP_TOP 491,700 4.8%
LOAD_CONST_IMMORTAL 1,560 0.0%
Successors Count Percentage
BINARY_SUBSCR 8,847,360 85.7%
RETURN_VALUE 1,476,360 14.3%
LOAD_CONST_IMMORTAL 1,560 0.0%
LOAD_FAST 1,440 0.0%
STORE_FAST 120 0.0%

LOAD_CONST_MORTAL

Successors and predecessors for LOAD_CONST_MORTAL
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 8,847,360 100.0%
STORE_FAST 1,080 0.0%
BUILD_TUPLE 240 0.0%
POP_JUMP_IF_NOT_NONE 60 0.0%
Successors Count Percentage
MAKE_FUNCTION 8,847,600 100.0%
GET_ITER 1,080 0.0%
STORE_FAST 60 0.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
RESUME_CHECK 8,847,400 48.6%
RETURN_VALUE 8,847,360 48.6%
STORE_FAST 491,560 2.7%
LOAD_GLOBAL 60 0.0%
POP_ITER 40 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 8,847,360 48.6%
LOAD_CONST_MORTAL 8,847,360 48.6%
LOAD_FAST 491,640 2.7%
LOAD_SMALL_INT 60 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 11,796,480 96.0%
STORE_FAST 491,820 4.0%
LOAD_ATTR_METHOD_NO_DICT 1,440 0.0%
LOAD_GLOBAL 120 0.0%
RESUME_CHECK 80 0.0%
Successors Count Percentage
LOAD_ATTR 11,796,560 96.0%
LOAD_SMALL_INT 491,520 4.0%
LOAD_FAST_LOAD_FAST 1,500 0.0%
GET_ITER 180 0.0%
LOAD_ATTR_MODULE 160 0.0%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 21,135,600 58.1%
POP_TOP 8,847,540 24.3%
CACHE 5,898,300 16.2%
CALL_ALLOC_AND_ENTER_INIT 492,960 1.4%
FOR_ITER_GEN 360 0.0%
Successors Count Percentage
LOAD_FAST 21,135,900 58.1%
LOAD_GLOBAL_BUILTIN 8,847,400 24.3%
POP_TOP 5,898,600 16.2%
LOAD_FAST_LOAD_FAST 492,960 1.4%
LOAD_GLOBAL_MODULE 80 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 983,040 66.3%
LOAD_FAST_LOAD_FAST 500,160 33.7%
Successors Count Percentage
LOAD_CONST_IMMORTAL 492,960 33.2%
BUILD_LIST 491,520 33.1%
LOAD_FAST 491,520 33.1%
LOAD_FAST_LOAD_FAST 7,200 0.5%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
STORE_FAST_LOAD_FAST 14,254,080 99.1%
TO_BOOL_NONE 122,880 0.9%
Successors Count Percentage
POP_JUMP_IF_TRUE 14,254,080 99.1%
TO_BOOL_NONE 122,880 0.9%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
RETURN_VALUE 11,796,480 50.0%
COPY 11,796,480 50.0%
LOAD_FAST 40 0.0%
TO_BOOL 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 23,592,960 100.0%
POP_JUMP_IF_TRUE 60 0.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
STORE_FAST_LOAD_FAST 11,796,480 99.0%
TO_BOOL_ALWAYS_TRUE 122,880 1.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 11,796,480 99.0%
TO_BOOL_ALWAYS_TRUE 122,880 1.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
CALL_METHOD_DESCRIPTOR_NOARGS 40 66.7%
UNPACK_SEQUENCE 20 33.3%
Successors Count Percentage
STORE_FAST_STORE_FAST 60 100.0%

Specialization stats

Specialization stats by family

BINARY_OP

specialization stats for BINARY_OP family
Kind Count Ratio
hit

Specialized instructions that complete.

2,940 99.3%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

8,848,800 25.0%
hit

Specialized instructions that complete.

26,542,500 75.0%
Success Count Ratio
Success 20 0.9%
Failure 2,200 99.1%
Failure kind Count Ratio
out of range 2,160 98.2%
list slice 40 1.8%

CALL

specialization stats for CALL family
Kind Count Ratio
hit

Specialized instructions that complete.

102,239,820 100.0%
Success Count Ratio
Success 320 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.

11,796,480 55.8%
hit

Specialized instructions that complete.

9,338,940 44.2%
Success Count Ratio
Success 20 0.7%
Failure 2,880 99.3%
Failure kind Count Ratio
baseobject 2,880 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.

60 0.0%
hit

Specialized instructions that complete.

138,622,560 100.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

11,796,540 6.2%
hit

Specialized instructions that complete.

177,940,260 93.8%
miss

Specialized instructions that deopt.

540 0.0%
Success Count Ratio
Success 220 7.1%
Failure 2,900 92.9%
Failure kind Count Ratio
mutable class 2,880 99.3%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
hit

Specialized instructions that complete.

30,476,400 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.

1,483,200 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.

60 0.0%
hit

Specialized instructions that complete.

28,999,740 69.0%
miss

Specialized instructions that deopt.

13,025,280 31.0%
Success Count Ratio
Success 245,780 100.0%
Failure 20 0.0%
Failure kind Count Ratio
sequence 20 100.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
hit

Specialized instructions that complete.

60 75.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.

727,522,860 49.5%
Not specialized

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

32,450,760 2.2%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

697,529,280 47.4%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

13,025,820 0.9%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
LOAD_ATTR 11,796,540 36.4%
COMPARE_OP 11,796,480 36.4%
BINARY_SUBSCR 8,848,800 27.3%
TO_BOOL 60 0.0%
FOR_ITER 60 0.0%
BINARY_SLICE 0 0.0%
STORE_SLICE 0 0.0%
CACHE 0 0.0%
CALL_FUNCTION_EX 0 0.0%
END_FOR 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
TO_BOOL_ALWAYS_TRUE 6,512,640 50.0%
TO_BOOL_NONE 6,512,640 50.0%
LOAD_ATTR_CLASS_WITH_METACLASS_CHECK 540 0.0%
CACHE 0 0.0%
CALL_FUNCTION_EX 0 0.0%
END_FOR 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 14,745,840 32.6%
Calls to Python functions inlined 30,476,820 67.4%
Calls via PyEval_EvalFrame (total) 14,745,840 32.6%
Calls via PyEval_EvalFrame (vector) 240 0.0%
Calls via PyEval_EvalFrame (generator) 14,745,600 32.6%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 240 0.0%
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) 180 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0%
Frame objects created 0 0.0%
Frames pushed 30,969,480 68.5%

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 41,280,080 66.1%
Frees to freelist 41,279,980
Allocations 21,139,180 33.9%
Allocations to 512 bytes 20,156,140 32.3%
Allocations to 4 kbytes 983,040 1.6%
Allocations over 4 kbytes 0 0.0%
Frees 31,462,441
Inline values 492,960
Interpreter mortal increfs 516,634,680 49.9%
Interpreter mortal decrefs 601,662,700 52.3%
Mortal increfs 163,204,039 15.7%
Mortal decrefs 137,644,400 12.0%
Interpreter immortal increfs 248,245,380 24.0%
Interpreter immortal decrefs 219,258,720 19.1%
Immortal increfs 108,142,219 10.4%
Immortal decrefs 191,222,438 16.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 23,599,981
Method cache misses 39
Method cache collisions 23
Method cache dunder hits 180
Method cache dunder misses 0

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

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