Skip to content

Latest commit

 

History

History
9836 lines (9102 loc) · 185 KB

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

File metadata and controls

9836 lines (9102 loc) · 185 KB

Pystats results

  • benchmark: raytrace
  • 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 606,230,040 21.7% 21.7%
LOAD_ATTR_INSTANCE_VALUE 418,926,060 15.0% 36.7% 0.1%
RESUME_CHECK 193,475,380 6.9% 43.6%
LOAD_FAST_LOAD_FAST 169,348,340 6.1% 49.6%
RETURN_VALUE 168,850,960 6.0% 55.7%
STORE_ATTR_INSTANCE_VALUE 128,143,400 4.6% 60.2% 0.0%
CALL_PY_EXACT_ARGS 123,506,340 4.4% 64.7% 1.4%
LOAD_ATTR_METHOD_WITH_VALUES 115,109,800 4.1% 68.8% 0.3%
BINARY_OP_MULTIPLY_FLOAT 111,177,080 4.0% 72.7% 4.0%
RETURN_CONST 82,153,400 2.9% 75.7%
BINARY_OP_SUBTRACT_FLOAT 61,486,820 2.2% 77.9% 32.8%
BINARY_OP 57,039,920 2.0% 79.9%
STORE_FAST 50,539,320 1.8% 81.7%
ENTER_EXECUTOR 47,123,800 1.7% 83.4%
LOAD_GLOBAL_MODULE 47,036,620 1.7% 85.1% 0.0%
EXIT_INIT_CHECK 44,517,200 1.6% 86.7%
CALL_ALLOC_AND_ENTER_INIT 44,517,200 1.6% 88.3%
LOAD_CONST 40,877,660 1.5% 89.7%
POP_JUMP_IF_FALSE 38,963,000 1.4% 91.1%
BINARY_OP_ADD_FLOAT 36,303,500 1.3% 92.4% 3.4%
POP_TOP 32,147,860 1.1% 93.6%
INTERPRETER_EXIT 25,483,520 0.9% 94.5%
TO_BOOL_BOOL 24,682,420 0.9% 95.4%
COMPARE_OP 13,601,660 0.5% 95.9%
CALL_BUILTIN_O 9,322,680 0.3% 96.2%
PUSH_NULL 9,197,680 0.3% 96.5%
LOAD_GLOBAL_BUILTIN 9,060,060 0.3% 96.8%
LOAD_ATTR_MODULE 8,397,360 0.3% 97.1%
POP_JUMP_IF_NOT_NONE 7,850,400 0.3% 97.4%
BINARY_OP_MULTIPLY_INT 6,621,220 0.2% 97.7% 48.1%
BINARY_OP_SUBTRACT_INT 6,505,540 0.2% 97.9% 7.2%
BUILD_TUPLE 6,125,720 0.2% 98.1%
LIST_APPEND 6,099,520 0.2% 98.3%
CALL_BUILTIN_FAST_WITH_KEYWORDS 4,808,260 0.2% 98.5%
BINARY_OP_ADD_INT 4,240,740 0.2% 98.7% 0.0%
CALL_BUILTIN_CLASS 3,326,180 0.1% 98.8%
POP_JUMP_IF_TRUE 2,776,940 0.1% 98.9%
FOR_ITER_LIST 2,506,240 0.1% 99.0%
GET_ITER 2,503,540 0.1% 99.1%
BUILD_LIST 2,448,160 0.1% 99.1%
LOAD_FAST_AND_CLEAR 2,442,400 0.1% 99.2%
SWAP 2,442,400 0.1% 99.3%
STORE_SUBSCR 2,401,600 0.1% 99.4%
STORE_FAST_STORE_FAST 2,075,500 0.1% 99.5%
NOP 2,015,840 0.1% 99.5%
UNPACK_SEQUENCE_TWO_TUPLE 1,648,820 0.1% 99.6%
COMPARE_OP_INT 1,226,620 0.0% 99.6%
BINARY_SUBSCR_TUPLE_INT 1,153,340 0.0% 99.7%
LOAD_ATTR 1,115,280 0.0% 99.7%
COMPARE_OP_FLOAT 1,104,720 0.0% 99.8%
UNARY_NEGATIVE 822,440 0.0% 99.8%
LOAD_ATTR_METHOD_NO_DICT 821,600 0.0% 99.8%
TO_BOOL 820,800 0.0% 99.9%
CALL_LIST_APPEND 819,620 0.0% 99.9%
CALL_FUNCTION_EX 800,240 0.0% 99.9%
CALL_INTRINSIC_1 800,080 0.0% 99.9%
LIST_EXTEND 800,080 0.0% 100.0%
UNPACK_SEQUENCE_TUPLE 426,620 0.0% 100.0%
TO_BOOL_INT 308,540 0.0% 100.0%
JUMP_BACKWARD 5,180 0.0% 100.0%
CALL 4,180 0.0% 100.0%
LOAD_GLOBAL 2,520 0.0% 100.0%
POP_JUMP_IF_NONE 2,260 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST 1,980 0.0% 100.0%
FOR_ITER_RANGE 1,980 0.0% 100.0%
STORE_ATTR 1,060 0.0% 100.0%
RESUME 720 0.0% 100.0%
CALL_KW 560 0.0% 100.0%
FOR_ITER 400 0.0% 100.0%
BINARY_SUBSCR 320 0.0% 100.0%
EXTENDED_ARG 240 0.0% 100.0%
LOAD_DEREF 240 0.0% 100.0%
CALL_NON_PY_GENERAL 240 0.0% 100.0%
UNPACK_SEQUENCE 120 0.0% 100.0%
BUILD_MAP 80 0.0% 100.0%
COPY_FREE_VARS 80 0.0% 100.0%
DICT_MERGE 80 0.0% 100.0%
TO_BOOL_NONE 60 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 385,503,020 13.8% 13.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 186,610,120 6.7% 20.5%
CALL_PY_EXACT_ARGS RESUME_CHECK 123,474,160 4.4% 24.9%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 117,843,980 4.2% 29.1%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 111,213,680 4.0% 33.1%
RESUME_CHECK LOAD_FAST 105,409,320 3.8% 36.8%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_MULTIPLY_FLOAT 99,216,540 3.5% 40.4%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 73,326,680 2.6% 43.0%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 70,784,240 2.5% 45.5%
STORE_FAST LOAD_FAST 46,496,340 1.7% 47.2%
RETURN_VALUE RETURN_VALUE 45,571,120 1.6% 48.8%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 45,312,780 1.6% 50.4%
RESUME_CHECK LOAD_FAST_LOAD_FAST 44,634,960 1.6% 52.0%
EXIT_INIT_CHECK RETURN_VALUE 44,517,200 1.6% 53.6%
RETURN_CONST EXIT_INIT_CHECK 44,517,200 1.6% 55.2%
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK 44,517,200 1.6% 56.8%
BINARY_OP_MULTIPLY_FLOAT LOAD_FAST 37,567,740 1.3% 58.2%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_SUBTRACT_FLOAT 36,709,640 1.3% 59.5%
BINARY_OP_SUBTRACT_FLOAT LOAD_FAST 36,284,440 1.3% 60.8%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP 35,869,980 1.3% 62.0%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 33,532,900 1.2% 63.2%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 33,412,560 1.2% 64.4%
BINARY_OP_ADD_FLOAT LOAD_FAST 32,989,320 1.2% 65.6%
ENTER_EXECUTOR RETURN_VALUE 31,614,420 1.1% 66.7%
RETURN_VALUE POP_TOP 30,479,600 1.1% 67.8%
LOAD_FAST RETURN_VALUE 30,270,700 1.1% 68.9%
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_ADD_FLOAT 29,342,860 1.0% 70.0%
POP_TOP LOAD_FAST 29,320,800 1.0% 71.0%
LOAD_ATTR_INSTANCE_VALUE ENTER_EXECUTOR 29,296,720 1.0% 72.1%
LOAD_FAST CALL_PY_EXACT_ARGS 25,783,540 0.9% 73.0%
LOAD_GLOBAL_MODULE LOAD_FAST 25,484,360 0.9% 73.9%
CACHE RESUME_CHECK 25,483,300 0.9% 74.8%
RETURN_VALUE INTERPRETER_EXIT 24,682,480 0.9% 75.7%
RETURN_CONST TO_BOOL_BOOL 24,682,360 0.9% 76.6%
POP_JUMP_IF_FALSE LOAD_GLOBAL_MODULE 24,351,240 0.9% 77.4%
RESUME_CHECK RETURN_CONST 23,829,160 0.9% 78.3%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 23,829,160 0.9% 79.1%
BINARY_OP_MULTIPLY_FLOAT LOAD_FAST_LOAD_FAST 21,544,720 0.8% 79.9%
RETURN_VALUE STORE_FAST 20,942,060 0.7% 80.7%
BINARY_OP CALL_ALLOC_AND_ENTER_INIT 19,885,700 0.7% 81.4%
RESUME_CHECK LOAD_GLOBAL_MODULE 19,173,760 0.7% 82.1%
LOAD_FAST LOAD_CONST 17,227,320 0.6% 82.7%
LOAD_CONST COMPARE_OP 13,597,240 0.5% 83.2%
COMPARE_OP POP_JUMP_IF_FALSE 12,778,340 0.5% 83.6%
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_SUBTRACT_FLOAT 11,829,800 0.4% 84.0%
RETURN_VALUE LOAD_FAST_LOAD_FAST 11,829,480 0.4% 84.5%
LOAD_FAST_LOAD_FAST BINARY_OP_MULTIPLY_FLOAT 11,829,440 0.4% 84.9%
BINARY_OP_SUBTRACT_FLOAT STORE_FAST 11,761,040 0.4% 85.3%
BINARY_OP_SUBTRACT_FLOAT BINARY_OP_SUBTRACT_FLOAT 11,760,960 0.4% 85.7%
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST 11,741,500 0.4% 86.1%
POP_JUMP_IF_FALSE RETURN_CONST 11,357,080 0.4% 86.6%
BINARY_OP LOAD_FAST 10,956,900 0.4% 86.9%
BINARY_OP_MULTIPLY_FLOAT CALL_ALLOC_AND_ENTER_INIT 10,772,360 0.4% 87.3%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 10,298,800 0.4% 87.7%
LOAD_CONST LOAD_FAST 9,531,520 0.3% 88.0%
RETURN_VALUE BINARY_OP 9,245,520 0.3% 88.4%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_CONST 9,127,400 0.3% 88.7%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 9,076,280 0.3% 89.0%
BINARY_OP CALL_PY_EXACT_ARGS 8,700,720 0.3% 89.3%
RETURN_VALUE LOAD_FAST 8,554,420 0.3% 89.6%
PUSH_NULL LOAD_FAST 8,397,360 0.3% 89.9%
LOAD_ATTR_MODULE PUSH_NULL 8,397,300 0.3% 90.2%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 8,397,200 0.3% 90.5%
CALL_BUILTIN_O RETURN_VALUE 8,392,220 0.3% 90.8%
RETURN_VALUE CALL_BUILTIN_O 8,392,200 0.3% 91.1%
LOAD_FAST POP_JUMP_IF_NOT_NONE 7,850,400 0.3% 91.4%
LOAD_ATTR_INSTANCE_VALUE CALL_PY_EXACT_ARGS 7,849,760 0.3% 91.7%
ENTER_EXECUTOR CALL_ALLOC_AND_ENTER_INIT 7,822,160 0.3% 92.0%
RETURN_VALUE CALL_PY_EXACT_ARGS 7,480,360 0.3% 92.2%
BINARY_OP STORE_FAST 7,437,620 0.3% 92.5%
BINARY_OP RETURN_VALUE 7,271,400 0.3% 92.8%
RETURN_CONST STORE_FAST 6,326,000 0.2% 93.0%
LOAD_FAST BUILD_TUPLE 6,099,600 0.2% 93.2%
BUILD_TUPLE LIST_APPEND 6,099,520 0.2% 93.4%
LIST_APPEND ENTER_EXECUTOR 6,099,180 0.2% 93.7%
RETURN_CONST LOAD_FAST 5,825,640 0.2% 93.9%
ENTER_EXECUTOR BINARY_OP 5,599,420 0.2% 94.1%
POP_JUMP_IF_NOT_NONE ENTER_EXECUTOR 5,527,200 0.2% 94.3%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_ADD_FLOAT 5,300,080 0.2% 94.4%
LOAD_GLOBAL_BUILTIN LOAD_CONST 4,808,320 0.2% 94.6%
LOAD_CONST LOAD_GLOBAL_BUILTIN 4,799,760 0.2% 94.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST 4,617,920 0.2% 95.0%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_MULTIPLY_INT 4,362,000 0.2% 95.1%
BINARY_OP_MULTIPLY_INT LOAD_FAST 4,354,380 0.2% 95.3%
LOAD_ATTR_INSTANCE_VALUE BINARY_OP_SUBTRACT_INT 3,675,500 0.1% 95.4%
BINARY_OP_SUBTRACT_INT CALL_ALLOC_AND_ENTER_INIT 3,545,160 0.1% 95.5%
LOAD_GLOBAL_BUILTIN LOAD_FAST 3,326,060 0.1% 95.6%
LOAD_CONST BINARY_OP_ADD_INT 2,821,440 0.1% 95.7%
CALL_BUILTIN_FAST_WITH_KEYWORDS LOAD_FAST 2,399,940 0.1% 95.8%
CALL_BUILTIN_CLASS CALL_BUILTIN_FAST_WITH_KEYWORDS 2,399,880 0.1% 95.9%
CALL_BUILTIN_FAST_WITH_KEYWORDS CALL_BUILTIN_FAST_WITH_KEYWORDS 2,399,880 0.1% 96.0%
LOAD_CONST BINARY_OP_MULTIPLY_INT 2,199,020 0.1% 96.1%
BINARY_OP_SUBTRACT_INT LOAD_FAST 2,151,420 0.1% 96.2%
LOAD_ATTR_INSTANCE_VALUE GET_ITER 2,074,800 0.1% 96.2%
LOAD_CONST BINARY_OP_SUBTRACT_INT 2,021,160 0.1% 96.3%
NOP LOAD_FAST 2,015,760 0.1% 96.4%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_WITH_VALUES 1,673,400 0.1% 96.4%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST_LOAD_FAST 1,654,300 0.1% 96.5%
UNPACK_SEQUENCE_TWO_TUPLE STORE_FAST_STORE_FAST 1,648,820 0.1% 96.6%
FOR_ITER_LIST UNPACK_SEQUENCE_TWO_TUPLE 1,648,780 0.1% 96.6%

Predecessor/Successor Pairs

Top 5 predecessors and successors of each Tier 1 opcode.

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

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 25,483,300 100.0%
RESUME 220 0.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 320 100.0%
Successors Count Percentage
BINARY_SUBSCR_TUPLE_INT 160 50.0%
BINARY_OP 60 18.8%
LOAD_FAST_LOAD_FAST 60 18.8%
COMPARE_OP 20 6.2%
STORE_FAST 20 6.2%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 44,517,200 100.0%
Successors Count Percentage
RETURN_VALUE 44,517,200 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 2,074,800 82.9%
RETURN_VALUE 426,640 17.0%
LOAD_FAST 1,400 0.1%
CALL_BUILTIN_CLASS 560 0.0%
CALL 80 0.0%
Successors Count Percentage
FOR_ITER_LIST 1,281,540 51.2%
LOAD_FAST_AND_CLEAR 1,221,200 48.8%
FOR_ITER_RANGE 560 0.0%
FOR_ITER 160 0.0%
EXTENDED_ARG 80 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_VALUE 24,682,480 96.9%
RETURN_CONST 801,040 3.1%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
POP_JUMP_IF_FALSE 1,221,200 60.6%
POP_JUMP_IF_NOT_NONE 794,560 39.4%
POP_TOP 80 0.0%
Successors Count Percentage
LOAD_FAST 2,015,760 100.0%
LOAD_DEREF 80 0.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_VALUE 30,479,600 94.8%
ENTER_EXECUTOR 832,620 2.6%
CALL_FUNCTION_EX 800,000 2.5%
POP_JUMP_IF_TRUE 34,400 0.1%
RETURN_CONST 1,040 0.0%
Successors Count Percentage
LOAD_FAST 29,320,800 91.2%
LOAD_GLOBAL_MODULE 853,360 2.7%
RETURN_CONST 853,120 2.7%
ENTER_EXECUTOR 807,460 2.5%
LOAD_GLOBAL_BUILTIN 309,840 1.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 8,397,300 91.3%
LOAD_ATTR 800,220 8.7%
LOAD_DEREF 160 0.0%
Successors Count Percentage
LOAD_FAST 8,397,360 91.3%
LOAD_FAST_LOAD_FAST 800,000 8.7%
CALL 120 0.0%
CALL_NON_PY_GENERAL 120 0.0%
LOAD_CONST 80 0.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
RETURN_VALUE 45,571,120 27.0%
EXIT_INIT_CHECK 44,517,200 26.4%
ENTER_EXECUTOR 31,614,420 18.7%
LOAD_FAST 30,270,700 17.9%
CALL_BUILTIN_O 8,392,220 5.0%
Successors Count Percentage
RETURN_VALUE 45,571,120 27.0%
POP_TOP 30,479,600 18.1%
INTERPRETER_EXIT 24,682,480 14.6%
STORE_FAST 20,942,060 12.4%
LOAD_FAST_LOAD_FAST 11,829,480 7.0%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
BINARY_OP_ADD_INT 1,600,340 66.6%
LOAD_FAST 800,000 33.3%
STORE_SUBSCR 1,200 0.0%
BINARY_OP 60 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 1,599,920 66.6%
RETURN_CONST 800,000 33.3%
STORE_SUBSCR 1,200 0.0%
JUMP_BACKWARD 340 0.0%
LOAD_GLOBAL 80 0.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_FAST 820,240 99.9%
TO_BOOL 400 0.0%
RETURN_CONST 120 0.0%
BINARY_OP 40 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 820,280 99.9%
TO_BOOL 400 0.0%
TO_BOOL_BOOL 60 0.0%
POP_JUMP_IF_TRUE 20 0.0%
TO_BOOL_INT 20 0.0%

UNARY_NEGATIVE

Successors and predecessors for UNARY_NEGATIVE
Predecessors Count Percentage
LOAD_FAST 820,200 99.7%
LOAD_GLOBAL_MODULE 2,220 0.3%
LOAD_GLOBAL 20 0.0%
Successors Count Percentage
BINARY_OP 820,200 99.7%
COMPARE_OP_FLOAT 2,200 0.3%
COMPARE_OP 40 0.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 35,869,980 62.9%
RETURN_VALUE 9,245,520 16.2%
ENTER_EXECUTOR 5,599,420 9.8%
LOAD_FAST 1,605,520 2.8%
LOAD_CONST 1,312,140 2.3%
Successors Count Percentage
CALL_ALLOC_AND_ENTER_INIT 19,885,700 34.9%
LOAD_FAST 10,956,900 19.2%
CALL_PY_EXACT_ARGS 8,700,720 15.3%
STORE_FAST 7,437,620 13.0%
RETURN_VALUE 7,271,400 12.7%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
SWAP 1,221,200 49.9%
LOAD_FAST_LOAD_FAST 800,000 32.7%
RESUME_CHECK 426,680 17.4%
LOAD_CONST 80 0.0%
LOAD_FAST 80 0.0%
Successors Count Percentage
SWAP 1,221,200 49.9%
LOAD_FAST 800,160 32.7%
STORE_FAST 426,640 17.4%
LOAD_DEREF 80 0.0%
LOAD_FAST_LOAD_FAST 80 0.0%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
BUILD_TUPLE 80 100.0%
Successors Count Percentage
LOAD_FAST 80 100.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST 6,099,600 99.6%
BINARY_OP_ADD_FLOAT 12,520 0.2%
BINARY_OP 12,480 0.2%
LOAD_FAST_LOAD_FAST 640 0.0%
LOAD_CONST 480 0.0%
Successors Count Percentage
LIST_APPEND 6,099,520 99.6%
RETURN_VALUE 25,000 0.4%
CALL_LIST_APPEND 600 0.0%
LOAD_CONST 480 0.0%
BUILD_MAP 80 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 920 22.0%
BINARY_OP 620 14.8%
LOAD_CONST 600 14.4%
LOAD_ATTR 480 11.5%
CALL 240 5.7%
Successors Count Percentage
CALL_PY_EXACT_ARGS 920 22.0%
RESUME_CHECK 520 12.4%
RESUME 400 9.6%
CALL_ALLOC_AND_ENTER_INIT 400 9.6%
LOAD_FAST 280 6.7%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
CALL_INTRINSIC_1 800,080 100.0%
DICT_MERGE 80 0.0%
LOAD_FAST 80 0.0%
Successors Count Percentage
POP_TOP 800,000 100.0%
RESUME_CHECK 140 0.0%
COPY_FREE_VARS 80 0.0%
RESUME 20 0.0%

CALL_INTRINSIC_1

Successors and predecessors for CALL_INTRINSIC_1
Predecessors Count Percentage
LIST_EXTEND 800,080 100.0%
Successors Count Percentage
CALL_FUNCTION_EX 800,080 100.0%

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
LOAD_CONST 560 100.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 480 85.7%
CALL 80 14.3%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST 13,597,240 100.0%
COMPARE_OP 4,300 0.0%
UNARY_NEGATIVE 40 0.0%
BINARY_SUBSCR 20 0.0%
LOAD_GLOBAL 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 12,778,340 93.9%
POP_JUMP_IF_TRUE 818,940 6.0%
COMPARE_OP 4,300 0.0%
COMPARE_OP_FLOAT 60 0.0%
COMPARE_OP_INT 20 0.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_FUNCTION_EX 80 100.0%
Successors Count Percentage
RESUME_CHECK 60 75.0%
RESUME 20 25.0%

DICT_MERGE

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

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 29,296,720 62.2%
LIST_APPEND 6,099,180 12.9%
POP_JUMP_IF_NOT_NONE 5,527,200 11.7%
LOAD_FAST_LOAD_FAST 1,226,820 2.6%
POP_JUMP_IF_TRUE 1,195,280 2.5%
Successors Count Percentage
RETURN_VALUE 31,614,420 67.1%
CALL_ALLOC_AND_ENTER_INIT 7,822,160 16.6%
BINARY_OP 5,599,420 11.9%
CALL_PY_EXACT_ARGS 1,219,860 2.6%
POP_TOP 832,620 1.8%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
GET_ITER 80 33.3%
POP_TOP 80 33.3%
JUMP_BACKWARD 80 33.3%
Successors Count Percentage
FOR_ITER_RANGE 120 50.0%
JUMP_BACKWARD 80 33.3%
FOR_ITER 40 16.7%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD 180 45.0%
GET_ITER 160 40.0%
EXTENDED_ARG 40 10.0%
SWAP 20 5.0%
Successors Count Percentage
STORE_FAST 160 40.0%
FOR_ITER_LIST 100 25.0%
FOR_ITER_RANGE 100 25.0%
UNPACK_SEQUENCE 40 10.0%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_JUMP_IF_TRUE 1,700 32.8%
POP_TOP 1,040 20.1%
POP_JUMP_IF_NOT_NONE 680 13.1%
STORE_FAST 680 13.1%
STORE_SUBSCR 340 6.6%
Successors Count Percentage
FOR_ITER_LIST 3,420 66.0%
FOR_ITER_RANGE 1,200 23.2%
FOR_ITER 180 3.5%
CALL_ALLOC_AND_ENTER_INIT 140 2.7%
EXTENDED_ARG 80 1.5%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
BUILD_TUPLE 6,099,520 100.0%
Successors Count Percentage
ENTER_EXECUTOR 6,099,180 100.0%
JUMP_BACKWARD 340 0.0%

LIST_EXTEND

Successors and predecessors for LIST_EXTEND
Predecessors Count Percentage
LOAD_FAST 800,000 100.0%
LOAD_DEREF 80 0.0%
Successors Count Percentage
CALL_INTRINSIC_1 800,080 100.0%

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 804,560 72.1%
LOAD_GLOBAL_MODULE 308,940 27.7%
LOAD_ATTR 840 0.1%
LOAD_FAST_LOAD_FAST 360 0.0%
LOAD_GLOBAL 260 0.0%
Successors Count Percentage
PUSH_NULL 800,220 71.8%
BINARY_OP 309,020 27.7%
LOAD_ATTR_INSTANCE_VALUE 1,680 0.2%
LOAD_FAST 1,060 0.1%
LOAD_ATTR 840 0.1%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
LOAD_FAST 17,227,320 42.1%
LOAD_ATTR_METHOD_WITH_VALUES 9,127,400 22.3%
LOAD_GLOBAL_BUILTIN 4,808,320 11.8%
LOAD_ATTR_INSTANCE_VALUE 4,617,920 11.3%
POP_JUMP_IF_FALSE 1,246,840 3.1%
Successors Count Percentage
COMPARE_OP 13,597,240 33.3%
LOAD_FAST 9,531,520 23.3%
LOAD_GLOBAL_BUILTIN 4,799,760 11.7%
BINARY_OP_ADD_INT 2,821,440 6.9%
BINARY_OP_MULTIPLY_INT 2,199,020 5.4%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
NOP 80 33.3%
BUILD_LIST 80 33.3%
RESUME_CHECK 60 25.0%
RESUME 20 8.3%
Successors Count Percentage
PUSH_NULL 160 66.7%
LIST_EXTEND 80 33.3%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 186,610,120 30.8%
RESUME_CHECK 105,409,320 17.4%
STORE_FAST 46,496,340 7.7%
BINARY_OP_MULTIPLY_FLOAT 37,567,740 6.2%
BINARY_OP_SUBTRACT_FLOAT 36,284,440 6.0%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 385,503,020 63.6%
LOAD_ATTR_METHOD_WITH_VALUES 111,213,680 18.3%
RETURN_VALUE 30,270,700 5.0%
CALL_PY_EXACT_ARGS 25,783,540 4.3%
LOAD_CONST 17,227,320 2.8%

LOAD_FAST_AND_CLEAR

Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors Count Percentage
GET_ITER 1,221,200 50.0%
LOAD_FAST_AND_CLEAR 1,221,200 50.0%
Successors Count Percentage
LOAD_FAST_AND_CLEAR 1,221,200 50.0%
SWAP 1,221,200 50.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 73,326,680 43.3%
RESUME_CHECK 44,634,960 26.4%
BINARY_OP_MULTIPLY_FLOAT 21,544,720 12.7%
RETURN_VALUE 11,829,480 7.0%
LOAD_GLOBAL_MODULE 11,741,500 6.9%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 117,843,980 69.6%
LOAD_ATTR_INSTANCE_VALUE 33,412,560 19.7%
BINARY_OP_MULTIPLY_FLOAT 11,829,440 7.0%
BINARY_OP 1,251,520 0.7%
ENTER_EXECUTOR 1,226,820 0.7%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 480 19.0%
LOAD_CONST 240 9.5%
POP_TOP 160 6.3%
LOAD_ATTR 160 6.3%
LOAD_FAST 160 6.3%
Successors Count Percentage
LOAD_GLOBAL_MODULE 840 33.3%
LOAD_GLOBAL_BUILTIN 420 16.7%
LOAD_FAST 340 13.5%
LOAD_CONST 320 12.7%
LOAD_ATTR 260 10.3%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
TO_BOOL_BOOL 23,829,160 61.2%
COMPARE_OP 12,778,340 32.8%
COMPARE_OP_INT 1,226,620 3.1%
TO_BOOL 820,280 2.1%
TO_BOOL_INT 308,540 0.8%
Successors Count Percentage
LOAD_GLOBAL_MODULE 24,351,240 62.5%
RETURN_CONST 11,357,080 29.1%
LOAD_CONST 1,246,840 3.2%
NOP 1,221,200 3.1%
ENTER_EXECUTOR 474,320 1.2%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 2,260 100.0%
Successors Count Percentage
LOAD_FAST 2,040 90.3%
LOAD_FAST_LOAD_FAST 220 9.7%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 7,850,400 100.0%
Successors Count Percentage
ENTER_EXECUTOR 5,527,200 70.4%
LOAD_FAST 1,527,960 19.5%
NOP 794,560 10.1%
JUMP_BACKWARD 680 0.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
COMPARE_OP_FLOAT 1,104,720 39.8%
TO_BOOL_BOOL 853,260 30.7%
COMPARE_OP 818,940 29.5%
TO_BOOL 20 0.0%
Successors Count Percentage
ENTER_EXECUTOR 1,195,280 43.0%
LOAD_FAST 820,280 29.5%
LOAD_FAST_LOAD_FAST 725,280 26.1%
POP_TOP 34,400 1.2%
JUMP_BACKWARD 1,700 0.1%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 45,312,780 55.2%
RESUME_CHECK 23,829,160 29.0%
POP_JUMP_IF_FALSE 11,357,080 13.8%
POP_TOP 853,120 1.0%
STORE_SUBSCR 800,000 1.0%
Successors Count Percentage
EXIT_INIT_CHECK 44,517,200 54.2%
TO_BOOL_BOOL 24,682,360 30.0%
STORE_FAST 6,326,000 7.7%
LOAD_FAST 5,825,640 7.1%
INTERPRETER_EXIT 801,040 1.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 720 67.9%
LOAD_FAST_LOAD_FAST 340 32.1%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 560 52.8%
RETURN_CONST 180 17.0%
LOAD_FAST 120 11.3%
LOAD_CONST 60 5.7%
LOAD_GLOBAL 60 5.7%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 20,942,060 41.4%
BINARY_OP_SUBTRACT_FLOAT 11,761,040 23.3%
BINARY_OP 7,437,620 14.7%
RETURN_CONST 6,326,000 12.5%
LOAD_CONST 854,600 1.7%
Successors Count Percentage
LOAD_FAST 46,496,340 92.0%
LOAD_GLOBAL_MODULE 1,236,400 2.4%
LOAD_FAST_LOAD_FAST 846,960 1.7%
LOAD_GLOBAL_BUILTIN 800,360 1.6%
ENTER_EXECUTOR 728,340 1.4%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 1,648,820 79.4%
UNPACK_SEQUENCE_TUPLE 426,620 20.6%
UNPACK_SEQUENCE 60 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 1,221,480 58.9%
LOAD_FAST 427,380 20.6%
STORE_FAST 426,640 20.6%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
BUILD_LIST 1,221,200 50.0%
LOAD_FAST_AND_CLEAR 1,221,200 50.0%
Successors Count Percentage
BUILD_LIST 1,221,200 50.0%
FOR_ITER_LIST 1,221,180 50.0%
FOR_ITER 20 0.0%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
FOR_ITER 40 33.3%
LOAD_FAST 40 33.3%
FOR_ITER_LIST 40 33.3%
Successors Count Percentage
STORE_FAST_STORE_FAST 60 50.0%
UNPACK_SEQUENCE_TWO_TUPLE 40 33.3%
UNPACK_SEQUENCE_TUPLE 20 16.7%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 400 55.6%
CACHE 220 30.6%
CALL_PY_EXACT_ARGS 60 8.3%
CALL_FUNCTION_EX 20 2.8%
COPY_FREE_VARS 20 2.8%
Successors Count Percentage
LOAD_FAST 420 58.3%
LOAD_GLOBAL 100 13.9%
LOAD_FAST_LOAD_FAST 80 11.1%
BUILD_LIST 40 5.6%
RETURN_CONST 40 5.6%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
BINARY_OP_MULTIPLY_FLOAT 29,342,860 80.8%
LOAD_ATTR_INSTANCE_VALUE 5,300,080 14.6%
LOAD_CONST 925,560 2.5%
LOAD_FAST_LOAD_FAST 694,760 1.9%
BINARY_OP 37,280 0.1%
Successors Count Percentage
LOAD_FAST 32,989,320 90.9%
CALL_ALLOC_AND_ENTER_INIT 1,636,760 4.5%
CALL_BUILTIN_CLASS 925,560 2.5%
STORE_FAST 694,780 1.9%
BINARY_OP 23,360 0.1%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 2,821,440 66.5%
LOAD_FAST 799,960 18.9%
CALL_BUILTIN_CLASS 617,040 14.6%
BINARY_OP_MULTIPLY_INT 2,140 0.1%
BINARY_OP 140 0.0%
Successors Count Percentage
STORE_SUBSCR 1,600,340 37.7%
LOAD_FAST 1,222,240 28.8%
LOAD_CONST 1,108,520 26.1%
LOAD_GLOBAL_BUILTIN 308,520 7.3%
RETURN_VALUE 1,060 0.0%

BINARY_OP_MULTIPLY_FLOAT

Successors and predecessors for BINARY_OP_MULTIPLY_FLOAT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 99,216,540 89.2%
LOAD_FAST_LOAD_FAST 11,829,440 10.6%
BINARY_OP_MULTIPLY_INT 58,880 0.1%
BINARY_SUBSCR_TUPLE_INT 43,440 0.0%
BINARY_OP 24,920 0.0%
Successors Count Percentage
LOAD_FAST 37,567,740 33.8%
BINARY_OP_ADD_FLOAT 29,342,860 26.4%
LOAD_FAST_LOAD_FAST 21,544,720 19.4%
BINARY_OP_SUBTRACT_FLOAT 11,829,800 10.6%
CALL_ALLOC_AND_ENTER_INIT 10,772,360 9.7%

BINARY_OP_MULTIPLY_INT

Successors and predecessors for BINARY_OP_MULTIPLY_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 4,362,000 65.9%
LOAD_CONST 2,199,020 33.2%
BINARY_OP_MULTIPLY_FLOAT 32,580 0.5%
BINARY_OP 27,500 0.4%
LOAD_FAST_LOAD_FAST 80 0.0%
Successors Count Percentage
LOAD_FAST 4,354,380 65.8%
CALL_BUILTIN_CLASS 1,398,760 21.1%
STORE_FAST 799,980 12.1%
BINARY_OP_MULTIPLY_FLOAT 58,880 0.9%
BINARY_OP_ADD_FLOAT 2,300 0.0%

BINARY_OP_SUBTRACT_FLOAT

Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 36,709,640 59.7%
BINARY_OP_MULTIPLY_FLOAT 11,829,800 19.2%
BINARY_OP_SUBTRACT_FLOAT 11,760,960 19.1%
LOAD_FAST 800,680 1.3%
BINARY_OP 380,280 0.6%
Successors Count Percentage
LOAD_FAST 36,284,440 59.0%
STORE_FAST 11,761,040 19.1%
BINARY_OP_SUBTRACT_FLOAT 11,760,960 19.1%
CALL_PY_EXACT_ARGS 800,640 1.3%
BINARY_OP 448,460 0.7%

BINARY_OP_SUBTRACT_INT

Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 3,675,500 56.5%
LOAD_CONST 2,021,160 31.1%
LOAD_FAST 799,960 12.3%
BINARY_OP 8,200 0.1%
BINARY_OP_SUBTRACT_FLOAT 720 0.0%
Successors Count Percentage
CALL_ALLOC_AND_ENTER_INIT 3,545,160 54.5%
LOAD_FAST 2,151,420 33.1%
LOAD_CONST 799,980 12.3%
BINARY_OP 8,260 0.1%
BINARY_OP_SUBTRACT_FLOAT 700 0.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 1,153,180 100.0%
BINARY_SUBSCR 160 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 574,860 49.8%
ENTER_EXECUTOR 503,760 43.7%
BINARY_OP_MULTIPLY_FLOAT 43,440 3.8%
BINARY_OP 27,660 2.4%
STORE_FAST 2,140 0.2%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
BINARY_OP 19,885,700 44.7%
BINARY_OP_MULTIPLY_FLOAT 10,772,360 24.2%
ENTER_EXECUTOR 7,822,160 17.6%
BINARY_OP_SUBTRACT_INT 3,545,160 8.0%
BINARY_OP_ADD_FLOAT 1,636,760 3.7%
Successors Count Percentage
RESUME_CHECK 44,517,200 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
BINARY_OP_MULTIPLY_INT 1,398,760 42.1%
BINARY_OP 1,001,160 30.1%
BINARY_OP_ADD_FLOAT 925,560 27.8%
LOAD_ATTR_INSTANCE_VALUE 400 0.0%
CALL 220 0.0%
Successors Count Percentage
CALL_BUILTIN_FAST_WITH_KEYWORDS 2,399,880 72.2%
BINARY_OP_ADD_INT 617,040 18.6%
LOAD_GLOBAL_BUILTIN 308,520 9.3%
GET_ITER 560 0.0%
CALL 60 0.0%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
CALL_BUILTIN_CLASS 2,399,880 49.9%
CALL_BUILTIN_FAST_WITH_KEYWORDS 2,399,880 49.9%
LOAD_FAST 8,360 0.2%
CALL 140 0.0%
Successors Count Percentage
LOAD_FAST 2,399,940 49.9%
CALL_BUILTIN_FAST_WITH_KEYWORDS 2,399,880 49.9%
STORE_FAST 8,380 0.2%
CALL 60 0.0%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
RETURN_VALUE 8,392,200 90.0%
LOAD_ATTR_INSTANCE_VALUE 925,560 9.9%
LOAD_FAST 4,800 0.1%
CALL 120 0.0%
Successors Count Percentage
RETURN_VALUE 8,392,220 90.0%
LOAD_CONST 925,620 9.9%
BINARY_OP_SUBTRACT_FLOAT 4,760 0.1%
STORE_FAST 60 0.0%
BINARY_OP 20 0.0%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
LOAD_FAST 818,960 99.9%
BUILD_TUPLE 600 0.1%
CALL 60 0.0%
Successors Count Percentage
ENTER_EXECUTOR 818,540 99.9%
RETURN_CONST 760 0.1%
JUMP_BACKWARD 320 0.0%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_CONST 1,880 94.9%
CALL 100 5.1%
Successors Count Percentage
LOAD_FAST 1,980 100.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 120 50.0%
CALL 80 33.3%
LOAD_GLOBAL_MODULE 40 16.7%
Successors Count Percentage
POP_TOP 60 25.0%
LOAD_FAST 60 25.0%
STORE_FAST 60 25.0%
CALL_PY_EXACT_ARGS 40 16.7%
CALL 20 8.3%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 70,784,240 57.3%
LOAD_FAST 25,783,540 20.9%
BINARY_OP 8,700,720 7.0%
LOAD_ATTR_INSTANCE_VALUE 7,849,760 6.4%
RETURN_VALUE 7,480,360 6.1%
Successors Count Percentage
RESUME_CHECK 123,474,160 100.0%
CALL_PY_EXACT_ARGS 32,120 0.0%
RESUME 60 0.0%

COMPARE_OP_FLOAT

Successors and predecessors for COMPARE_OP_FLOAT
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 1,101,000 99.7%
UNARY_NEGATIVE 2,200 0.2%
BINARY_SUBSCR_TUPLE_INT 1,460 0.1%
COMPARE_OP 60 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 1,104,720 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_CONST 1,226,600 100.0%
COMPARE_OP 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 1,226,620 100.0%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
GET_ITER 1,281,540 51.1%
SWAP 1,221,180 48.7%
JUMP_BACKWARD 3,420 0.1%
FOR_ITER 100 0.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 1,648,780 65.8%
STORE_FAST 849,320 33.9%
LOAD_GLOBAL_BUILTIN 7,080 0.3%
LOAD_FAST 700 0.0%
RETURN_CONST 280 0.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
JUMP_BACKWARD 1,200 60.6%
GET_ITER 560 28.3%
EXTENDED_ARG 120 6.1%
FOR_ITER 100 5.1%
Successors Count Percentage
STORE_FAST 1,860 93.9%
LOAD_FAST 40 2.0%
LOAD_GLOBAL 40 2.0%
LOAD_GLOBAL_MODULE 40 2.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 385,503,020 92.0%
LOAD_FAST_LOAD_FAST 33,412,560 8.0%
LOAD_ATTR_INSTANCE_VALUE 7,520 0.0%
LOAD_ATTR 1,680 0.0%
ENTER_EXECUTOR 1,280 0.0%
Successors Count Percentage
LOAD_FAST 186,610,120 44.5%
BINARY_OP_MULTIPLY_FLOAT 99,216,540 23.7%
BINARY_OP_SUBTRACT_FLOAT 36,709,640 8.8%
BINARY_OP 35,869,980 8.6%
ENTER_EXECUTOR 29,296,720 7.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_FAST 820,720 99.9%
LOAD_ATTR_INSTANCE_VALUE 720 0.1%
LOAD_ATTR 160 0.0%
Successors Count Percentage
LOAD_FAST 819,000 99.7%
LOAD_CONST 1,980 0.2%
LOAD_FAST_LOAD_FAST 620 0.1%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 111,213,680 96.6%
LOAD_ATTR_INSTANCE_VALUE 1,673,400 1.5%
LOAD_FAST_LOAD_FAST 854,820 0.7%
RETURN_VALUE 818,920 0.7%
BINARY_OP 538,160 0.5%
Successors Count Percentage
CALL_PY_EXACT_ARGS 70,784,240 61.5%
LOAD_FAST 33,532,900 29.1%
LOAD_CONST 9,127,400 7.9%
LOAD_FAST_LOAD_FAST 1,654,300 1.4%
LOAD_ATTR_METHOD_WITH_VALUES 7,180 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 8,397,200 100.0%
LOAD_ATTR 160 0.0%
Successors Count Percentage
PUSH_NULL 8,397,300 100.0%
LOAD_FAST 60 0.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
LOAD_CONST 4,799,760 53.0%
STORE_SUBSCR 1,599,920 17.7%
LOAD_GLOBAL_BUILTIN 925,560 10.2%
STORE_FAST 800,360 8.8%
POP_TOP 309,840 3.4%
Successors Count Percentage
LOAD_CONST 4,808,320 53.1%
LOAD_FAST 3,326,060 36.7%
LOAD_GLOBAL_BUILTIN 925,560 10.2%
LOAD_FAST_LOAD_FAST 60 0.0%
LOAD_GLOBAL 60 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
POP_JUMP_IF_FALSE 24,351,240 51.8%
RESUME_CHECK 19,173,760 40.8%
LOAD_FAST 1,416,480 3.0%
STORE_FAST 1,236,400 2.6%
POP_TOP 853,360 1.8%
Successors Count Percentage
LOAD_FAST 25,484,360 54.2%
LOAD_FAST_LOAD_FAST 11,741,500 25.0%
LOAD_ATTR_MODULE 8,397,200 17.9%
COMPARE_OP_FLOAT 1,101,000 2.3%
LOAD_ATTR 308,940 0.7%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 123,474,160 63.8%
CALL_ALLOC_AND_ENTER_INIT 44,517,200 23.0%
CACHE 25,483,300 13.2%
CALL 520 0.0%
CALL_FUNCTION_EX 140 0.0%
Successors Count Percentage
LOAD_FAST 105,409,320 54.5%
LOAD_FAST_LOAD_FAST 44,634,960 23.1%
RETURN_CONST 23,829,160 12.3%
LOAD_GLOBAL_MODULE 19,173,760 9.9%
BUILD_LIST 426,680 0.2%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 117,843,980 92.0%
LOAD_FAST 10,298,800 8.0%
STORE_ATTR 560 0.0%
STORE_ATTR_INSTANCE_VALUE 60 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 73,326,680 57.2%
RETURN_CONST 45,312,780 35.4%
LOAD_FAST 9,076,280 7.1%
RETURN_VALUE 426,620 0.3%
LOAD_CONST 740 0.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
RETURN_CONST 24,682,360 100.0%
TO_BOOL 60 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 23,829,160 96.5%
POP_JUMP_IF_TRUE 853,260 3.5%

TO_BOOL_INT

Successors and predecessors for TO_BOOL_INT
Predecessors Count Percentage
BINARY_OP 308,520 100.0%
TO_BOOL 20 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 308,540 100.0%

TO_BOOL_NONE

Successors and predecessors for TO_BOOL_NONE
Predecessors Count Percentage
LOAD_FAST 40 66.7%
TO_BOOL 20 33.3%
Successors Count Percentage
POP_JUMP_IF_FALSE 60 100.0%

UNPACK_SEQUENCE_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TUPLE
Predecessors Count Percentage
LOAD_FAST 426,600 100.0%
UNPACK_SEQUENCE 20 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 426,620 100.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
FOR_ITER_LIST 1,648,780 100.0%
UNPACK_SEQUENCE 40 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 1,648,820 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.

85,099,640 30.0%
hit

Specialized instructions that complete.

196,840,060 69.5%
miss

Specialized instructions that deopt.

29,494,840 10.4%
Success Count Ratio
Success 557,420 38.8%
Failure 877,700 61.2%
Failure kind Count Ratio
subtract different types 780,160 88.9%
multiply different types 59,420 6.8%
add different types 30,900 3.5%
subtract other 3,100 0.4%
true divide float 2,260 0.3%
true divide different types 840 0.1%
add other 760 0.1%
remainder 260 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.

160 0.0%
hit

Specialized instructions that complete.

1,153,340 100.0%
Success Count Ratio
Success 160 100.0%
Failure 0 0.0%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

1,672,460 0.9%
hit

Specialized instructions that complete.

184,599,800 99.1%
miss

Specialized instructions that deopt.

1,702,460 0.9%
Success Count Ratio
Success 34,160 99.9%
Failure 20 0.1%
Failure kind Count Ratio
class no vectorcall 20 100.0%
init not simple 20 100.0%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

13,597,280 85.3%
hit

Specialized instructions that complete.

2,331,340 14.6%
Success Count Ratio
Success 80 1.8%
Failure 4,300 98.2%
Failure kind Count Ratio
float long 4,300 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.

200 0.0%
hit

Specialized instructions that complete.

2,508,220 100.0%
Success Count Ratio
Success 200 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.

1,877,080 0.3%
hit

Specialized instructions that complete.

542,474,760 99.7%
miss

Specialized instructions that deopt.

780,060 0.1%
Success Count Ratio
Success 17,540 96.1%
Failure 720 3.9%
Failure kind Count Ratio
method 380 52.8%
mutable class 320 44.4%
metaclass attribute 20 2.8%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

3,340 0.0%
hit

Specialized instructions that complete.

56,094,560 100.0%
miss

Specialized instructions that deopt.

2,120 0.0%
Success Count Ratio
Success 1,300 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

POP_JUMP_IF_NONE

specialization stats for POP_JUMP_IF_NONE family

POP_JUMP_IF_NOT_NONE

specialization stats for POP_JUMP_IF_NOT_NONE family

POP_JUMP_IF_TRUE

specialization stats for POP_JUMP_IF_TRUE family

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

3,340 0.0%
hit

Specialized instructions that complete.

128,140,500 100.0%
miss

Specialized instructions that deopt.

2,900 0.0%
Success Count Ratio
Success 620 100.0%
Failure 0 0.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
deferred

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

2,400,400 100.0%
Success Count Ratio
Success 0 0.0%
Failure 1,200 100.0%
Failure kind Count Ratio
array int 1,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.

820,300 3.2%
hit

Specialized instructions that complete.

24,991,020 96.8%
Success Count Ratio
Success 100 20.0%
Failure 400 80.0%
Failure kind Count Ratio
float 400 100.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

60 0.0%
hit

Specialized instructions that complete.

2,075,440 100.0%
Success Count Ratio
Success 60 100.0%
Failure 0 0.0%

Specialization effectiveness

specialization effectiveness

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

Instructions Count Ratio
Basic

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

1,305,852,880 46.7%
Not specialized

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

124,580,460 4.5%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

1,334,684,660 47.7%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

31,982,380 1.1%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
BINARY_OP 85,099,640 80.7%
COMPARE_OP 13,597,280 12.9%
STORE_SUBSCR 2,400,400 2.3%
LOAD_ATTR 1,877,080 1.8%
CALL 1,672,460 1.6%
TO_BOOL 820,300 0.8%
LOAD_GLOBAL 3,340 0.0%
STORE_ATTR 3,340 0.0%
FOR_ITER 200 0.0%
BINARY_SUBSCR 160 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
BINARY_OP_SUBTRACT_FLOAT 20,177,240 63.1%
BINARY_OP_MULTIPLY_FLOAT 4,425,520 13.8%
BINARY_OP_MULTIPLY_INT 3,182,260 10.0%
CALL_PY_EXACT_ARGS 1,702,460 5.3%
BINARY_OP_ADD_FLOAT 1,239,180 3.9%
BINARY_OP_SUBTRACT_INT 468,520 1.5%
LOAD_ATTR_INSTANCE_VALUE 398,960 1.2%
LOAD_ATTR_METHOD_WITH_VALUES 381,100 1.2%
STORE_ATTR_INSTANCE_VALUE 2,900 0.0%
BINARY_OP_ADD_INT 2,120 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 25,483,520 11.1%
Calls to Python functions inlined 203,880,000 88.9%
Calls via PyEval_EvalFrame (total) 25,483,520 11.1%
Calls via PyEval_EvalFrame (vector) 25,483,520 11.1%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 25,483,520 11.1%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 24,682,480 10.8%
Calls via PyEval_EvalFrame (function ex) 240 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 273,880,720 119.4%

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 304,630,800 82.7%
Frees to freelist 304,633,520
Allocations 63,803,880 17.3%
Allocations to 512 bytes 63,803,360 17.3%
Allocations to 4 kbytes 340 0.0%
Allocations over 4 kbytes 180 0.0%
Frees 65,441,531
Inline values 44,518,240
Interpreter increfs 2,403,432,280 96.5%
Interpreter decrefs 2,614,901,960 91.5%
Increfs 87,238,950 3.5%
Decrefs 242,600,628 8.5%
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 6,028,275
Method cache misses 1,185
Method cache collisions 875
Method cache dunder hits 24,683,712
Method cache dunder misses 408

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

Generation Collections Objects collected Object visits
0 0 0 0
1 0 0 0
2 0 0 0

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer
Count Ratio
Optimization attempts

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

13,820
Traces created

The number of traces that were successfully created.

620 4.5%
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.

10,380 75.1%
Trace too long

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

0 0.0%
Trace too short

A potential trace is abandoced because it it too short.

13,200 95.5%
Inner loop found

A trace is truncated because it has an inner loop

160 1.2%
Recursive call

A trace is truncated because it has a recursive call.

0 0.0%
Low confidence

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

0 0.0%
Executors invalidated

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

0 0.0%
Traces executed

The number of traces that were executed

110,897,480
Uops executed

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

1,863,026,240 1,680.0%
Count Ratio
Optimizer attempts

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

620
Optimizer successes

The number of traces that were successfully optimized.

620 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 80 12.9%
<= 16 80 12.9%
<= 32 160 25.8%
<= 64 120 19.4%
<= 128 40 6.5%
<= 256 120 19.4%
<= 512 20 3.2%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 60 9.7%
<= 8 40 6.5%
<= 16 160 25.8%
<= 32 140 22.6%
<= 64 60 9.7%
<= 128 80 12.9%
<= 256 80 12.9%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 1,670,540 1.5%
<= 8 39,917,420 36.0%
<= 16 5,612,000 5.1%
<= 32 6,877,000 6.2%
<= 64 1,273,480 1.1%
<= 128 7,232,120 6.5%
<= 256 753,620 0.7%
<= 512 15,120 0.0%
<= 1,024 42,400 0.0%
<= 2,048 378,940 0.3%
<= 4,096 0 0.0%
<= 8,192 0 0.0%
<= 16,384 0 0.0%
<= 32,768 0 0.0%
<= 65,536 0 0.0%
<= 131,072 0 0.0%
<= 262,144 80 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_GUARD_TYPE_VERSION 144,333,380 7.7% 7.7% 1.5%
_SET_IP 106,105,260 5.7% 13.4%
_CHECK_MANAGED_OBJECT_HAS_VALUES 104,103,160 5.6% 19.0%
_LOAD_ATTR_INSTANCE_VALUE_0 104,103,160 5.6% 24.6%
_LOAD_FAST_1 87,138,500 4.7% 29.3%
_GUARD_BOTH_FLOAT 77,782,400 4.2% 33.5% 14.2%
_LOAD_FAST_0 71,897,680 3.9% 37.3%
_CHECK_VALIDITY 68,997,980 3.7% 41.0%
_EXIT_TRACE 63,772,720 3.4% 44.5%
_START_EXECUTOR 63,772,720 3.4% 47.9%
_LOAD_FAST_2 59,049,920 3.2% 51.0%
_BINARY_OP 57,792,740 3.1% 54.2%
_BINARY_OP_ADD_FLOAT 47,267,960 2.5% 56.7%
_COLD_EXIT 47,124,760 2.5% 59.2%
_BINARY_OP_MULTIPLY_FLOAT 38,665,760 2.1% 61.3%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 38,057,700 2.0% 63.3%
_GUARD_KEYS_VERSION 38,057,700 2.0% 65.4%
_LOAD_ATTR_METHOD_WITH_VALUES 38,057,700 2.0% 67.4%
_CHECK_FUNCTION_EXACT_ARGS 37,107,280 2.0% 69.4% 3.3%
_RESUME_CHECK 35,887,420 1.9% 71.3%
_PUSH_FRAME 35,887,420 1.9% 73.3%
_SAVE_RETURN_OFFSET 35,887,420 1.9% 75.2%
_STORE_FAST_3 29,488,040 1.6% 76.8%
_GUARD_NOT_EXHAUSTED_LIST 29,446,620 1.6% 78.4% 13.9%
_ITER_CHECK_LIST 29,446,620 1.6% 79.9%
_TIER2_RESUME_CHECK 29,407,680 1.6% 81.5%
_LOAD_FAST_3 29,179,620 1.6% 83.1%
_STORE_FAST_2 28,082,280 1.5% 84.6%
_LOAD_CONST_INLINE_BORROW 26,885,500 1.4% 86.0%
_ITER_NEXT_LIST 25,340,200 1.4% 87.4%
_POP_FRAME 22,876,360 1.2% 88.6%
_INIT_CALL_PY_EXACT_ARGS_1 22,437,360 1.2% 89.8%
_BINARY_SUBSCR_TUPLE_INT 16,320,100 0.9% 90.7%
_POP_TOP 14,754,580 0.8% 91.5%
_UNPACK_SEQUENCE_TWO_TUPLE 14,747,780 0.8% 92.3%
_INIT_CALL_PY_EXACT_ARGS_0 12,270,080 0.7% 92.9%
_CHECK_STACK_SPACE_OPERAND 11,813,620 0.6% 93.6%
_JUMP_TO_TOP 10,478,480 0.6% 94.1%
_GUARD_IS_NONE_POP 10,216,300 0.5% 94.7% 14.9%
_LOAD_CONST_INLINE_WITH_NULL 10,209,860 0.5% 95.2%
_STORE_FAST_4 9,946,620 0.5% 95.8%
_CHECK_FUNCTION 9,930,600 0.5% 96.3%
_BINARY_OP_SUBTRACT_FLOAT 6,403,360 0.3% 96.6%
_BUILD_TUPLE 4,925,000 0.3% 96.9%
_LOAD_FAST_4 4,296,880 0.2% 97.1%
_GUARD_IS_TRUE_POP 4,078,040 0.2% 97.4% 1.9%
_LOAD_ATTR 3,821,300 0.2% 97.6%
_LIST_APPEND 3,670,080 0.2% 97.8%
_CHECK_VALIDITY_AND_SET_IP 3,233,320 0.2% 97.9%
_COMPARE_OP 2,858,160 0.2% 98.1%
_LOAD_FAST 2,839,680 0.2% 98.2%
_LOAD_CONST_INLINE 2,839,120 0.2% 98.4%
_UNARY_NEGATIVE 2,711,400 0.1% 98.5%
_GUARD_TOS_FLOAT 2,561,880 0.1% 98.7%
_GET_ITER 1,653,740 0.1% 98.8%
_STORE_FAST_1 1,646,940 0.1% 98.9%
_STORE_FAST 1,623,960 0.1% 98.9%
_GUARD_NOT_EXHAUSTED_RANGE 1,614,800 0.1% 99.0% 0.5%
_ITER_CHECK_RANGE 1,614,800 0.1% 99.1%
_ITER_NEXT_RANGE 1,606,600 0.1% 99.2%
_GUARD_IS_FALSE_POP 1,514,500 0.1% 99.3% 30.0%
_COMPARE_OP_FLOAT 1,514,500 0.1% 99.4%
_CHECK_PERIODIC 1,374,480 0.1% 99.4%
_TO_BOOL 1,219,880 0.1% 99.5%
_LOAD_FAST_6 1,080,400 0.1% 99.6%
_PUSH_NULL 948,640 0.1% 99.6%
_CALL_BUILTIN_O 948,640 0.1% 99.7%
_BINARY_OP_ADD_INT 799,600 0.0% 99.7%
_BINARY_OP_MULTIPLY_INT 799,600 0.0% 99.7%
_STORE_SUBSCR 799,600 0.0% 99.8%
_LOAD_FAST_7 799,280 0.0% 99.8%
_INIT_CALL_PY_EXACT_ARGS_3 753,720 0.0% 99.9%
_LOAD_FAST_5 753,720 0.0% 99.9%
_STORE_FAST_6 662,160 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_2 426,260 0.0% 100.0%
_CALL_BUILTIN_FAST_WITH_KEYWORDS 418,240 0.0% 100.0%
_GUARD_NOS_FLOAT 69,720 0.0% 100.0%
_CALL_BUILTIN_CLASS 7,600 0.0% 100.0%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 7,600 0.0% 100.0%

Pair counts

Pair counts for top 100 Non-JIT uop pairs

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

Pair Count Self Cumulative
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 104,103,160 5.6% 5.6%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 104,103,160 5.6% 11.2%
_LOAD_FAST_1 _GUARD_TYPE_VERSION 61,771,960 3.3% 14.5%
_BINARY_OP _CHECK_VALIDITY 55,786,900 3.0% 17.5%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 55,541,600 3.0% 20.5%
_SET_IP _BINARY_OP 54,965,740 3.0% 23.4%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_1 41,744,880 2.2% 25.7%
_START_EXECUTOR _SET_IP 39,045,840 2.1% 27.8%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_BOTH_FLOAT 38,143,000 2.0% 29.8%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 38,057,700 2.0% 31.8%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 38,057,700 2.0% 33.9%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 38,057,700 2.0% 35.9%
_CHECK_VALIDITY _GUARD_BOTH_FLOAT 37,954,160 2.0% 38.0%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 36,708,560 2.0% 39.9%
_PUSH_FRAME _RESUME_CHECK 35,887,420 1.9% 41.9%
_SAVE_RETURN_OFFSET _PUSH_FRAME 35,887,420 1.9% 43.8%
_GUARD_BOTH_FLOAT _BINARY_OP_MULTIPLY_FLOAT 33,576,800 1.8% 45.6%
_GUARD_BOTH_FLOAT _BINARY_OP_ADD_FLOAT 30,314,240 1.6% 47.2%
_ITER_CHECK_LIST _GUARD_NOT_EXHAUSTED_LIST 29,446,620 1.6% 48.8%
_BINARY_OP_ADD_FLOAT _EXIT_TRACE 28,496,840 1.5% 50.3%
_TIER2_RESUME_CHECK _ITER_CHECK_LIST 27,800,480 1.5% 51.8%
_GUARD_NOT_EXHAUSTED_LIST _ITER_NEXT_LIST 25,340,200 1.4% 53.2%
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET 22,437,360 1.2% 54.4%
_RESUME_CHECK _LOAD_FAST_0 20,378,300 1.1% 55.5%
_START_EXECUTOR _TIER2_RESUME_CHECK 18,929,200 1.0% 56.5%
_LOAD_FAST_2 _GUARD_TYPE_VERSION 18,402,160 1.0% 57.5%
_STORE_FAST_2 _LOAD_FAST_2 18,314,280 1.0% 58.5%
_BINARY_OP_MULTIPLY_FLOAT _BINARY_OP_ADD_FLOAT 16,884,000 0.9% 59.4%
_LOAD_CONST_INLINE_BORROW _BINARY_SUBSCR_TUPLE_INT 16,320,100 0.9% 60.2%
_LOAD_ATTR_INSTANCE_VALUE_0 _SET_IP 16,307,660 0.9% 61.1%
_ITER_NEXT_LIST _UNPACK_SEQUENCE_TWO_TUPLE 14,747,780 0.8% 61.9%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_1 14,653,920 0.8% 62.7%
_LOAD_FAST_2 _LOAD_CONST_INLINE_BORROW 13,032,280 0.7% 63.4%
_BINARY_OP_ADD_FLOAT _LOAD_FAST_0 12,730,720 0.7% 64.1%
_RESUME_CHECK _LOAD_FAST_1 12,692,520 0.7% 64.8%
_INIT_CALL_PY_EXACT_ARGS_0 _SAVE_RETURN_OFFSET 12,270,080 0.7% 65.4%
_LOAD_ATTR_METHOD_WITH_VALUES _SET_IP 12,270,080 0.7% 66.1%
_CHECK_FUNCTION_EXACT_ARGS _INIT_CALL_PY_EXACT_ARGS_0 11,871,360 0.6% 66.7%
_CHECK_FUNCTION_EXACT_ARGS _INIT_CALL_PY_EXACT_ARGS_1 11,871,360 0.6% 67.4%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 11,813,620 0.6% 68.0%
_LOAD_FAST_2 _SET_IP 11,591,020 0.6% 68.6%
_POP_TOP _LOAD_FAST_0 11,472,640 0.6% 69.2%
_BINARY_OP_MULTIPLY_FLOAT _LOAD_FAST_0 11,472,640 0.6% 69.8%
_LOAD_FAST_0 _POP_FRAME 11,472,640 0.6% 70.5%
_POP_FRAME _POP_TOP 11,472,640 0.6% 71.1%
_GUARD_BOTH_FLOAT _EXIT_TRACE 11,027,660 0.6% 71.7%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_1 10,566,000 0.6% 72.2%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 10,478,480 0.6% 72.8%
_LOAD_FAST_1 _SET_IP 10,192,960 0.5% 73.3%
_LOAD_FAST_1 _LOAD_FAST_2 9,889,020 0.5% 73.9%
_STORE_FAST_2 _STORE_FAST_3 9,768,000 0.5% 74.4%
_BINARY_SUBSCR_TUPLE_INT _STORE_FAST_3 9,767,440 0.5% 74.9%
_ITER_NEXT_LIST _STORE_FAST_2 9,767,440 0.5% 75.5%
_LOAD_FAST_3 _GUARD_IS_NONE_POP 9,767,440 0.5% 76.0%
_STORE_FAST_3 _LOAD_FAST_3 9,767,440 0.5% 76.5%
_UNPACK_SEQUENCE_TWO_TUPLE _STORE_FAST_2 8,548,120 0.5% 77.0%
_LOAD_FAST_2 _LOAD_FAST_2 8,548,120 0.5% 77.4%
_STORE_FAST_3 _LOAD_FAST_2 8,548,120 0.5% 77.9%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 7,881,560 0.4% 78.3%
_CHECK_VALIDITY _STORE_FAST_2 7,326,960 0.4% 78.7%
_GUARD_IS_NONE_POP _JUMP_TO_TOP 7,228,680 0.4% 79.1%
_CHECK_VALIDITY _EXIT_TRACE 6,624,180 0.4% 79.4%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_2 6,624,180 0.4% 79.8%
_LOAD_FAST_2 _LOAD_FAST_1 6,624,180 0.4% 80.1%
_UNPACK_SEQUENCE_TWO_TUPLE _STORE_FAST_3 6,199,660 0.3% 80.5%
_LOAD_FAST_3 _GUARD_TYPE_VERSION 6,199,660 0.3% 80.8%
_STORE_FAST_3 _STORE_FAST_4 6,199,660 0.3% 81.1%
_STORE_FAST_4 _LOAD_FAST_3 6,199,660 0.3% 81.5%
_POP_FRAME _LOAD_FAST_3 6,197,160 0.3% 81.8%
_BINARY_OP_ADD_FLOAT _POP_FRAME 5,411,360 0.3% 82.1%
_LOAD_ATTR_METHOD_WITH_VALUES _CHECK_FUNCTION 4,954,720 0.3% 82.4%
_GUARD_NOT_EXHAUSTED_LIST _EXIT_TRACE 4,106,420 0.2% 82.6%
_CHECK_VALIDITY _GUARD_IS_TRUE_POP 4,078,040 0.2% 82.8%
_SET_IP _LOAD_ATTR 3,821,300 0.2% 83.0%
_LOAD_ATTR _CHECK_VALIDITY 3,821,300 0.2% 83.2%
_BUILD_TUPLE _LIST_APPEND 3,670,080 0.2% 83.4%
_GUARD_IS_TRUE_POP _LOAD_CONST_INLINE_BORROW 3,670,080 0.2% 83.6%
_LOAD_FAST_3 _BUILD_TUPLE 3,670,080 0.2% 83.8%
_LOAD_FAST_1 _LOAD_FAST_0 3,594,000 0.2% 84.0%
_START_EXECUTOR _POP_TOP 3,281,940 0.2% 84.2%
_BINARY_SUBSCR_TUPLE_INT _LOAD_FAST_1 3,264,840 0.2% 84.4%
_LOAD_FAST_0 _LOAD_CONST_INLINE_BORROW 3,264,840 0.2% 84.5%
_STORE_FAST_3 _LOAD_FAST_0 2,953,340 0.2% 84.7%
_CHECK_VALIDITY _POP_FRAME 2,880,000 0.2% 84.8%
_SET_IP _COMPARE_OP 2,858,160 0.2% 85.0%
_COMPARE_OP _CHECK_VALIDITY 2,858,160 0.2% 85.1%
_LOAD_CONST_INLINE_BORROW _SET_IP 2,858,160 0.2% 85.3%
_CHECK_VALIDITY_AND_SET_IP _BINARY_OP 2,827,000 0.2% 85.5%
_SET_IP _UNARY_NEGATIVE 2,711,400 0.1% 85.6%
_GUARD_IS_NONE_POP _EXIT_TRACE 2,563,020 0.1% 85.7%
_GUARD_TOS_FLOAT _BINARY_OP_MULTIPLY_FLOAT 2,561,880 0.1% 85.9%
_BINARY_OP_MULTIPLY_FLOAT _BINARY_OP_SUBTRACT_FLOAT 2,527,080 0.1% 86.0%
_BINARY_OP_MULTIPLY_FLOAT _LOAD_FAST_2 2,527,080 0.1% 86.1%
_BINARY_OP_SUBTRACT_FLOAT _BINARY_OP_SUBTRACT_FLOAT 2,527,080 0.1% 86.3%
_BINARY_OP_SUBTRACT_FLOAT _STORE_FAST_4 2,527,080 0.1% 86.4%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_0 2,527,080 0.1% 86.6%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_2 2,527,080 0.1% 86.7%
_LOAD_FAST_3 _BINARY_OP_MULTIPLY_FLOAT 2,527,080 0.1% 86.8%
_LOAD_FAST_3 _LOAD_FAST_3 2,527,080 0.1% 87.0%
_LOAD_FAST_4 _LOAD_CONST_INLINE_BORROW 2,527,080 0.1% 87.1%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 2,960
CALL_ALLOC_AND_ENTER_INIT 200

Optimizer errored out with opcode

Optimization stopped after encountering this opcode

Rare events

Counts of rare/unlikely events
Event Count
set class

Setting an object's class, obj.__class__ = ...

0
set bases

Setting the bases of a class, cls.__bases__ = ...

0
set eval frame func

Setting the PEP 523 frame eval function _PyInterpreterState_SetFrameEvalFunc()

0
builtin dict

Modifying the builtins, __builtins__.__dict__[var] = ...

0
func modification

Modifying a function, e.g. func.__defaults__ = ..., etc.

0
watched dict modification

A watched dict has been modified

0
watched globals modification

A watched globals() dict has been modified

0

Meta stats

Meta statistics
Count
Number of data files 20

Stats gathered on: 2024-06-16