Skip to content

Latest commit

 

History

History
11139 lines (10308 loc) · 207 KB

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

File metadata and controls

11139 lines (10308 loc) · 207 KB

Pystats results

  • benchmark: go
  • fork: python
  • ref: a19bb261a327e1008f219b62f6465941c981899b
  • commit hash: a19bb26
  • commit date: 2024-06-15T19:10:50+00:00

Execution counts

Execution counts for Tier 1 instructions.

The "miss ratio" column shows the percentage of times the instruction executed that it deoptimized. When this happens, the base unspecialized instruction is not counted.

Name Count Self Cumulative Miss ratio
LOAD_FAST 406,496,140 25.5% 25.5%
LOAD_ATTR_WITH_HINT 194,939,480 12.2% 37.7%
STORE_FAST 102,334,600 6.4% 44.1%
POP_JUMP_IF_FALSE 96,983,060 6.1% 50.2%
COMPARE_OP_INT 77,701,840 4.9% 55.1% 0.0%
LOAD_ATTR_INSTANCE_VALUE 59,314,180 3.7% 58.8%
RESUME_CHECK 54,716,980 3.4% 62.2% 0.0%
LOAD_ATTR_METHOD_WITH_VALUES 54,246,080 3.4% 65.6% 75.3%
LOAD_CONST 48,066,880 3.0% 68.6%
CALL_PY_EXACT_ARGS 42,562,180 2.7% 71.3%
RETURN_VALUE 42,167,040 2.6% 73.9%
STORE_ATTR_WITH_HINT 40,696,520 2.6% 76.5% 0.0%
LOAD_FAST_LOAD_FAST 39,240,700 2.5% 79.0%
COPY 35,411,060 2.2% 81.2%
LOAD_GLOBAL_MODULE 30,722,380 1.9% 83.1%
TO_BOOL_BOOL 29,594,060 1.9% 85.0% 1.0%
SWAP 25,411,300 1.6% 86.5%
ENTER_EXECUTOR 23,264,080 1.5% 88.0%
POP_TOP 21,639,360 1.4% 89.4%
RETURN_CONST 21,380,800 1.3% 90.7%
BINARY_SUBSCR_LIST_INT 17,450,280 1.1% 91.8% 0.3%
BINARY_OP_SUBTRACT_INT 15,058,120 0.9% 92.7%
STORE_ATTR_INSTANCE_VALUE 14,914,800 0.9% 93.7%
POP_JUMP_IF_TRUE 14,758,540 0.9% 94.6%
STORE_SUBSCR_LIST_INT 11,329,340 0.7% 95.3%
BINARY_OP_ADD_INT 11,090,120 0.7% 96.0% 0.0%
BINARY_OP 10,981,520 0.7% 96.7%
CALL_PY_GENERAL 8,443,640 0.5% 97.2%
GET_ITER 5,642,540 0.4% 97.6%
FOR_ITER_LIST 5,606,340 0.4% 97.9%
JUMP_FORWARD 4,643,560 0.3% 98.2%
TO_BOOL_INT 4,358,200 0.3% 98.5% 7.1%
LOAD_ATTR_METHOD_NO_DICT 4,186,920 0.3% 98.8%
CALL_KW 3,629,360 0.2% 99.0%
STORE_GLOBAL 3,457,280 0.2% 99.2%
LOAD_GLOBAL_BUILTIN 2,539,980 0.2% 99.4%
STORE_FAST_STORE_FAST 2,520,760 0.2% 99.5%
CALL_LIST_APPEND 2,478,300 0.2% 99.7%
CALL_LEN 2,390,860 0.1% 99.8%
CALL_METHOD_DESCRIPTOR_FAST 1,728,120 0.1% 99.9% 0.0%
CALL_BUILTIN_CLASS 148,160 0.0% 99.9%
LIST_APPEND 84,160 0.0% 99.9%
BUILD_LIST 77,920 0.0% 99.9%
PUSH_NULL 71,140 0.0% 100.0%
EXIT_INIT_CHECK 61,380 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 61,380 0.0% 100.0%
COMPARE_OP 61,220 0.0% 100.0%
BINARY_OP_MULTIPLY_INT 55,360 0.0% 100.0%
CALL_BUILTIN_O 48,260 0.0% 100.0%
LOAD_ATTR 48,160 0.0% 100.0%
LOAD_ATTR_MODULE 47,980 0.0% 100.0%
FOR_ITER_RANGE 46,780 0.0% 100.0%
LOAD_FAST_AND_CLEAR 45,280 0.0% 100.0%
STORE_FAST_LOAD_FAST 32,400 0.0% 100.0%
TO_BOOL_ALWAYS_TRUE 25,440 0.0% 100.0% 25.7%
TO_BOOL_NONE 22,860 0.0% 100.0% 36.9%
CALL_METHOD_DESCRIPTOR_NOARGS 21,240 0.0% 100.0%
CALL_BOUND_METHOD_GENERAL 20,000 0.0% 100.0%
IS_OP 19,980 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 19,980 0.0% 100.0%
CALL_NON_PY_GENERAL 16,880 0.0% 100.0%
STORE_ATTR 16,800 0.0% 100.0%
TO_BOOL_LIST 16,300 0.0% 100.0%
NOP 16,080 0.0% 100.0%
JUMP_BACKWARD 15,080 0.0% 100.0%
BINARY_OP_ADD_FLOAT 5,580 0.0% 100.0%
CALL_BUILTIN_FAST 5,580 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_O 4,100 0.0% 100.0%
CALL 3,760 0.0% 100.0%
LOAD_GLOBAL 3,720 0.0% 100.0%
BINARY_SUBSCR 3,480 0.0% 100.0%
COMPARE_OP_FLOAT 3,060 0.0% 100.0% 34.6%
FOR_ITER_TUPLE 2,060 0.0% 100.0%
UNARY_NOT 1,900 0.0% 100.0%
CONTAINS_OP_SET 1,880 0.0% 100.0%
UNPACK_SEQUENCE_TWO_TUPLE 1,640 0.0% 100.0%
TO_BOOL 960 0.0% 100.0%
FOR_ITER 800 0.0% 100.0%
RESUME 740 0.0% 100.0% 2.7%
LOAD_DEREF 240 0.0% 100.0%
STORE_SUBSCR 200 0.0% 100.0%
BUILD_TUPLE 160 0.0% 100.0%
COPY_FREE_VARS 160 0.0% 100.0%
CALL_ISINSTANCE 160 0.0% 100.0%
INTERPRETER_EXIT 140 0.0% 100.0%
CALL_FUNCTION_EX 80 0.0% 100.0%
CALL_TYPE_1 80 0.0% 100.0%
LOAD_SUPER_ATTR_METHOD 80 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 60 0.0% 100.0%
CONTAINS_OP 40 0.0% 100.0%
UNPACK_SEQUENCE 40 0.0% 100.0%
LOAD_SUPER_ATTR 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_WITH_HINT 178,901,760 11.2% 11.2%
STORE_FAST LOAD_FAST 86,772,540 5.4% 16.7%
POP_JUMP_IF_FALSE LOAD_FAST 81,041,880 5.1% 21.7%
COMPARE_OP_INT POP_JUMP_IF_FALSE 65,510,780 4.1% 25.8%
LOAD_ATTR_WITH_HINT LOAD_FAST 58,386,400 3.7% 29.5%
RESUME_CHECK LOAD_FAST 46,884,160 2.9% 32.4%
CALL_PY_EXACT_ARGS RESUME_CHECK 42,562,180 2.7% 35.1%
LOAD_ATTR_WITH_HINT COMPARE_OP_INT 41,904,280 2.6% 37.7%
LOAD_ATTR_WITH_HINT STORE_FAST 41,377,500 2.6% 40.3%
LOAD_FAST RETURN_VALUE 38,246,580 2.4% 42.7%
RETURN_VALUE STORE_FAST 37,160,560 2.3% 45.1%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 33,723,200 2.1% 47.2%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 33,325,260 2.1% 49.3%
STORE_ATTR_WITH_HINT LOAD_FAST 28,412,220 1.8% 51.0%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 27,070,340 1.7% 52.7%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 27,054,280 1.7% 54.4%
LOAD_FAST TO_BOOL_BOOL 26,153,820 1.6% 56.1%
LOAD_FAST CALL_PY_EXACT_ARGS 25,772,160 1.6% 57.7%
LOAD_FAST COPY 25,323,140 1.6% 59.3%
LOAD_ATTR_WITH_HINT LOAD_CONST 22,866,680 1.4% 60.7%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 22,490,500 1.4% 62.1%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 19,717,940 1.2% 63.4%
RETURN_CONST POP_TOP 17,941,320 1.1% 64.5%
LOAD_GLOBAL_MODULE COMPARE_OP_INT 17,781,520 1.1% 65.6%
LOAD_CONST BINARY_OP_SUBTRACT_INT 15,054,240 0.9% 66.5%
COPY LOAD_ATTR_WITH_HINT 14,375,460 0.9% 67.4%
SWAP STORE_ATTR_WITH_HINT 14,375,460 0.9% 68.3%
LOAD_FAST STORE_ATTR_WITH_HINT 13,684,600 0.9% 69.2%
COMPARE_OP_INT POP_JUMP_IF_TRUE 12,165,980 0.8% 70.0%
ENTER_EXECUTOR LOAD_ATTR_METHOD_WITH_VALUES 11,885,720 0.7% 70.7%
BINARY_OP_SUBTRACT_INT SWAP 11,517,300 0.7% 71.4%
LOAD_FAST STORE_SUBSCR_LIST_INT 11,329,240 0.7% 72.1%
COPY LOAD_ATTR_INSTANCE_VALUE 10,937,600 0.7% 72.8%
SWAP STORE_ATTR_INSTANCE_VALUE 10,937,600 0.7% 73.5%
BINARY_OP SWAP 10,929,600 0.7% 74.2%
BINARY_SUBSCR_LIST_INT BINARY_OP 10,929,380 0.7% 74.9%
LOAD_ATTR_WITH_HINT LOAD_GLOBAL_MODULE 10,464,120 0.7% 75.5%
POP_JUMP_IF_TRUE ENTER_EXECUTOR 10,359,960 0.6% 76.2%
LOAD_FAST BINARY_SUBSCR_LIST_INT 10,246,780 0.6% 76.8%
LOAD_FAST_LOAD_FAST STORE_ATTR_WITH_HINT 9,997,720 0.6% 77.5%
LOAD_CONST COMPARE_OP_INT 9,863,820 0.6% 78.1%
LOAD_CONST BINARY_OP_ADD_INT 9,700,940 0.6% 78.7%
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST 9,415,040 0.6% 79.3%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST_LOAD_FAST 8,534,760 0.5% 79.8%
CALL_PY_GENERAL RESUME_CHECK 8,443,640 0.5% 80.3%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_GENERAL 8,150,120 0.5% 80.8%
LOAD_GLOBAL_MODULE LOAD_FAST 7,931,000 0.5% 81.3%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_WITH_VALUES 7,849,660 0.5% 81.8%
POP_TOP LOAD_FAST 7,795,960 0.5% 82.3%
COPY STORE_FAST 7,550,160 0.5% 82.8%
STORE_FAST COPY 7,550,160 0.5% 83.3%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 7,278,020 0.5% 83.7%
LOAD_FAST LOAD_CONST 6,835,720 0.4% 84.2%
LOAD_FAST LOAD_GLOBAL_MODULE 6,740,780 0.4% 84.6%
STORE_ATTR_WITH_HINT ENTER_EXECUTOR 5,792,300 0.4% 84.9%
GET_ITER FOR_ITER_LIST 5,580,400 0.3% 85.3%
FOR_ITER_LIST STORE_FAST 5,572,280 0.3% 85.6%
LOAD_ATTR_WITH_HINT GET_ITER 5,493,120 0.3% 86.0%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 5,491,360 0.3% 86.3%
LOAD_ATTR_WITH_HINT BINARY_SUBSCR_LIST_INT 5,456,440 0.3% 86.7%
RESUME_CHECK LOAD_FAST_LOAD_FAST 5,375,360 0.3% 87.0%
STORE_SUBSCR_LIST_INT LOAD_FAST_LOAD_FAST 5,330,140 0.3% 87.3%
STORE_SUBSCR_LIST_INT RETURN_CONST 5,330,140 0.3% 87.7%
BINARY_OP_ADD_INT STORE_FAST 4,755,240 0.3% 88.0%
LOAD_ATTR_INSTANCE_VALUE COMPARE_OP_INT 4,730,160 0.3% 88.3%
TO_BOOL_INT POP_JUMP_IF_FALSE 4,338,460 0.3% 88.5%
LOAD_ATTR_INSTANCE_VALUE CALL_PY_EXACT_ARGS 4,244,680 0.3% 88.8%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 4,194,280 0.3% 89.1%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_NO_DICT 4,141,320 0.3% 89.3%
ENTER_EXECUTOR RETURN_CONST 4,038,900 0.3% 89.6%
POP_JUMP_IF_TRUE LOAD_FAST 3,804,440 0.2% 89.8%
POP_TOP RETURN_CONST 3,665,580 0.2% 90.1%
LOAD_CONST CALL_KW 3,629,360 0.2% 90.3%
LOAD_CONST LOAD_CONST 3,629,360 0.2% 90.5%
CALL_KW RESUME_CHECK 3,629,340 0.2% 90.7%
LOAD_CONST LOAD_FAST 3,597,360 0.2% 91.0%
LOAD_ATTR_WITH_HINT LOAD_ATTR_INSTANCE_VALUE 3,579,560 0.2% 91.2%
POP_JUMP_IF_FALSE ENTER_EXECUTOR 3,543,440 0.2% 91.4%
BINARY_SUBSCR_LIST_INT CALL_PY_EXACT_ARGS 3,521,040 0.2% 91.6%
BINARY_OP_ADD_INT STORE_GLOBAL 3,457,220 0.2% 91.8%
LOAD_GLOBAL_MODULE LOAD_CONST 3,457,220 0.2% 92.1%
STORE_FAST LOAD_FAST_LOAD_FAST 3,428,640 0.2% 92.3%
STORE_ATTR_WITH_HINT LOAD_CONST 3,413,980 0.2% 92.5%
LOAD_FAST_LOAD_FAST COMPARE_OP_INT 3,410,960 0.2% 92.7%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_CONST 3,367,180 0.2% 92.9%
STORE_ATTR_WITH_HINT LOAD_FAST_LOAD_FAST 3,076,840 0.2% 93.1%
RETURN_CONST TO_BOOL_BOOL 3,072,660 0.2% 93.3%
POP_TOP ENTER_EXECUTOR 3,000,940 0.2% 93.5%
BINARY_OP_ADD_INT SWAP 2,866,600 0.2% 93.7%
ENTER_EXECUTOR STORE_ATTR_WITH_HINT 2,638,120 0.2% 93.8%
ENTER_EXECUTOR RETURN_VALUE 2,591,260 0.2% 94.0%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_INSTANCE_VALUE 2,570,720 0.2% 94.2%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 2,548,660 0.2% 94.3%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 2,532,060 0.2% 94.5%
POP_TOP LOAD_CONST 2,516,800 0.2% 94.6%
COPY STORE_FAST_STORE_FAST 2,516,720 0.2% 94.8%
LOAD_CONST COPY 2,516,720 0.2% 94.9%
STORE_FAST_STORE_FAST LOAD_FAST 2,516,720 0.2% 95.1%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 2,505,960 0.2% 95.3%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 2,437,640 0.2% 95.4%

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 100 71.4%
RESUME_CHECK 40 28.6%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_FAST 2,000 57.5%
BINARY_SUBSCR_LIST_INT 1,080 31.0%
BINARY_SUBSCR 200 5.7%
RETURN_VALUE 40 1.1%
BINARY_OP 40 1.1%
Successors Count Percentage
STORE_FAST 1,780 51.1%
BINARY_SUBSCR_LIST_INT 1,340 38.5%
BINARY_SUBSCR 200 5.7%
BINARY_OP 60 1.7%
CALL 60 1.7%

EXIT_INIT_CHECK

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

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_ATTR_WITH_HINT 5,493,120 97.4%
LOAD_ATTR_INSTANCE_VALUE 71,420 1.3%
CALL_BUILTIN_CLASS 45,180 0.8%
LOAD_FAST 32,000 0.6%
LOAD_CONST 480 0.0%
Successors Count Percentage
FOR_ITER_LIST 5,580,400 98.9%
LOAD_FAST_AND_CLEAR 45,280 0.8%
FOR_ITER_RANGE 16,040 0.3%
FOR_ITER_TUPLE 460 0.0%
FOR_ITER 360 0.0%

INTERPRETER_EXIT

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

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
STORE_FAST 16,000 99.5%
POP_TOP 80 0.5%
Successors Count Percentage
LOAD_FAST 16,000 99.5%
LOAD_DEREF 80 0.5%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_CONST 17,941,320 82.9%
ENTER_EXECUTOR 1,918,220 8.9%
CALL_METHOD_DESCRIPTOR_FAST 1,728,120 8.0%
POP_JUMP_IF_TRUE 38,260 0.2%
POP_JUMP_IF_FALSE 7,300 0.0%
Successors Count Percentage
LOAD_FAST 7,795,960 36.0%
RETURN_CONST 3,665,580 16.9%
ENTER_EXECUTOR 3,000,940 13.9%
LOAD_CONST 2,516,800 11.6%
JUMP_FORWARD 1,712,100 7.9%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 47,920 67.4%
LOAD_FAST 23,000 32.3%
LOAD_ATTR 140 0.2%
LOAD_DEREF 80 0.1%
Successors Count Percentage
LOAD_FAST 28,440 40.0%
CALL_NON_PY_GENERAL 16,800 23.6%
LOAD_CONST 13,260 18.6%
LOAD_GLOBAL_BUILTIN 6,760 9.5%
LOAD_GLOBAL_MODULE 5,560 7.8%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
LOAD_FAST 38,246,580 90.7%
ENTER_EXECUTOR 2,591,260 6.1%
RETURN_VALUE 1,183,540 2.8%
EXIT_INIT_CHECK 61,380 0.1%
LOAD_GLOBAL_MODULE 57,580 0.1%
Successors Count Percentage
STORE_FAST 37,160,560 88.1%
TO_BOOL_INT 2,206,640 5.2%
RETURN_VALUE 1,183,540 2.8%
CALL_PY_EXACT_ARGS 1,154,160 2.7%
TO_BOOL_BOOL 310,080 0.7%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
LOAD_FAST 200 100.0%
Successors Count Percentage
STORE_SUBSCR_LIST_INT 100 50.0%
LOAD_FAST 60 30.0%
LOAD_FAST_LOAD_FAST 20 10.0%
RETURN_CONST 20 10.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 400 41.7%
COPY 200 20.8%
RETURN_CONST 120 12.5%
LOAD_ATTR 100 10.4%
LOAD_ATTR_INSTANCE_VALUE 80 8.3%
Successors Count Percentage
TO_BOOL_BOOL 240 25.0%
POP_JUMP_IF_FALSE 220 22.9%
POP_JUMP_IF_TRUE 220 22.9%
TO_BOOL_INT 140 14.6%
TO_BOOL_ALWAYS_TRUE 60 6.2%

UNARY_NOT

Successors and predecessors for UNARY_NOT
Predecessors Count Percentage
TO_BOOL_BOOL 1,880 98.9%
TO_BOOL 20 1.1%
Successors Count Percentage
COPY 1,900 100.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 10,929,380 99.5%
LOAD_FAST 16,840 0.2%
LOAD_ATTR_INSTANCE_VALUE 16,080 0.1%
BINARY_OP_MULTIPLY_INT 5,580 0.1%
CALL_BUILTIN_CLASS 5,580 0.1%
Successors Count Percentage
SWAP 10,929,600 99.5%
STORE_FAST 23,360 0.2%
CALL_BUILTIN_CLASS 16,680 0.2%
CALL_BUILTIN_O 5,560 0.1%
BINARY_OP 4,120 0.0%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
SWAP 45,280 58.1%
STORE_ATTR_INSTANCE_VALUE 16,140 20.7%
LOAD_FAST 16,000 20.5%
STORE_FAST_STORE_FAST 480 0.6%
STORE_ATTR 20 0.0%
Successors Count Percentage
SWAP 45,280 58.1%
LOAD_FAST 16,640 21.4%
STORE_FAST 16,000 20.5%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 160 100.0%
Successors Count Percentage
CALL_ISINSTANCE 120 75.0%
CALL 40 25.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 940 25.0%
LOAD_ATTR 640 17.0%
LOAD_ATTR_METHOD_WITH_VALUES 300 8.0%
PUSH_NULL 200 5.3%
LOAD_FAST_LOAD_FAST 200 5.3%
Successors Count Percentage
CALL_PY_EXACT_ARGS 840 22.3%
RESUME 600 16.0%
RESUME_CHECK 320 8.5%
CALL_BUILTIN_CLASS 240 6.4%
POP_TOP 220 5.9%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
LOAD_FAST 80 100.0%
Successors Count Percentage
COPY_FREE_VARS 80 100.0%

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
LOAD_CONST 3,629,360 100.0%
Successors Count Percentage
RESUME_CHECK 3,629,340 100.0%
RESUME 20 0.0%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
COMPARE_OP_INT 17,700 28.9%
RETURN_VALUE 16,000 26.1%
LOAD_CONST 12,320 20.1%
LOAD_FAST_LOAD_FAST 12,280 20.1%
COMPARE_OP 1,260 2.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 22,020 36.0%
ENTER_EXECUTOR 20,280 33.1%
STORE_FAST 16,000 26.1%
COMPARE_OP 1,260 2.1%
COMPARE_OP_INT 860 1.4%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_ATTR 20 50.0%
LOAD_ATTR_INSTANCE_VALUE 20 50.0%
Successors Count Percentage
RETURN_VALUE 20 50.0%
CONTAINS_OP_SET 20 50.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
LOAD_FAST 25,323,140 71.5%
STORE_FAST 7,550,160 21.3%
LOAD_CONST 2,516,720 7.1%
RETURN_VALUE 15,980 0.0%
SWAP 3,140 0.0%
Successors Count Percentage
LOAD_ATTR_WITH_HINT 14,375,460 40.6%
LOAD_ATTR_INSTANCE_VALUE 10,937,600 30.9%
STORE_FAST 7,550,160 21.3%
STORE_FAST_STORE_FAST 2,516,720 7.1%
STORE_FAST_LOAD_FAST 16,000 0.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_FUNCTION_EX 80 50.0%
CALL_BOUND_METHOD_GENERAL 60 37.5%
CALL 20 12.5%
Successors Count Percentage
RESUME_CHECK 140 87.5%
RESUME 20 12.5%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_JUMP_IF_TRUE 10,359,960 44.5%
STORE_ATTR_WITH_HINT 5,792,300 24.9%
POP_JUMP_IF_FALSE 3,543,440 15.2%
POP_TOP 3,000,940 12.9%
STORE_FAST 293,500 1.3%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 11,885,720 51.1%
RETURN_CONST 4,038,900 17.4%
STORE_ATTR_WITH_HINT 2,638,120 11.3%
RETURN_VALUE 2,591,260 11.1%
POP_TOP 1,918,220 8.2%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 360 45.0%
JUMP_BACKWARD 360 45.0%
SWAP 80 10.0%
Successors Count Percentage
STORE_FAST 340 42.5%
FOR_ITER_LIST 280 35.0%
FOR_ITER_RANGE 100 12.5%
RETURN_CONST 20 2.5%
STORE_FAST_LOAD_FAST 20 2.5%

IS_OP

Successors and predecessors for IS_OP
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 19,960 99.9%
LOAD_GLOBAL 20 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 19,980 100.0%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_JUMP_IF_TRUE 4,000 26.5%
POP_TOP 2,760 18.3%
STORE_FAST 2,380 15.8%
LIST_APPEND 1,500 9.9%
ENTER_EXECUTOR 1,080 7.2%
Successors Count Percentage
FOR_ITER_LIST 9,600 63.7%
FOR_ITER_TUPLE 1,580 10.5%
FOR_ITER_RANGE 1,500 9.9%
LOAD_FAST 820 5.4%
POP_TOP 400 2.7%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_FAST 2,019,600 43.5%
POP_TOP 1,712,100 36.9%
STORE_ATTR_INSTANCE_VALUE 893,040 19.2%
CALL_LIST_APPEND 15,980 0.3%
POP_JUMP_IF_TRUE 2,800 0.1%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,987,580 42.8%
LOAD_FAST 1,750,080 37.7%
LOAD_FAST_LOAD_FAST 904,400 19.5%
LOAD_CONST 1,480 0.0%
LOAD_GLOBAL 20 0.0%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
LOAD_FAST 41,620 49.5%
RETURN_VALUE 26,120 31.0%
LOAD_CONST 16,400 19.5%
CALL 20 0.0%
Successors Count Percentage
ENTER_EXECUTOR 82,660 98.2%
JUMP_BACKWARD 1,500 1.8%

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 45,480 94.4%
LOAD_ATTR 920 1.9%
LOAD_ATTR_INSTANCE_VALUE 500 1.0%
COPY 440 0.9%
LOAD_FAST_LOAD_FAST 280 0.6%
Successors Count Percentage
LOAD_FAST 21,060 43.7%
STORE_FAST 20,140 41.8%
LOAD_ATTR_INSTANCE_VALUE 1,860 3.9%
LOAD_ATTR 920 1.9%
LOAD_ATTR_WITH_HINT 860 1.8%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_ATTR_WITH_HINT 22,866,680 47.6%
LOAD_FAST 6,835,720 14.2%
LOAD_CONST 3,629,360 7.6%
LOAD_GLOBAL_MODULE 3,457,220 7.2%
STORE_ATTR_WITH_HINT 3,413,980 7.1%
Successors Count Percentage
BINARY_OP_SUBTRACT_INT 15,054,240 31.3%
COMPARE_OP_INT 9,863,820 20.5%
BINARY_OP_ADD_INT 9,700,940 20.2%
CALL_KW 3,629,360 7.6%
LOAD_CONST 3,629,360 7.6%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
NOP 80 33.3%
STORE_FAST 80 33.3%
LOAD_GLOBAL_BUILTIN 80 33.3%
Successors Count Percentage
PUSH_NULL 80 33.3%
LOAD_FAST 80 33.3%
STORE_FAST 80 33.3%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
STORE_FAST 86,772,540 21.3%
POP_JUMP_IF_FALSE 81,041,880 19.9%
LOAD_ATTR_WITH_HINT 58,386,400 14.4%
RESUME_CHECK 46,884,160 11.5%
LOAD_ATTR_METHOD_WITH_VALUES 33,325,260 8.2%
Successors Count Percentage
LOAD_ATTR_WITH_HINT 178,901,760 44.0%
RETURN_VALUE 38,246,580 9.4%
LOAD_ATTR_METHOD_WITH_VALUES 33,723,200 8.3%
TO_BOOL_BOOL 26,153,820 6.4%
CALL_PY_EXACT_ARGS 25,772,160 6.3%

LOAD_FAST_AND_CLEAR

Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors Count Percentage
GET_ITER 45,280 100.0%
Successors Count Percentage
SWAP 45,280 100.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
POP_JUMP_IF_FALSE 9,415,040 24.0%
LOAD_ATTR_METHOD_WITH_VALUES 8,534,760 21.7%
RESUME_CHECK 5,375,360 13.7%
STORE_SUBSCR_LIST_INT 5,330,140 13.6%
STORE_FAST 3,428,640 8.7%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 19,717,940 50.2%
STORE_ATTR_WITH_HINT 9,997,720 25.5%
CALL_PY_EXACT_ARGS 4,194,280 10.7%
COMPARE_OP_INT 3,410,960 8.7%
STORE_ATTR_INSTANCE_VALUE 1,859,640 4.7%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
LOAD_FAST 560 15.1%
POP_JUMP_IF_FALSE 520 14.0%
LOAD_ATTR 300 8.1%
LOAD_GLOBAL_BUILTIN 300 8.1%
LOAD_GLOBAL 260 7.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,380 37.1%
LOAD_GLOBAL_BUILTIN 600 16.1%
LOAD_FAST 420 11.3%
COMPARE_OP 340 9.1%
LOAD_GLOBAL 260 7.0%

LOAD_SUPER_ATTR

Successors and predecessors for LOAD_SUPER_ATTR
Predecessors Count Percentage
LOAD_FAST 20 100.0%
Successors Count Percentage
LOAD_SUPER_ATTR_METHOD 20 100.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 65,510,780 67.5%
TO_BOOL_BOOL 27,054,280 27.9%
TO_BOOL_INT 4,338,460 4.5%
COMPARE_OP 22,020 0.0%
IS_OP 19,980 0.0%
Successors Count Percentage
LOAD_FAST 81,041,880 83.6%
LOAD_FAST_LOAD_FAST 9,415,040 9.7%
ENTER_EXECUTOR 3,543,440 3.7%
LOAD_GLOBAL_MODULE 2,505,960 2.6%
RETURN_CONST 430,620 0.4%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 19,980 100.0%
Successors Count Percentage
LOAD_FAST 19,980 100.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
COMPARE_OP_INT 12,165,980 82.4%
TO_BOOL_BOOL 2,532,060 17.2%
TO_BOOL_NONE 22,720 0.2%
TO_BOOL_ALWAYS_TRUE 15,820 0.1%
TO_BOOL_INT 13,920 0.1%
Successors Count Percentage
ENTER_EXECUTOR 10,359,960 70.2%
LOAD_FAST 3,804,440 25.8%
LOAD_FAST_LOAD_FAST 529,920 3.6%
POP_TOP 38,260 0.3%
LOAD_GLOBAL_MODULE 15,960 0.1%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 5,491,360 25.7%
STORE_SUBSCR_LIST_INT 5,330,140 24.9%
ENTER_EXECUTOR 4,038,900 18.9%
POP_TOP 3,665,580 17.1%
CALL_LIST_APPEND 2,406,760 11.3%
Successors Count Percentage
POP_TOP 17,941,320 83.9%
TO_BOOL_BOOL 3,072,660 14.4%
TO_BOOL_INT 305,180 1.4%
EXIT_INIT_CHECK 61,380 0.3%
INTERPRETER_EXIT 140 0.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 8,880 52.9%
LOAD_FAST_LOAD_FAST 6,240 37.1%
STORE_ATTR 940 5.6%
SWAP 440 2.6%
STORE_ATTR_WITH_HINT 220 1.3%
Successors Count Percentage
LOAD_CONST 12,360 73.6%
STORE_ATTR 940 5.6%
LOAD_FAST 880 5.2%
STORE_ATTR_INSTANCE_VALUE 840 5.0%
STORE_ATTR_WITH_HINT 580 3.5%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
LOAD_ATTR_WITH_HINT 41,377,500 40.4%
RETURN_VALUE 37,160,560 36.3%
COPY 7,550,160 7.4%
FOR_ITER_LIST 5,572,280 5.4%
BINARY_OP_ADD_INT 4,755,240 4.6%
Successors Count Percentage
LOAD_FAST 86,772,540 84.8%
COPY 7,550,160 7.4%
LOAD_FAST_LOAD_FAST 3,428,640 3.4%
LOAD_GLOBAL_MODULE 2,227,160 2.2%
JUMP_FORWARD 2,019,600 2.0%

STORE_FAST_LOAD_FAST

Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors Count Percentage
FOR_ITER_LIST 16,380 50.6%
COPY 16,000 49.4%
FOR_ITER 20 0.1%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 16,360 50.5%
LOAD_ATTR_INSTANCE_VALUE 15,960 49.3%
LOAD_ATTR 80 0.2%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
COPY 2,516,720 99.8%
BINARY_OP_ADD_INT 1,640 0.1%
UNPACK_SEQUENCE_TWO_TUPLE 1,640 0.1%
BINARY_OP 500 0.0%
LOAD_FAST 240 0.0%
Successors Count Percentage
LOAD_FAST 2,516,720 99.8%
LOAD_CONST 1,660 0.1%
LOAD_FAST_LOAD_FAST 1,660 0.1%
BUILD_LIST 480 0.0%
JUMP_BACKWARD 240 0.0%

STORE_GLOBAL

Successors and predecessors for STORE_GLOBAL
Predecessors Count Percentage
BINARY_OP_ADD_INT 3,457,220 100.0%
BINARY_OP 60 0.0%
Successors Count Percentage
LOAD_FAST 1,745,200 50.5%
LOAD_GLOBAL_MODULE 1,712,040 49.5%
LOAD_GLOBAL 40 0.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
BINARY_OP_SUBTRACT_INT 11,517,300 45.3%
BINARY_OP 10,929,600 43.0%
BINARY_OP_ADD_INT 2,866,600 11.3%
BUILD_LIST 45,280 0.2%
LOAD_FAST_AND_CLEAR 45,280 0.2%
Successors Count Percentage
STORE_ATTR_WITH_HINT 14,375,460 56.6%
STORE_ATTR_INSTANCE_VALUE 10,937,600 43.0%
BUILD_LIST 45,280 0.2%
FOR_ITER_RANGE 29,140 0.1%
FOR_ITER_LIST 16,060 0.1%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
FOR_ITER 20 50.0%
FOR_ITER_TUPLE 20 50.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 20 50.0%
UNPACK_SEQUENCE_TWO_TUPLE 20 50.0%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 600 81.1%
CACHE 100 13.5%
CALL_KW 20 2.7%
COPY_FREE_VARS 20 2.7%
Successors Count Percentage
LOAD_FAST 420 56.8%
LOAD_GLOBAL 180 24.3%
LOAD_FAST_LOAD_FAST 80 10.8%
LOAD_CONST 60 8.1%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
CALL_BUILTIN_O 5,560 99.6%
BINARY_OP 20 0.4%
Successors Count Percentage
RETURN_VALUE 5,580 100.0%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 9,700,940 87.5%
LOAD_ATTR_WITH_HINT 1,364,760 12.3%
LOAD_ATTR_INSTANCE_VALUE 17,480 0.2%
LOAD_FAST_LOAD_FAST 3,240 0.0%
ENTER_EXECUTOR 1,920 0.0%
Successors Count Percentage
STORE_FAST 4,755,240 42.9%
STORE_GLOBAL 3,457,220 31.2%
SWAP 2,866,600 25.8%
CALL_BUILTIN_CLASS 5,560 0.1%
LOAD_FAST_LOAD_FAST 1,640 0.0%

BINARY_OP_MULTIPLY_INT

Successors and predecessors for BINARY_OP_MULTIPLY_INT
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 49,680 89.7%
LOAD_FAST 5,560 10.0%
BINARY_OP 120 0.2%
Successors Count Percentage
CALL_BUILTIN_CLASS 48,400 87.4%
BINARY_OP 5,580 10.1%
LOAD_FAST 1,300 2.3%
CALL 80 0.1%

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
STORE_FAST 60 100.0%

BINARY_OP_SUBTRACT_INT

Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors Count Percentage
LOAD_CONST 15,054,240 100.0%
LOAD_FAST_LOAD_FAST 3,720 0.0%
BINARY_OP 160 0.0%
Successors Count Percentage
SWAP 11,517,300 76.5%
STORE_FAST 1,812,780 12.0%
BINARY_SUBSCR_LIST_INT 1,728,000 11.5%
BINARY_SUBSCR 40 0.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 10,246,780 58.7%
LOAD_ATTR_WITH_HINT 5,456,440 31.3%
BINARY_OP_SUBTRACT_INT 1,728,000 9.9%
LOAD_GLOBAL_MODULE 16,440 0.1%
BINARY_SUBSCR 1,340 0.0%
Successors Count Percentage
BINARY_OP 10,929,380 62.6%
CALL_PY_EXACT_ARGS 3,521,040 20.2%
LOAD_FAST 1,728,040 9.9%
STORE_FAST 1,269,400 7.3%
CALL_LIST_APPEND 1,280 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
ENTER_EXECUTOR 27,300 44.5%
LOAD_FAST 17,380 28.3%
LOAD_GLOBAL_MODULE 16,080 26.2%
LOAD_FAST_LOAD_FAST 440 0.7%
CALL 140 0.2%
Successors Count Percentage
RESUME_CHECK 61,380 100.0%

CALL_BOUND_METHOD_GENERAL

Successors and predecessors for CALL_BOUND_METHOD_GENERAL
Predecessors Count Percentage
LOAD_CONST 13,180 65.9%
CALL_LEN 6,760 33.8%
CALL 60 0.3%
Successors Count Percentage
RESUME_CHECK 19,940 99.7%
COPY_FREE_VARS 60 0.3%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
BINARY_OP_MULTIPLY_INT 48,400 32.7%
CALL_BUILTIN_CLASS 32,240 21.8%
BINARY_OP 16,680 11.3%
LOAD_GLOBAL_BUILTIN 16,120 10.9%
LOAD_GLOBAL_MODULE 16,000 10.8%
Successors Count Percentage
LOAD_FAST 48,420 32.7%
GET_ITER 45,180 30.5%
CALL_BUILTIN_CLASS 32,240 21.8%
STORE_FAST 16,700 11.3%
BINARY_OP 5,580 3.8%

CALL_BUILTIN_FAST

Successors and predecessors for CALL_BUILTIN_FAST
Predecessors Count Percentage
LOAD_FAST 5,560 99.6%
CALL 20 0.4%
Successors Count Percentage
LOAD_CONST 5,580 100.0%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
LOAD_FAST 42,620 88.3%
BINARY_OP 5,560 11.5%
CALL 80 0.2%
Successors Count Percentage
STORE_FAST 42,680 88.4%
BINARY_OP_ADD_FLOAT 5,560 11.5%
BINARY_OP 20 0.0%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
BUILD_TUPLE 120 75.0%
CALL 40 25.0%
Successors Count Percentage
TO_BOOL_BOOL 120 75.0%
TO_BOOL 40 25.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 2,388,200 99.9%
LOAD_ATTR_WITH_HINT 2,540 0.1%
CALL 120 0.0%
Successors Count Percentage
LOAD_CONST 1,728,040 72.3%
LOAD_FAST 637,100 26.6%
STORE_FAST 16,380 0.7%
CALL_BOUND_METHOD_GENERAL 6,760 0.3%
COMPARE_OP_INT 2,540 0.1%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
LOAD_FAST 2,432,160 98.1%
ENTER_EXECUTOR 44,660 1.8%
BINARY_SUBSCR_LIST_INT 1,280 0.1%
CALL 100 0.0%
JUMP_BACKWARD 100 0.0%
Successors Count Percentage
RETURN_CONST 2,406,760 97.1%
ENTER_EXECUTOR 45,720 1.8%
JUMP_FORWARD 15,980 0.6%
LOAD_FAST 9,500 0.4%
JUMP_BACKWARD 340 0.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 1,728,000 100.0%
CALL 60 0.0%
LOAD_FAST 60 0.0%
Successors Count Percentage
POP_TOP 1,728,120 100.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 21,200 99.8%
CALL 40 0.2%
Successors Count Percentage
STORE_FAST 19,960 94.0%
POP_TOP 1,280 6.0%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 4,060 99.0%
CALL 40 1.0%
Successors Count Percentage
POP_TOP 4,100 100.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 16,800 99.5%
CALL 80 0.5%
Successors Count Percentage
LOAD_FAST 16,760 99.3%
POP_TOP 60 0.4%
STORE_FAST 60 0.4%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 25,772,160 60.6%
LOAD_ATTR_INSTANCE_VALUE 4,244,680 10.0%
LOAD_FAST_LOAD_FAST 4,194,280 9.9%
BINARY_SUBSCR_LIST_INT 3,521,040 8.3%
LOAD_ATTR_WITH_HINT 2,349,120 5.5%
Successors Count Percentage
RESUME_CHECK 42,562,180 100.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 8,150,120 96.5%
LOAD_FAST 293,480 3.5%
CALL 40 0.0%
Successors Count Percentage
RESUME_CHECK 8,443,640 100.0%

CALL_TYPE_1

Successors and predecessors for CALL_TYPE_1
Predecessors Count Percentage
LOAD_CONST 60 75.0%
CALL 20 25.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 60 75.0%
LOAD_GLOBAL 20 25.0%

COMPARE_OP_FLOAT

Successors and predecessors for COMPARE_OP_FLOAT
Predecessors Count Percentage
LOAD_FAST 2,220 72.5%
ENTER_EXECUTOR 820 26.8%
COMPARE_OP 20 0.7%
Successors Count Percentage
POP_JUMP_IF_TRUE 3,040 99.3%
COMPARE_OP 20 0.7%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_ATTR_WITH_HINT 41,904,280 53.9%
LOAD_GLOBAL_MODULE 17,781,520 22.9%
LOAD_CONST 9,863,820 12.7%
LOAD_ATTR_INSTANCE_VALUE 4,730,160 6.1%
LOAD_FAST_LOAD_FAST 3,410,960 4.4%
Successors Count Percentage
POP_JUMP_IF_FALSE 65,510,780 84.3%
POP_JUMP_IF_TRUE 12,165,980 15.7%
COMPARE_OP 17,700 0.0%
ENTER_EXECUTOR 7,380 0.0%

CONTAINS_OP_SET

Successors and predecessors for CONTAINS_OP_SET
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 1,860 98.9%
CONTAINS_OP 20 1.1%
Successors Count Percentage
RETURN_VALUE 1,880 100.0%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 5,580,400 99.5%
SWAP 16,060 0.3%
JUMP_BACKWARD 9,600 0.2%
FOR_ITER 280 0.0%
Successors Count Percentage
STORE_FAST 5,572,280 99.4%
RETURN_CONST 16,700 0.3%
STORE_FAST_LOAD_FAST 16,380 0.3%
LOAD_FAST 980 0.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
SWAP 29,140 62.3%
GET_ITER 16,040 34.3%
JUMP_BACKWARD 1,500 3.2%
FOR_ITER 100 0.2%
Successors Count Percentage
STORE_FAST 46,680 99.8%
SWAP 100 0.2%

FOR_ITER_TUPLE

Successors and predecessors for FOR_ITER_TUPLE
Predecessors Count Percentage
JUMP_BACKWARD 1,580 76.7%
GET_ITER 460 22.3%
FOR_ITER 20 1.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 1,620 78.6%
RETURN_CONST 420 20.4%
UNPACK_SEQUENCE 20 1.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 22,490,500 37.9%
LOAD_FAST_LOAD_FAST 19,717,940 33.2%
COPY 10,937,600 18.4%
LOAD_ATTR_WITH_HINT 3,579,560 6.0%
LOAD_ATTR_INSTANCE_VALUE 2,570,720 4.3%
Successors Count Percentage
LOAD_FAST 27,070,340 45.6%
LOAD_ATTR_METHOD_WITH_VALUES 7,849,660 13.2%
COMPARE_OP_INT 4,730,160 8.0%
CALL_PY_EXACT_ARGS 4,244,680 7.2%
LOAD_ATTR_METHOD_NO_DICT 4,141,320 7.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 4,141,320 98.9%
LOAD_FAST 45,380 1.1%
LOAD_ATTR 220 0.0%
Successors Count Percentage
LOAD_FAST 2,437,640 58.2%
CALL_METHOD_DESCRIPTOR_FAST 1,728,000 41.3%
CALL_METHOD_DESCRIPTOR_NOARGS 21,200 0.5%
CALL 80 0.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 33,723,200 62.2%
ENTER_EXECUTOR 11,885,720 21.9%
LOAD_ATTR_INSTANCE_VALUE 7,849,660 14.5%
LOAD_ATTR_METHOD_WITH_VALUES 770,200 1.4%
STORE_FAST_LOAD_FAST 16,360 0.0%
Successors Count Percentage
LOAD_FAST 33,325,260 61.4%
LOAD_FAST_LOAD_FAST 8,534,760 15.7%
CALL_PY_GENERAL 8,150,120 15.0%
LOAD_CONST 3,367,180 6.2%
LOAD_ATTR_METHOD_WITH_VALUES 770,200 1.4%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 47,820 99.7%
LOAD_ATTR 160 0.3%
Successors Count Percentage
PUSH_NULL 47,920 99.9%
STORE_FAST 60 0.1%

LOAD_ATTR_WITH_HINT

Successors and predecessors for LOAD_ATTR_WITH_HINT
Predecessors Count Percentage
LOAD_FAST 178,901,760 91.8%
COPY 14,375,460 7.4%
LOAD_ATTR_WITH_HINT 1,661,400 0.9%
LOAD_ATTR 860 0.0%
Successors Count Percentage
LOAD_FAST 58,386,400 30.0%
COMPARE_OP_INT 41,904,280 21.5%
STORE_FAST 41,377,500 21.2%
LOAD_CONST 22,866,680 11.7%
LOAD_GLOBAL_MODULE 10,464,120 5.4%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 1,733,560 68.3%
RESUME_CHECK 669,520 26.4%
STORE_ATTR_INSTANCE_VALUE 77,320 3.0%
LOAD_GLOBAL_BUILTIN 32,600 1.3%
POP_JUMP_IF_FALSE 16,480 0.6%
Successors Count Percentage
LOAD_FAST 2,396,600 94.4%
LOAD_GLOBAL_MODULE 81,080 3.2%
LOAD_GLOBAL_BUILTIN 32,600 1.3%
CALL_BUILTIN_CLASS 16,120 0.6%
LOAD_CONST 13,020 0.5%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_ATTR_WITH_HINT 10,464,120 34.1%
LOAD_FAST 6,740,780 21.9%
POP_JUMP_IF_FALSE 2,505,960 8.2%
STORE_FAST 2,227,160 7.2%
JUMP_FORWARD 1,987,580 6.5%
Successors Count Percentage
COMPARE_OP_INT 17,781,520 57.9%
LOAD_FAST 7,931,000 25.8%
LOAD_CONST 3,457,220 11.3%
CALL_PY_EXACT_ARGS 1,259,560 4.1%
RETURN_VALUE 57,580 0.2%

LOAD_SUPER_ATTR_METHOD

Successors and predecessors for LOAD_SUPER_ATTR_METHOD
Predecessors Count Percentage
LOAD_FAST 60 75.0%
LOAD_SUPER_ATTR 20 25.0%
Successors Count Percentage
LOAD_FAST 80 100.0%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 42,562,180 77.8%
CALL_PY_GENERAL 8,443,640 15.4%
CALL_KW 3,629,340 6.6%
CALL_ALLOC_AND_ENTER_INIT 61,380 0.1%
CALL_BOUND_METHOD_GENERAL 19,940 0.0%
Successors Count Percentage
LOAD_FAST 46,884,160 85.7%
LOAD_FAST_LOAD_FAST 5,375,360 9.8%
LOAD_GLOBAL_MODULE 1,765,140 3.2%
LOAD_GLOBAL_BUILTIN 669,520 1.2%
LOAD_CONST 22,620 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
SWAP 10,937,600 73.3%
LOAD_FAST 2,089,380 14.0%
LOAD_FAST_LOAD_FAST 1,859,640 12.5%
LOAD_ATTR_INSTANCE_VALUE 27,340 0.2%
STORE_ATTR 840 0.0%
Successors Count Percentage
LOAD_FAST 7,278,020 48.8%
RETURN_CONST 5,491,360 36.8%
LOAD_FAST_LOAD_FAST 928,040 6.2%
JUMP_FORWARD 893,040 6.0%
LOAD_CONST 130,600 0.9%

STORE_ATTR_WITH_HINT

Successors and predecessors for STORE_ATTR_WITH_HINT
Predecessors Count Percentage
SWAP 14,375,460 35.3%
LOAD_FAST 13,684,600 33.6%
LOAD_FAST_LOAD_FAST 9,997,720 24.6%
ENTER_EXECUTOR 2,638,120 6.5%
STORE_ATTR 580 0.0%
Successors Count Percentage
LOAD_FAST 28,412,220 69.8%
ENTER_EXECUTOR 5,792,300 14.2%
LOAD_CONST 3,413,980 8.4%
LOAD_FAST_LOAD_FAST 3,076,840 7.6%
JUMP_BACKWARD 960 0.0%

STORE_SUBSCR_LIST_INT

Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 11,329,240 100.0%
STORE_SUBSCR 100 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 5,330,140 47.0%
RETURN_CONST 5,330,140 47.0%
LOAD_FAST 669,060 5.9%

TO_BOOL_ALWAYS_TRUE

Successors and predecessors for TO_BOOL_ALWAYS_TRUE
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 13,980 55.0%
LOAD_FAST 9,240 36.3%
ENTER_EXECUTOR 2,020 7.9%
TO_BOOL_NONE 140 0.6%
TO_BOOL 60 0.2%
Successors Count Percentage
POP_JUMP_IF_TRUE 15,820 62.2%
POP_JUMP_IF_FALSE 9,500 37.3%
TO_BOOL_NONE 120 0.5%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
LOAD_FAST 26,153,820 88.4%
RETURN_CONST 3,072,660 10.4%
RETURN_VALUE 310,080 1.0%
LOAD_ATTR_WITH_HINT 33,180 0.1%
LOAD_ATTR_INSTANCE_VALUE 16,280 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 27,054,280 91.4%
POP_JUMP_IF_TRUE 2,532,060 8.6%
TO_BOOL_INT 5,840 0.0%
UNARY_NOT 1,880 0.0%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
RETURN_VALUE 2,206,640 50.6%
LOAD_FAST 1,830,920 42.0%
RETURN_CONST 305,180 7.0%
COPY 9,480 0.2%
TO_BOOL_BOOL 5,840 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 4,338,460 99.5%
POP_JUMP_IF_TRUE 13,920 0.3%
TO_BOOL_BOOL 5,820 0.1%

TO_BOOL_LIST

Successors and predecessors for TO_BOOL_LIST
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 16,280 99.9%
TO_BOOL 20 0.1%
Successors Count Percentage
POP_JUMP_IF_FALSE 16,300 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_FAST 18,060 79.0%
LOAD_ATTR_INSTANCE_VALUE 2,660 11.6%
ENTER_EXECUTOR 1,940 8.5%
TO_BOOL_ALWAYS_TRUE 120 0.5%
TO_BOOL 40 0.2%
Successors Count Percentage
POP_JUMP_IF_TRUE 22,720 99.4%
TO_BOOL_ALWAYS_TRUE 140 0.6%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
FOR_ITER_TUPLE 1,620 98.8%
UNPACK_SEQUENCE 20 1.2%
Successors Count Percentage
STORE_FAST_STORE_FAST 1,640 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.

10,979,720 29.5%
hit

Specialized instructions that complete.

26,206,060 70.5%
miss

Specialized instructions that deopt.

3,180 0.0%
Success Count Ratio
Success 820 16.5%
Failure 4,160 83.5%
Failure kind Count Ratio
xor 3,200 76.9%
add different types 400 9.6%
true divide different types 280 6.7%
multiply different types 160 3.8%
floor divide 60 1.4%
remainder 60 1.4%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

58,260 0.3%
hit

Specialized instructions that complete.

17,392,880 99.7%
miss

Specialized instructions that deopt.

57,400 0.3%
Success Count Ratio
Success 1,340 51.1%
Failure 1,280 48.9%
Failure kind Count Ratio
out of range 1,280 100.0%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

1,920 0.0%
hit

Specialized instructions that complete.

49,448,340 100.0%
miss

Specialized instructions that deopt.

80 0.0%
Success Count Ratio
Success 1,920 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.

66,380 0.1%
hit

Specialized instructions that complete.

77,697,480 99.9%
miss

Specialized instructions that deopt.

7,420 0.0%
Success Count Ratio
Success 880 38.9%
Failure 1,380 61.1%
Failure kind Count Ratio
big int 960 69.6%
bool 160 11.6%
long float 160 11.6%
float long 100 7.2%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Count Ratio
deferred

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

20 1.0%
hit

Specialized instructions that complete.

1,880 97.9%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

400 0.0%
hit

Specialized instructions that complete.

5,655,180 100.0%
Success Count Ratio
Success 400 100.0%
Failure 0 0.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

40,097,260 12.8%
hit

Specialized instructions that complete.

271,911,080 86.9%
miss

Specialized instructions that deopt.

40,823,560 13.1%
Success Count Ratio
Success 774,140 100.0%
Failure 320 0.0%
Failure kind Count Ratio
method 160 50.0%
not managed dict 160 50.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

1,740 0.0%
hit

Specialized instructions that complete.

33,262,360 100.0%
Success Count Ratio
Success 1,980 100.0%
Failure 0 0.0%

LOAD_SUPER_ATTR

specialization stats for LOAD_SUPER_ATTR family
Kind Count Ratio
hit

Specialized instructions that complete.

80 80.0%
Success Count Ratio
Success 20 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

POP_JUMP_IF_NOT_NONE

specialization stats for POP_JUMP_IF_NOT_NONE family

POP_JUMP_IF_TRUE

specialization stats for POP_JUMP_IF_TRUE family

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

26,960 0.0%
hit

Specialized instructions that complete.

55,598,580 99.9%
miss

Specialized instructions that deopt.

12,740 0.0%
Success Count Ratio
Success 1,420 55.0%
Failure 1,160 45.0%
Failure kind Count Ratio
not in dict 1,060 91.4%
not in keys 60 5.2%
non string or split 40 3.4%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

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

100 0.0%
hit

Specialized instructions that complete.

11,329,340 100.0%
Success Count Ratio
Success 100 100.0%
Failure 0 0.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

621,900 1.8%
hit

Specialized instructions that complete.

33,364,600 98.1%
miss

Specialized instructions that deopt.

633,360 1.9%
Success Count Ratio
Success 12,420 100.0%
Failure 0 0.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

20 1.2%
hit

Specialized instructions that complete.

1,640 97.6%
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.

785,732,300 49.3%
Not specialized

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

122,882,300 7.7%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

645,085,880 40.4%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

41,537,760 2.6%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
LOAD_ATTR 40,097,260 77.3%
BINARY_OP 10,979,720 21.2%
TO_BOOL 621,900 1.2%
COMPARE_OP 66,380 0.1%
BINARY_SUBSCR 58,260 0.1%
STORE_ATTR 26,960 0.1%
CALL 1,920 0.0%
LOAD_GLOBAL 1,740 0.0%
FOR_ITER 400 0.0%
STORE_SUBSCR 100 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
LOAD_ATTR_METHOD_WITH_VALUES 40,823,560 98.3%
TO_BOOL_BOOL 309,520 0.7%
TO_BOOL_INT 308,860 0.7%
BINARY_SUBSCR_LIST_INT 57,400 0.1%
STORE_ATTR_WITH_HINT 12,740 0.0%
TO_BOOL_NONE 8,440 0.0%
TO_BOOL_ALWAYS_TRUE 6,540 0.0%
COMPARE_OP_INT 6,360 0.0%
BINARY_OP_ADD_INT 3,180 0.0%
COMPARE_OP_FLOAT 1,060 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 140 0.0%
Calls to Python functions inlined 73,748,660 100.0%
Calls via PyEval_EvalFrame (total) 140 0.0%
Calls via PyEval_EvalFrame (vector) 140 0.0%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 140 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) 80 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 73,810,180 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 13,331,380 30.9%
Frees to freelist 13,330,320
Allocations 29,862,460 69.1%
Allocations to 512 bytes 29,780,880 68.9%
Allocations to 4 kbytes 65,540 0.2%
Allocations over 4 kbytes 16,040 0.0%
Frees 29,806,448
Inline values 61,520
Interpreter increfs 916,884,400 87.8%
Interpreter decrefs 999,744,320 92.0%
Increfs 127,223,280 12.2%
Decrefs 87,242,191 8.0%
Materialize dict (on request) 0 0.0%
Materialize dict (new key) 12,960 21.1%
Materialize dict (too big) 0 0.0%
Materialize dict (str subclass) 0 0.0%
Method cache hits 43,568,995
Method cache misses 1,365
Method cache collisions 963
Method cache dunder hits 400
Method cache dunder misses 200

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

Generation Collections Objects collected Object visits
0 0 0 0
1 0 45,960 4,112,120
2 0 0 0

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer
Count Ratio
Optimization attempts

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

7,380
Traces created

The number of traces that were successfully created.

1,760 23.8%
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.

4,460 60.4%
Trace too long

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

0 0.0%
Trace too short

A potential trace is abandoced because it it too short.

5,620 76.2%
Inner loop found

A trace is truncated because it has an inner loop

1,420 19.2%
Recursive call

A trace is truncated because it has a recursive call.

120 1.6%
Low confidence

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

200 2.7%
Executors invalidated

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

220 12.5%
Traces executed

The number of traces that were executed

53,477,640
Uops executed

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

1,478,632,080 2,765.0%
Count Ratio
Optimizer attempts

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

1,760
Optimizer successes

The number of traces that were successfully optimized.

1,760 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 120 6.8%
<= 16 220 12.5%
<= 32 300 17.0%
<= 64 420 23.9%
<= 128 500 28.4%
<= 256 160 9.1%
<= 512 40 2.3%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 60 3.4%
<= 8 220 12.5%
<= 16 280 15.9%
<= 32 460 26.1%
<= 64 160 9.1%
<= 128 540 30.7%
<= 256 20 1.1%
<= 512 20 1.1%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 1,129,140 2.1%
<= 8 11,339,020 21.2%
<= 16 4,659,780 8.7%
<= 32 15,030,280 28.1%
<= 64 2,694,100 5.0%
<= 128 5,340,220 10.0%
<= 256 1,802,500 3.4%
<= 512 17,400 0.0%
<= 1,024 21,680 0.0%
<= 2,048 40,480 0.1%
<= 4,096 12,880 0.0%
<= 8,192 9,040 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_GUARD_TYPE_VERSION 120,753,500 8.2% 8.2% 0.0%
_SET_IP 49,863,100 3.4% 11.5%
_LOAD_FAST_0 49,033,640 3.3% 14.9%
_CHECK_MANAGED_OBJECT_HAS_VALUES 44,324,520 3.0% 17.9%
_LOAD_ATTR_INSTANCE_VALUE_0 44,324,520 3.0% 20.9%
_GUARD_GLOBALS_VERSION 42,829,280 2.9% 23.7%
_START_EXECUTOR 42,096,520 2.8% 26.6%
_CHECK_ATTR_WITH_HINT 38,738,060 2.6% 29.2%
_LOAD_ATTR_WITH_HINT 38,738,060 2.6% 31.8%
_TIER2_RESUME_CHECK 36,396,560 2.5% 34.3%
_LOAD_GLOBAL_MODULE 36,062,180 2.4% 36.7%
_LOAD_FAST_1 35,463,920 2.4% 39.1%
_GUARD_NOT_EXHAUSTED_LIST 34,774,980 2.4% 41.5% 19.1%
_ITER_CHECK_LIST 34,774,980 2.4% 43.8%
_GUARD_BOTH_INT 34,665,320 2.3% 46.2%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 31,940,220 2.2% 48.3% 37.2%
_CHECK_VALIDITY 30,866,920 2.1% 50.4% 0.0%
_EXIT_TRACE 30,210,600 2.0% 52.5%
_ITER_NEXT_LIST 28,148,680 1.9% 54.4%
_COMPARE_OP_INT 27,484,500 1.9% 56.2%
_LOAD_FAST 26,612,340 1.8% 58.0%
_LOAD_FAST_3 26,525,840 1.8% 59.8%
_LOAD_FAST_2 26,372,060 1.8% 61.6%
_GUARD_IS_TRUE_POP 25,869,620 1.7% 63.4% 26.9%
_POP_TOP 23,667,940 1.6% 65.0%
_STORE_FAST_2 23,538,240 1.6% 66.6%
_GUARD_IS_FALSE_POP 23,509,120 1.6% 68.1% 15.3%
_GUARD_KEYS_VERSION 20,054,400 1.4% 69.5%
_LOAD_ATTR_METHOD_WITH_VALUES 20,054,400 1.4% 70.9%
_STORE_FAST 19,558,340 1.3% 72.2%
_LOAD_CONST_INLINE_BORROW 19,508,700 1.3% 73.5%
_RESUME_CHECK 19,031,080 1.3% 74.8%
_PUSH_FRAME 19,031,080 1.3% 76.1%
_SAVE_RETURN_OFFSET 19,031,080 1.3% 77.4%
_CHECK_FUNCTION_EXACT_ARGS 18,996,180 1.3% 78.6%
_STORE_FAST_3 16,657,140 1.1% 79.8%
_COPY 14,343,020 1.0% 80.7%
_BINARY_OP_ADD_INT 12,524,200 0.8% 81.6%
_CHECK_PERIODIC 12,144,240 0.8% 82.4%
_DEOPT 11,885,920 0.8% 83.2%
_TO_BOOL_BOOL 11,512,900 0.8% 84.0%
_COLD_EXIT 11,381,120 0.8% 84.8%
_TO_BOOL_INT 10,621,960 0.7% 85.5%
_POP_FRAME 10,262,340 0.7% 86.2%
_BINARY_SUBSCR_LIST_INT 10,145,580 0.7% 86.9%
_CHECK_STACK_SPACE_OPERAND 10,140,920 0.7% 87.5%
_INIT_CALL_PY_EXACT_ARGS_1 10,113,000 0.7% 88.2%
_GUARD_NOS_INT 9,604,540 0.6% 88.9% 5.9%
_INIT_CALL_PY_EXACT_ARGS_0 8,838,420 0.6% 89.5%
_JUMP_TO_TOP 8,468,980 0.6% 90.0%
_BINARY_OP 7,779,780 0.5% 90.6%
_LOAD_FAST_4 7,185,220 0.5% 91.1%
_STORE_FAST_1 6,820,200 0.5% 91.5%
_LOAD_GLOBAL_BUILTINS 6,767,100 0.5% 92.0%
_LOAD_FAST_6 6,341,060 0.4% 92.4%
_PUSH_NULL 5,779,820 0.4% 92.8%
_CHECK_ATTR_MODULE 5,734,040 0.4% 93.2%
_LOAD_ATTR_MODULE 5,734,040 0.4% 93.6%
_CHECK_VALIDITY_AND_SET_IP 5,711,360 0.4% 94.0%
_BINARY_OP_SUBTRACT_INT 5,029,640 0.3% 94.3%
_STORE_GLOBAL 4,739,520 0.3% 94.6%
_CALL_BUILTIN_CLASS 4,590,560 0.3% 94.9%
_SWAP 4,086,860 0.3% 95.2%
_GUARD_DORV_NO_DICT 3,894,120 0.3% 95.5%
_STORE_ATTR_INSTANCE_VALUE 3,894,120 0.3% 95.7%
_LOAD_FAST_5 3,877,240 0.3% 96.0%
_CALL_NON_PY_GENERAL 3,478,960 0.2% 96.2%
_CHECK_IS_NOT_PY_CALLABLE 3,478,960 0.2% 96.5%
_GET_ITER 3,315,620 0.2% 96.7%
_GUARD_NOT_EXHAUSTED_RANGE 3,112,880 0.2% 96.9% 0.9%
_ITER_CHECK_RANGE 3,112,880 0.2% 97.1%
_ITER_NEXT_RANGE 3,083,700 0.2% 97.3%
_STORE_FAST_4 3,073,900 0.2% 97.5%
_STORE_ATTR 2,599,460 0.2% 97.7%
_LIST_APPEND 2,547,120 0.2% 97.9%
_UNARY_NOT 2,514,820 0.2% 98.0%
_CONTAINS_OP_SET 2,514,820 0.2% 98.2%
_LOAD_FAST_7 2,514,820 0.2% 98.4%
_CHECK_FUNCTION 2,236,480 0.2% 98.5%
_CALL_LEN 2,176,540 0.1% 98.7%
_TO_BOOL_NONE 2,060,680 0.1% 98.8% 51.8%
_LOAD_ATTR_METHOD_NO_DICT 1,818,620 0.1% 98.9%
_CALL_METHOD_DESCRIPTOR_O 1,724,100 0.1% 99.1%
_STORE_FAST_6 1,543,540 0.1% 99.2%
_STORE_FAST_5 1,272,120 0.1% 99.3%
_GUARD_TOS_INT 1,221,820 0.1% 99.3%
_CALL_BUILTIN_O 1,189,260 0.1% 99.4%
_BINARY_OP_MULTIPLY_INT 1,156,360 0.1% 99.5%
_BINARY_OP_ADD_FLOAT 1,111,600 0.1% 99.6%
_CALL_BUILTIN_FAST 1,111,600 0.1% 99.6%
_GUARD_BOTH_FLOAT 1,111,600 0.1% 99.7%
_TO_BOOL 1,089,940 0.1% 99.8%
_GUARD_TOS_FLOAT 1,051,680 0.1% 99.9% 1.7%
_COMPARE_OP_FLOAT 1,034,060 0.1% 99.9%
_COMPARE_OP 99,260 0.0% 99.9%
_LOAD_ATTR 69,800 0.0% 99.9%
_GUARD_NOT_EXHAUSTED_TUPLE 62,720 0.0% 100.0% 20.0%
_ITER_CHECK_TUPLE 62,720 0.0% 100.0%
_UNPACK_SEQUENCE_TWO_TUPLE 50,180 0.0% 100.0%
_ITER_NEXT_TUPLE 50,180 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_NOARGS 49,760 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_2 44,760 0.0% 100.0%
_CHECK_STACK_SPACE 44,100 0.0% 100.0%
_LOAD_CONST_INLINE 41,200 0.0% 100.0%
_LOAD_CONST_INLINE_WITH_NULL 41,020 0.0% 100.0%
_IS_OP 34,900 0.0% 100.0%
_LOAD_CONST 34,900 0.0% 100.0%
_CHECK_METHOD_VERSION 34,900 0.0% 100.0%
_CHECK_PEP_523 34,900 0.0% 100.0%
_EXPAND_METHOD 34,900 0.0% 100.0%
_GUARD_IS_NONE_POP 34,900 0.0% 100.0%
_PY_FRAME_GENERAL 34,900 0.0% 100.0%
_REPLACE_WITH_TRUE 18,620 0.0% 100.0%
_LOAD_GLOBAL 14,400 0.0% 100.0%
_BUILD_LIST 12,480 0.0% 100.0%
_TO_BOOL_LIST 9,200 0.0% 100.0%

Pair counts

Pair counts for top 100 Non-JIT uop pairs

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

Pair Count Self Cumulative
_LOAD_FAST_0 _GUARD_TYPE_VERSION 44,976,880 3.0% 3.0%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 44,324,520 3.0% 6.0%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 44,324,520 3.0% 9.0%
_CHECK_ATTR_WITH_HINT _LOAD_ATTR_WITH_HINT 38,738,060 2.6% 11.7%
_GUARD_TYPE_VERSION _CHECK_ATTR_WITH_HINT 38,738,060 2.6% 14.3%
_GUARD_GLOBALS_VERSION _LOAD_GLOBAL_MODULE 36,062,180 2.4% 16.7%
_ITER_CHECK_LIST _GUARD_NOT_EXHAUSTED_LIST 34,774,980 2.4% 19.1%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 31,940,220 2.2% 21.2%
_TIER2_RESUME_CHECK _ITER_CHECK_LIST 31,471,840 2.1% 23.4%
_GUARD_NOT_EXHAUSTED_LIST _ITER_NEXT_LIST 28,148,680 1.9% 25.3%
_START_EXECUTOR _TIER2_RESUME_CHECK 27,930,220 1.9% 27.1%
_GUARD_BOTH_INT _COMPARE_OP_INT 26,194,680 1.8% 28.9%
_LOAD_GLOBAL_MODULE _GUARD_BOTH_INT 21,676,840 1.5% 30.4%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 20,054,400 1.4% 31.7%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 20,054,400 1.4% 33.1%
_SAVE_RETURN_OFFSET _PUSH_FRAME 19,031,080 1.3% 34.4%
_PUSH_FRAME _RESUME_CHECK 18,996,180 1.3% 35.7%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 18,961,280 1.3% 37.0%
_COMPARE_OP_INT _GUARD_IS_TRUE_POP 17,103,600 1.2% 38.1%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TYPE_VERSION 16,029,480 1.1% 39.2%
_STORE_FAST _LOAD_FAST 14,528,700 1.0% 40.2%
_LOAD_FAST_2 _GUARD_TYPE_VERSION 14,394,020 1.0% 41.1%
_LOAD_FAST_1 _GUARD_TYPE_VERSION 12,803,900 0.9% 42.0%
_LOAD_FAST_3 _GUARD_TYPE_VERSION 12,277,340 0.8% 42.8%
_STORE_FAST_3 _LOAD_FAST_3 11,944,220 0.8% 43.7%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _DEOPT 11,885,820 0.8% 44.5%
_LOAD_FAST _GUARD_TYPE_VERSION 11,743,460 0.8% 45.3%
_LOAD_ATTR_WITH_HINT _GUARD_GLOBALS_VERSION 11,566,480 0.8% 46.0%
_CHECK_PERIODIC _CHECK_VALIDITY 11,032,640 0.7% 46.8%
_ITER_NEXT_LIST _STORE_FAST_2 10,442,520 0.7% 47.5%
_STORE_FAST_2 _LOAD_FAST_2 10,261,640 0.7% 48.2%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 10,140,920 0.7% 48.9%
_COMPARE_OP_INT _GUARD_IS_FALSE_POP 10,121,420 0.7% 49.6%
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET 10,113,000 0.7% 50.2%
_LOAD_CONST_INLINE_BORROW _GUARD_NOS_INT 9,604,540 0.6% 50.9%
_STORE_FAST_2 _LOAD_FAST_0 9,529,860 0.6% 51.5%
_GUARD_NOS_INT _BINARY_OP_ADD_INT 9,038,340 0.6% 52.1%
_INIT_CALL_PY_EXACT_ARGS_0 _SAVE_RETURN_OFFSET 8,838,420 0.6% 52.7%
_LOAD_ATTR_METHOD_WITH_VALUES _SET_IP 8,838,420 0.6% 53.3%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 8,466,340 0.6% 53.9%
_COPY _TO_BOOL_INT 7,782,520 0.5% 54.4%
_RESUME_CHECK _LOAD_FAST_0 7,725,640 0.5% 55.0%
_ITER_NEXT_LIST _STORE_FAST_3 7,612,020 0.5% 55.5%
_LOAD_FAST_1 _SET_IP 7,401,720 0.5% 56.0%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_0 7,095,700 0.5% 56.5%
_CHECK_FUNCTION_EXACT_ARGS _INIT_CALL_PY_EXACT_ARGS_1 7,057,220 0.5% 56.9%
_GUARD_IS_TRUE_POP _EXIT_TRACE 6,958,380 0.5% 57.4%
_SET_IP _BINARY_OP 6,668,180 0.5% 57.9%
_GUARD_NOT_EXHAUSTED_LIST _EXIT_TRACE 6,626,300 0.4% 58.3%
_TO_BOOL_BOOL _GUARD_IS_FALSE_POP 6,483,260 0.4% 58.7%
_RESUME_CHECK _GUARD_GLOBALS_VERSION 6,467,260 0.4% 59.2%
_LOAD_ATTR_INSTANCE_VALUE_0 _SET_IP 6,010,560 0.4% 59.6%
_ITER_NEXT_LIST _STORE_FAST 6,006,940 0.4% 60.0%
_LOAD_ATTR_WITH_HINT _STORE_FAST 6,006,940 0.4% 60.4%
_LOAD_FAST _GUARD_GLOBALS_VERSION 6,006,940 0.4% 60.8%
_BINARY_OP_ADD_INT _SET_IP 5,851,120 0.4% 61.2%
_LOAD_FAST_2 _SET_IP 5,851,020 0.4% 61.6%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_0 5,849,620 0.4% 62.0%
_GUARD_IS_TRUE_POP _LOAD_FAST_3 5,768,800 0.4% 62.4%
_TO_BOOL_INT _GUARD_IS_FALSE_POP 5,749,760 0.4% 62.8%
_GUARD_IS_FALSE_POP _LOAD_FAST 5,736,520 0.4% 63.2%
_CHECK_ATTR_MODULE _LOAD_ATTR_MODULE 5,734,040 0.4% 63.5%
_LOAD_ATTR_MODULE _PUSH_NULL 5,734,040 0.4% 63.9%
_LOAD_GLOBAL_MODULE _CHECK_ATTR_MODULE 5,734,040 0.4% 64.3%
_GUARD_IS_TRUE_POP _POP_TOP 5,713,500 0.4% 64.7%
_GUARD_IS_FALSE_POP _EXIT_TRACE 5,369,700 0.4% 65.1%
_POP_TOP _LOAD_CONST_INLINE_BORROW 5,359,840 0.4% 65.4%
_LOAD_CONST_INLINE_BORROW _POP_FRAME 5,359,840 0.4% 65.8%
_POP_FRAME _POP_TOP 5,359,840 0.4% 66.2%
_BINARY_SUBSCR_LIST_INT _STORE_FAST_2 5,329,380 0.4% 66.5%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_1 5,329,380 0.4% 66.9%
_LOAD_FAST_1 _BINARY_SUBSCR_LIST_INT 5,329,380 0.4% 67.2%
_GUARD_IS_FALSE_POP _POP_TOP 5,074,400 0.3% 67.6%
_BINARY_OP_SUBTRACT_INT _STORE_FAST 5,029,640 0.3% 67.9%
_GUARD_BOTH_INT _BINARY_OP_SUBTRACT_INT 5,029,640 0.3% 68.3%
_START_EXECUTOR _POP_TOP 4,787,780 0.3% 68.6%
_RESUME_CHECK _LOAD_FAST_1 4,784,180 0.3% 68.9%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_2 4,771,440 0.3% 69.2%
_CHECK_VALIDITY _LOAD_FAST_0 4,751,900 0.3% 69.6%
_STORE_GLOBAL _CHECK_VALIDITY 4,739,520 0.3% 69.9%
_SET_IP _STORE_GLOBAL 4,739,520 0.3% 70.2%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_2 4,739,420 0.3% 70.5%
_LOAD_ATTR_WITH_HINT _TO_BOOL_BOOL 4,739,420 0.3% 70.8%
_LOAD_GLOBAL_MODULE _LOAD_CONST_INLINE_BORROW 4,739,420 0.3% 71.2%
_BINARY_OP _CHECK_VALIDITY_AND_SET_IP 4,590,560 0.3% 71.5%
_CALL_BUILTIN_CLASS _CHECK_PERIODIC 4,590,560 0.3% 71.8%
_GUARD_GLOBALS_VERSION _LOAD_GLOBAL_BUILTINS 4,576,480 0.3% 72.1%
_GUARD_IS_FALSE_POP _LOAD_FAST_1 4,557,900 0.3% 72.4%
_LOAD_ATTR_WITH_HINT _STORE_FAST_3 4,332,200 0.3% 72.7%
_LOAD_FAST_3 _GUARD_GLOBALS_VERSION 4,332,200 0.3% 73.0%
_CHECK_VALIDITY _STORE_FAST_2 4,300,920 0.3% 73.3%
_POP_TOP _LOAD_FAST_0 4,253,780 0.3% 73.6%
_LOAD_FAST_1 _GUARD_BOTH_INT 4,069,140 0.3% 73.8%
_COPY _GUARD_TYPE_VERSION 3,948,020 0.3% 74.1%
_LOAD_FAST_0 _COPY 3,914,860 0.3% 74.4%
_GUARD_DORV_NO_DICT _STORE_ATTR_INSTANCE_VALUE 3,894,120 0.3% 74.6%
_GUARD_TYPE_VERSION _GUARD_DORV_NO_DICT 3,894,120 0.3% 74.9%
_POP_TOP _LOAD_FAST 3,832,300 0.3% 75.1%
_LOAD_ATTR_WITH_HINT _SET_IP 3,708,040 0.3% 75.4%
_START_EXECUTOR _LOAD_FAST_2 3,596,600 0.2% 75.6%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 280
CALL_LIST_APPEND 160
STORE_ATTR_WITH_HINT 140
CALL_ALLOC_AND_ENTER_INIT 60
CALL_KW 40

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

120
watched globals modification

A watched globals() dict has been modified

120

Meta stats

Meta statistics
Count
Number of data files 20

Stats gathered on: 2024-06-16