Skip to content

Latest commit

 

History

History
10397 lines (9618 loc) · 194 KB

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

File metadata and controls

10397 lines (9618 loc) · 194 KB

Pystats results

  • benchmark: scimark
  • fork: python
  • ref: 0ac40acec045c4ce780cf7d887fcbe4c661e82b7
  • commit hash: 0ac40ac
  • commit date: 2024-12-14T17:25:49+02:00

Execution counts

Execution counts for Tier 1 instructions.

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

Name Count Self Cumulative Miss ratio
RETURN_VALUE 151,719,514 13.2% 13.2%
LOAD_FAST 141,441,231 12.3% 25.5%
ENTER_EXECUTOR 114,469,239 9.9% 35.4%
LOAD_FAST_LOAD_FAST 107,064,395 9.3% 44.7%
BINARY_SUBSCR 96,970,181 8.4% 53.2%
BINARY_SUBSCR_GETITEM 66,767,464 5.8% 59.0%
BINARY_OP_MULTIPLY_FLOAT 48,081,605 4.2% 63.1%
SWAP 43,324,946 3.8% 66.9%
COPY 43,318,290 3.8% 70.7%
STORE_SUBSCR 36,704,333 3.2% 73.9%
BUILD_TUPLE 31,706,142 2.8% 76.6%
BINARY_OP_ADD_FLOAT 31,393,876 2.7% 79.3%
LOAD_SMALL_INT 30,801,599 2.7% 82.0%
BINARY_OP_SUBTRACT_FLOAT 28,468,541 2.5% 84.5%
STORE_FAST 24,810,443 2.2% 86.7%
BINARY_OP_ADD_INT 18,852,135 1.6% 88.3%
CALL_PY_EXACT_ARGS 13,394,743 1.2% 89.5%
LOAD_ATTR_METHOD_WITH_VALUES 13,368,129 1.2% 90.6%
LOAD_CONST 13,020,264 1.1% 91.8%
LOAD_ATTR_INSTANCE_VALUE 11,089,769 1.0% 92.7%
RESUME_CHECK 8,265,737 0.7% 93.4% 0.0%
BINARY_OP_SUBTRACT_INT 7,813,833 0.7% 94.1%
STORE_FAST_STORE_FAST 7,626,501 0.7% 94.8%
LOAD_CONST_IMMORTAL 6,839,036 0.6% 95.4%
UNPACK_SEQUENCE_TWO_TUPLE 6,834,445 0.6% 96.0%
INTERPRETER_EXIT 6,798,742 0.6% 96.6%
POP_JUMP_IF_TRUE 6,723,524 0.6% 97.1%
COMPARE_OP_FLOAT 6,716,798 0.6% 97.7%
POP_JUMP_IF_FALSE 4,378,803 0.4% 98.1%
LOAD_GLOBAL_BUILTIN 2,644,531 0.2% 98.3%
COMPARE_OP_INT 2,096,235 0.2% 98.5%
STORE_ATTR_INSTANCE_VALUE 1,618,802 0.1% 98.7%
TO_BOOL_BOOL 1,490,551 0.1% 98.8%
JUMP_BACKWARD 1,305,196 0.1% 98.9%
BINARY_SUBSCR_TUPLE_INT 1,280,317 0.1% 99.0%
FOR_ITER_RANGE 1,276,834 0.1% 99.1%
CALL_BUILTIN_CLASS 1,252,506 0.1% 99.2%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 1,221,017 0.1% 99.3%
BINARY_OP_MULTIPLY_INT 909,770 0.1% 99.4%
POP_TOP 837,846 0.1% 99.5%
COMPARE_OP 798,768 0.1% 99.6%
BINARY_OP 771,780 0.1% 99.6%
CALL_ISINSTANCE 677,777 0.1% 99.7%
BINARY_SUBSCR_LIST_INT 665,617 0.1% 99.7%
YIELD_VALUE 640,000 0.1% 99.8%
CALL_BUILTIN_O 451,385 0.0% 99.8%
GET_ITER 373,141 0.0% 99.9%
FOR_ITER_GEN 262,143 0.0% 99.9%
LOAD_GLOBAL_MODULE 233,458 0.0% 99.9%
JUMP_FORWARD 220,469 0.0% 99.9%
LOAD_ATTR_MODULE 193,273 0.0% 99.9%
LIST_APPEND 143,872 0.0% 100.0%
EXTENDED_ARG 134,400 0.0% 100.0%
STORE_FAST_LOAD_FAST 131,072 0.0% 100.0%
PUSH_NULL 130,332 0.0% 100.0%
CALL_NON_PY_GENERAL 15,233 0.0% 100.0%
BUILD_LIST 13,976 0.0% 100.0%
STORE_SUBSCR_LIST_INT 12,159 0.0% 100.0%
FOR_ITER 6,905 0.0% 100.0%
CALL 2,610 0.0% 100.0%
LOAD_ATTR 2,351 0.0% 100.0%
LOAD_GLOBAL 1,658 0.0% 100.0%
CALL_FUNCTION_EX 648 0.0% 100.0%
LOAD_DEREF 648 0.0% 100.0%
LOAD_ATTR_METHOD_NO_DICT 638 0.0% 100.0%
STORE_ATTR 612 0.0% 100.0%
TO_BOOL 549 0.0% 100.0%
EXIT_INIT_CHECK 378 0.0% 100.0%
CALL_ALLOC_AND_ENTER_INIT 378 0.0% 100.0%
MAKE_FUNCTION 324 0.0% 100.0%
NOP 324 0.0% 100.0%
CALL_INTRINSIC_1 324 0.0% 100.0%
COPY_FREE_VARS 324 0.0% 100.0%
IS_OP 324 0.0% 100.0%
LIST_EXTEND 324 0.0% 100.0%
MAKE_CELL 324 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 324 0.0% 100.0%
SET_FUNCTION_ATTRIBUTE 324 0.0% 100.0%
STORE_DEREF 324 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 319 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_O 319 0.0% 100.0%
CALL_PY_GENERAL 319 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 252 0.0% 100.0%
POP_JUMP_IF_NONE 192 0.0% 100.0%
LOAD_FAST_AND_CLEAR 192 0.0% 100.0%
UNPACK_SEQUENCE 118 0.0% 100.0%
RESUME 67 0.0% 100.0% 2,435.8%
END_FOR 64 0.0% 100.0%
RETURN_GENERATOR 64 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
ENTER_EXECUTOR RETURN_VALUE 113,265,384 9.8% 9.8%
BINARY_SUBSCR_GETITEM ENTER_EXECUTOR 66,709,597 5.8% 15.6%
RETURN_VALUE LOAD_FAST 63,695,928 5.5% 21.2%
BINARY_SUBSCR LOAD_FAST_LOAD_FAST 42,847,223 3.7% 24.9%
LOAD_FAST BINARY_SUBSCR 42,364,738 3.7% 28.6%
LOAD_FAST_LOAD_FAST BINARY_SUBSCR_GETITEM 42,114,445 3.7% 32.2%
BINARY_SUBSCR RETURN_VALUE 30,732,801 2.7% 34.9%
RETURN_VALUE BINARY_SUBSCR 30,732,800 2.7% 37.6%
STORE_SUBSCR ENTER_EXECUTOR 28,032,892 2.4% 40.0%
LOAD_FAST BUILD_TUPLE 25,226,564 2.2% 42.2%
BUILD_TUPLE BINARY_SUBSCR_GETITEM 24,653,004 2.1% 44.4%
COPY BINARY_SUBSCR 21,604,082 1.9% 46.2%
COPY COPY 21,604,082 1.9% 48.1%
SWAP STORE_SUBSCR 21,604,082 1.9% 50.0%
SWAP SWAP 21,604,082 1.9% 51.9%
LOAD_FAST COPY 21,331,200 1.9% 53.7%
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_SUBTRACT_FLOAT 21,264,094 1.8% 55.6%
BINARY_SUBSCR BINARY_OP_MULTIPLY_FLOAT 21,023,540 1.8% 57.4%
BINARY_OP_SUBTRACT_FLOAT SWAP 21,014,399 1.8% 59.2%
LOAD_FAST_LOAD_FAST LOAD_FAST 19,624,720 1.7% 60.9%
BINARY_OP_ADD_FLOAT LOAD_FAST_LOAD_FAST 18,504,592 1.6% 62.5%
RETURN_VALUE BINARY_OP_ADD_FLOAT 18,439,674 1.6% 64.1%
LOAD_SMALL_INT BINARY_OP_ADD_INT 18,115,927 1.6% 65.7%
LOAD_FAST LOAD_SMALL_INT 16,999,251 1.5% 67.2%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 13,236,654 1.2% 68.3%
LOAD_FAST_LOAD_FAST LOAD_SMALL_INT 12,930,768 1.1% 69.5%
LOAD_FAST_LOAD_FAST BINARY_OP_MULTIPLY_FLOAT 12,923,302 1.1% 70.6%
RETURN_VALUE STORE_FAST 12,807,816 1.1% 71.7%
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_ADD_FLOAT 12,682,088 1.1% 72.8%
CALL_PY_EXACT_ARGS ENTER_EXECUTOR 12,529,114 1.1% 73.9%
STORE_FAST LOAD_FAST_LOAD_FAST 10,821,255 0.9% 74.8%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 9,248,926 0.8% 75.6%
LOAD_SMALL_INT BINARY_OP_SUBTRACT_INT 7,802,575 0.7% 76.3%
STORE_FAST LOAD_FAST 7,737,770 0.7% 77.0%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 7,650,061 0.7% 77.7%
LOAD_ATTR_METHOD_WITH_VALUES CALL_PY_EXACT_ARGS 7,179,360 0.6% 78.3%
RESUME_CHECK LOAD_FAST 6,997,040 0.6% 78.9%
UNPACK_SEQUENCE_TWO_TUPLE STORE_FAST_STORE_FAST 6,834,445 0.6% 79.5%
LOAD_CONST_IMMORTAL RETURN_VALUE 6,819,788 0.6% 80.1%
CACHE RESUME_CHECK 6,799,051 0.6% 80.7%
RETURN_VALUE INTERPRETER_EXIT 6,798,741 0.6% 81.3%
RETURN_VALUE LOAD_FAST_LOAD_FAST 6,792,638 0.6% 81.8%
STORE_SUBSCR LOAD_CONST_IMMORTAL 6,786,561 0.6% 82.4%
BUILD_TUPLE STORE_SUBSCR 6,786,560 0.6% 83.0%
COMPARE_OP_FLOAT POP_JUMP_IF_TRUE 6,716,798 0.6% 83.6%
BINARY_OP_SUBTRACT_FLOAT LOAD_FAST_LOAD_FAST 6,473,797 0.6% 84.2%
BINARY_OP_MULTIPLY_FLOAT LOAD_FAST_LOAD_FAST 6,466,772 0.6% 84.7%
LOAD_FAST BINARY_OP_SUBTRACT_FLOAT 6,412,352 0.6% 85.3%
BINARY_OP_ADD_FLOAT LOAD_CONST 6,399,999 0.6% 85.8%
LOAD_CONST COMPARE_OP_FLOAT 6,399,998 0.6% 86.4%
LOAD_CONST LOAD_FAST 6,275,520 0.5% 86.9%
BINARY_OP_ADD_INT LOAD_FAST 6,240,738 0.5% 87.5%
BINARY_OP_MULTIPLY_FLOAT LOAD_CONST 6,210,558 0.5% 88.0%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 6,200,990 0.5% 88.6%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST_LOAD_FAST 6,188,047 0.5% 89.1%
LOAD_FAST UNPACK_SEQUENCE_TWO_TUPLE 6,187,726 0.5% 89.6%
STORE_FAST_STORE_FAST LOAD_FAST_LOAD_FAST 6,152,960 0.5% 90.2%
RETURN_VALUE STORE_SUBSCR 6,146,560 0.5% 90.7%
BINARY_OP_ADD_INT BUILD_TUPLE 6,146,559 0.5% 91.2%
BINARY_OP_SUBTRACT_INT LOAD_FAST 6,146,559 0.5% 91.8%
RETURN_VALUE BINARY_OP_MULTIPLY_FLOAT 6,146,558 0.5% 92.3%
BINARY_OP_ADD_FLOAT BINARY_OP_MULTIPLY_FLOAT 6,146,558 0.5% 92.9%
BINARY_OP_ADD_INT STORE_FAST 5,185,349 0.5% 93.3%
STORE_FAST ENTER_EXECUTOR 5,061,359 0.4% 93.7%
POP_JUMP_IF_TRUE LOAD_FAST 5,057,152 0.4% 94.2%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 3,439,259 0.3% 94.5%
POP_JUMP_IF_FALSE LOAD_FAST 2,532,034 0.2% 94.7%
COMPARE_OP_INT POP_JUMP_IF_FALSE 2,019,437 0.2% 94.9%
LOAD_FAST_LOAD_FAST BINARY_SUBSCR 1,952,252 0.2% 95.0%
LOAD_SMALL_INT COMPARE_OP_INT 1,680,350 0.1% 95.2%
LOAD_GLOBAL_BUILTIN LOAD_FAST 1,672,207 0.1% 95.3%
POP_JUMP_IF_TRUE ENTER_EXECUTOR 1,651,456 0.1% 95.5%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 1,617,176 0.1% 95.6%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 1,616,910 0.1% 95.8%
BINARY_OP_SUBTRACT_INT STORE_FAST 1,524,345 0.1% 95.9%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 1,490,232 0.1% 96.0%
POP_JUMP_IF_FALSE LOAD_FAST_LOAD_FAST 1,486,180 0.1% 96.2%
LOAD_SMALL_INT BINARY_SUBSCR_TUPLE_INT 1,280,210 0.1% 96.3%
FOR_ITER_RANGE STORE_FAST 1,128,004 0.1% 96.4%
LOAD_FAST CALL_BUILTIN_CLASS 1,051,448 0.1% 96.5%
BINARY_OP_SUBTRACT_FLOAT STORE_FAST 980,026 0.1% 96.5%
JUMP_BACKWARD FOR_ITER_RANGE 904,014 0.1% 96.6%
CALL_BUILTIN_CLASS BINARY_OP_MULTIPLY_FLOAT 876,450 0.1% 96.7%
CALL_PY_EXACT_ARGS RESUME_CHECK 865,247 0.1% 96.8%
STORE_SUBSCR LOAD_FAST 863,238 0.1% 96.8%
BINARY_SUBSCR LOAD_FAST 855,343 0.1% 96.9%
LOAD_FAST BINARY_OP_MULTIPLY_FLOAT 834,340 0.1% 97.0%
LOAD_FAST STORE_SUBSCR 816,002 0.1% 97.1%
LOAD_FAST LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 815,962 0.1% 97.1%
BINARY_OP_MULTIPLY_FLOAT RETURN_VALUE 812,518 0.1% 97.2%
LOAD_ATTR_INSTANCE_VALUE TO_BOOL_BOOL 812,452 0.1% 97.3%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES LOAD_GLOBAL_BUILTIN 812,452 0.1% 97.3%
LOAD_SMALL_INT COMPARE_OP 798,467 0.1% 97.4%
COMPARE_OP POP_JUMP_IF_FALSE 798,405 0.1% 97.5%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST_STORE_FAST 792,043 0.1% 97.6%
STORE_FAST_STORE_FAST STORE_FAST 791,983 0.1% 97.6%
BINARY_SUBSCR BINARY_OP_SUBTRACT_FLOAT 791,977 0.1% 97.7%
LOAD_SMALL_INT LOAD_FAST 693,245 0.1% 97.7%
STORE_FAST_STORE_FAST LOAD_FAST 681,494 0.1% 97.8%
RESUME_CHECK LOAD_GLOBAL_BUILTIN 678,031 0.1% 97.9%

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 6,799,051 100.0%
RESUME 14 0.0%
POP_TOP 1 0.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_FAST 42,364,738 43.7%
RETURN_VALUE 30,732,800 31.7%
COPY 21,604,082 22.3%
LOAD_FAST_LOAD_FAST 1,952,252 2.0%
BINARY_OP_ADD_INT 282,875 0.3%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 42,847,223 44.2%
RETURN_VALUE 30,732,801 31.7%
BINARY_OP_MULTIPLY_FLOAT 21,023,540 21.7%
LOAD_FAST 855,343 0.9%
BINARY_OP_SUBTRACT_FLOAT 791,977 0.8%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_VALUE 378 100.0%
Successors Count Percentage
RETURN_VALUE 378 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 372,471 99.8%
LOAD_FAST 324 0.1%
SWAP 192 0.1%
RETURN_GENERATOR 64 0.0%
CALL_NON_PY_GENERAL 63 0.0%
Successors Count Percentage
FOR_ITER_RANGE 372,789 99.9%
LOAD_FAST_AND_CLEAR 192 0.1%
FOR_ITER 97 0.0%
FOR_ITER_GEN 63 0.0%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
RETURN_VALUE 6,798,741 100.0%
YIELD_VALUE 1 0.0%

MAKE_FUNCTION

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

NOP

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

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RESUME_CHECK 524,160 62.6%
ENTER_EXECUTOR 292,113 34.9%
RETURN_VALUE 20,684 2.5%
CALL_METHOD_DESCRIPTOR_O 319 0.0%
CALL_NON_PY_GENERAL 319 0.0%
Successors Count Percentage
JUMP_BACKWARD 408,582 48.8%
ENTER_EXECUTOR 263,971 31.5%
LOAD_GLOBAL_BUILTIN 64,002 7.6%
LOAD_FAST 57,948 6.9%
LOAD_FAST_LOAD_FAST 16,327 1.9%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 129,274 99.2%
LOAD_FAST 712 0.5%
LOAD_DEREF 324 0.2%
LOAD_ATTR 22 0.0%
Successors Count Percentage
LOAD_FAST 128,648 98.7%
CALL_NON_PY_GENERAL 856 0.7%
CALL 440 0.3%
LOAD_FAST_LOAD_FAST 388 0.3%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
ENTER_EXECUTOR 113,265,384 74.7%
BINARY_SUBSCR 30,732,801 20.3%
LOAD_CONST_IMMORTAL 6,819,788 4.5%
BINARY_OP_MULTIPLY_FLOAT 812,518 0.5%
BINARY_OP_ADD_INT 55,062 0.0%
Successors Count Percentage
LOAD_FAST 63,695,928 42.0%
BINARY_SUBSCR 30,732,800 20.3%
BINARY_OP_ADD_FLOAT 18,439,674 12.2%
STORE_FAST 12,807,816 8.4%
INTERPRETER_EXIT 6,798,741 4.5%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
SWAP 21,604,082 58.9%
BUILD_TUPLE 6,786,560 18.5%
RETURN_VALUE 6,146,560 16.7%
LOAD_FAST 816,002 2.2%
BINARY_SUBSCR_TUPLE_INT 639,999 1.7%
Successors Count Percentage
ENTER_EXECUTOR 28,032,892 76.4%
LOAD_CONST_IMMORTAL 6,786,561 18.5%
LOAD_FAST 863,238 2.4%
JUMP_BACKWARD 570,816 1.6%
LOAD_FAST_LOAD_FAST 441,270 1.2%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 322 58.7%
LOAD_FAST 110 20.0%
TO_BOOL 105 19.1%
LOAD_ATTR 8 1.5%
CALL 2 0.4%
Successors Count Percentage
POP_JUMP_IF_FALSE 329 59.9%
TO_BOOL_BOOL 110 20.0%
TO_BOOL 105 19.1%
POP_JUMP_IF_TRUE 5 0.9%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 401,851 52.1%
LOAD_FAST 87,050 11.3%
LOAD_FAST_LOAD_FAST 73,760 9.6%
LOAD_CONST 64,024 8.3%
BINARY_OP_MULTIPLY_FLOAT 64,009 8.3%
Successors Count Percentage
STORE_FAST 601,727 78.0%
CALL_BUILTIN_O 63,998 8.3%
LOAD_GLOBAL_MODULE 63,998 8.3%
LIST_APPEND 12,800 1.7%
BINARY_OP 8,900 1.2%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
LOAD_SMALL_INT 13,460 96.3%
LOAD_FAST 324 2.3%
SWAP 192 1.4%
Successors Count Percentage
CALL_NON_PY_GENERAL 13,238 94.7%
LOAD_DEREF 324 2.3%
CALL 222 1.6%
SWAP 192 1.4%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST 25,226,564 79.6%
BINARY_OP_ADD_INT 6,146,559 19.4%
LOAD_FAST_LOAD_FAST 266,244 0.8%
BINARY_OP_SUBTRACT_INT 66,773 0.2%
BINARY_OP 2 0.0%
Successors Count Percentage
BINARY_SUBSCR_GETITEM 24,653,004 77.8%
STORE_SUBSCR 6,786,560 21.4%
YIELD_VALUE 265,920 0.8%
LOAD_CONST 324 0.0%
CALL_METHOD_DESCRIPTOR_O 214 0.0%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 584 22.4%
LOAD_FAST_LOAD_FAST 450 17.2%
PUSH_NULL 440 16.9%
LOAD_CONST_IMMORTAL 244 9.3%
BUILD_LIST 222 8.5%
Successors Count Percentage
CALL_NON_PY_GENERAL 799 30.6%
CALL_PY_EXACT_ARGS 705 27.0%
CALL_BUILTIN_CLASS 357 13.7%
CALL_ALLOC_AND_ENTER_INIT 126 4.8%
CALL_METHOD_DESCRIPTOR_NOARGS 105 4.0%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
CALL_INTRINSIC_1 324 50.0%
LOAD_FAST 324 50.0%
Successors Count Percentage
RESUME_CHECK 319 98.5%
RESUME 5 1.5%

CALL_INTRINSIC_1

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

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_SMALL_INT 798,467 100.0%
COMPARE_OP 273 0.0%
LOAD_FAST_LOAD_FAST 12 0.0%
BINARY_OP 4 0.0%
COPY 4 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 798,405 100.0%
COMPARE_OP 273 0.0%
COMPARE_OP_INT 84 0.0%
POP_JUMP_IF_TRUE 3 0.0%
COMPARE_OP_FLOAT 2 0.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
COPY 21,604,082 49.9%
LOAD_FAST 21,331,200 49.2%
LOAD_FAST_LOAD_FAST 140,088 0.3%
BINARY_OP_ADD_INT 132,792 0.3%
SWAP 110,126 0.3%
Successors Count Percentage
BINARY_SUBSCR 21,604,082 49.9%
COPY 21,604,082 49.9%
COMPARE_OP_INT 110,122 0.3%
COMPARE_OP 4 0.0%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 319 98.5%
CALL 5 1.5%
Successors Count Percentage
RESUME_CHECK 319 98.5%
RESUME 5 1.5%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD 6,755 97.8%
GET_ITER 97 1.4%
FOR_ITER 53 0.8%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 6,398 92.7%
LOAD_FAST 325 4.7%
LOAD_CONST_IMMORTAL 64 0.9%
FOR_ITER 53 0.8%
FOR_ITER_RANGE 31 0.4%

IS_OP

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

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
STORE_SUBSCR 570,816 43.7%
POP_TOP 408,582 31.3%
LIST_APPEND 143,872 11.0%
STORE_FAST 99,904 7.7%
EXTENDED_ARG 64,000 4.9%
Successors Count Percentage
FOR_ITER_RANGE 904,014 69.3%
FOR_ITER_GEN 262,079 20.1%
LOAD_FAST_LOAD_FAST 132,098 10.1%
FOR_ITER 6,755 0.5%
POP_TOP 112 0.0%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_FAST 110,343 50.0%
POP_JUMP_IF_FALSE 110,126 50.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 165,082 74.9%
LOAD_SMALL_INT 55,063 25.0%
LOAD_FAST 324 0.1%

LIST_EXTEND

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

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 1,209 51.4%
LOAD_GLOBAL_MODULE 423 18.0%
LOAD_FAST_LOAD_FAST 346 14.7%
LOAD_ATTR_INSTANCE_VALUE 210 8.9%
LOAD_ATTR 116 4.9%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 449 19.1%
LOAD_ATTR_MODULE 423 18.0%
LOAD_ATTR_METHOD_WITH_VALUES 363 15.4%
LOAD_FAST_LOAD_FAST 336 14.3%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 333 14.2%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
BINARY_OP_ADD_FLOAT 6,399,999 49.2%
BINARY_OP_MULTIPLY_FLOAT 6,210,558 47.7%
STORE_FAST 200,522 1.5%
LOAD_FAST 130,902 1.0%
POP_JUMP_IF_FALSE 70,528 0.5%
Successors Count Percentage
COMPARE_OP_FLOAT 6,399,998 49.2%
LOAD_FAST 6,275,520 48.2%
STORE_FAST 136,654 1.0%
BINARY_OP_MULTIPLY_FLOAT 66,814 0.5%
BINARY_OP 64,024 0.5%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
BUILD_LIST 324 50.0%
RESUME_CHECK 319 49.2%
RESUME 5 0.8%
Successors Count Percentage
PUSH_NULL 324 50.0%
LIST_EXTEND 324 50.0%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
RETURN_VALUE 63,695,928 45.0%
LOAD_FAST_LOAD_FAST 19,624,720 13.9%
LOAD_ATTR_INSTANCE_VALUE 9,248,926 6.5%
STORE_FAST 7,737,770 5.5%
RESUME_CHECK 6,997,040 4.9%
Successors Count Percentage
BINARY_SUBSCR 42,364,738 30.0%
BUILD_TUPLE 25,226,564 17.8%
COPY 21,331,200 15.1%
LOAD_SMALL_INT 16,999,251 12.0%
LOAD_ATTR_METHOD_WITH_VALUES 13,236,654 9.4%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
BINARY_SUBSCR 42,847,223 40.0%
BINARY_OP_ADD_FLOAT 18,504,592 17.3%
STORE_FAST 10,821,255 10.1%
RETURN_VALUE 6,792,638 6.3%
BINARY_OP_SUBTRACT_FLOAT 6,473,797 6.0%
Successors Count Percentage
BINARY_SUBSCR_GETITEM 42,114,445 39.3%
LOAD_FAST 19,624,720 18.3%
LOAD_SMALL_INT 12,930,768 12.1%
BINARY_OP_MULTIPLY_FLOAT 12,923,302 12.1%
LOAD_ATTR_INSTANCE_VALUE 7,650,061 7.1%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 744 44.9%
RESUME_CHECK 444 26.8%
STORE_ATTR_INSTANCE_VALUE 148 8.9%
FOR_ITER_RANGE 134 8.1%
POP_TOP 46 2.8%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,018 61.4%
LOAD_GLOBAL_BUILTIN 531 32.0%
LOAD_FAST 37 2.2%
LOAD_ATTR 23 1.4%
LOAD_FAST_LOAD_FAST 22 1.3%

LOAD_SMALL_INT

Successors and predecessors for LOAD_SMALL_INT
Predecessors Count Percentage
LOAD_FAST 16,999,251 55.2%
LOAD_FAST_LOAD_FAST 12,930,768 42.0%
STORE_FAST 291,320 0.9%
LOAD_GLOBAL_BUILTIN 253,199 0.8%
POP_JUMP_IF_FALSE 97,039 0.3%
Successors Count Percentage
BINARY_OP_ADD_INT 18,115,927 58.8%
BINARY_OP_SUBTRACT_INT 7,802,575 25.3%
COMPARE_OP_INT 1,680,350 5.5%
BINARY_SUBSCR_TUPLE_INT 1,280,210 4.2%
COMPARE_OP 798,467 2.6%

MAKE_CELL

Successors and predecessors for MAKE_CELL
Predecessors Count Percentage
CALL_PY_GENERAL 319 98.5%
CALL 5 1.5%
Successors Count Percentage
RESUME_CHECK 319 98.5%
RESUME 5 1.5%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 2,019,437 46.1%
TO_BOOL_BOOL 1,490,232 34.0%
COMPARE_OP 798,405 18.2%
EXTENDED_ARG 70,400 1.6%
TO_BOOL 329 0.0%
Successors Count Percentage
LOAD_FAST 2,532,034 57.8%
LOAD_FAST_LOAD_FAST 1,486,180 33.9%
JUMP_FORWARD 110,126 2.5%
LOAD_SMALL_INT 97,039 2.2%
LOAD_CONST 70,528 1.6%

POP_JUMP_IF_NONE

Successors and predecessors for POP_JUMP_IF_NONE
Predecessors Count Percentage
LOAD_FAST 192 100.0%
Successors Count Percentage
LOAD_CONST_IMMORTAL 192 100.0%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 324 100.0%
Successors Count Percentage
LOAD_CONST 324 100.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
COMPARE_OP_FLOAT 6,716,798 99.9%
COMPARE_OP_INT 6,399 0.1%
TO_BOOL_BOOL 319 0.0%
TO_BOOL 5 0.0%
COMPARE_OP 3 0.0%
Successors Count Percentage
LOAD_FAST 5,057,152 75.2%
ENTER_EXECUTOR 1,651,456 24.6%
JUMP_BACKWARD 8,256 0.1%
LOAD_GLOBAL_BUILTIN 6,334 0.1%
NOP 324 0.0%

SET_FUNCTION_ATTRIBUTE

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

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 486 79.4%
LOAD_FAST_LOAD_FAST 126 20.6%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 576 94.1%
LOAD_CONST_IMMORTAL 9 1.5%
LOAD_FAST 8 1.3%
LOAD_GLOBAL 8 1.3%
LOAD_CONST 6 1.0%

STORE_DEREF

Successors and predecessors for STORE_DEREF
Predecessors Count Percentage
CALL_NON_PY_GENERAL 319 98.5%
CALL 5 1.5%
Successors Count Percentage
LOAD_FAST 324 100.0%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 12,807,816 51.6%
BINARY_OP_ADD_INT 5,185,349 20.9%
BINARY_OP_SUBTRACT_INT 1,524,345 6.1%
FOR_ITER_RANGE 1,128,004 4.5%
BINARY_OP_SUBTRACT_FLOAT 980,026 4.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 10,821,255 43.6%
LOAD_FAST 7,737,770 31.2%
ENTER_EXECUTOR 5,061,359 20.4%
LOAD_SMALL_INT 291,320 1.2%
LOAD_GLOBAL_BUILTIN 273,968 1.1%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 6,834,445 89.6%
LOAD_ATTR_INSTANCE_VALUE 792,043 10.4%
UNPACK_SEQUENCE 9 0.0%
LOAD_ATTR 4 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 6,152,960 80.7%
STORE_FAST 791,983 10.4%
LOAD_FAST 681,494 8.9%
LOAD_GLOBAL_BUILTIN 42 0.0%
LOAD_GLOBAL 22 0.0%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
SWAP 21,604,082 49.9%
BINARY_OP_SUBTRACT_FLOAT 21,014,399 48.5%
BINARY_OP_MULTIPLY_FLOAT 324,092 0.7%
BINARY_OP_ADD_FLOAT 265,584 0.6%
LOAD_FAST 110,126 0.3%
Successors Count Percentage
STORE_SUBSCR 21,604,082 49.9%
SWAP 21,604,082 49.9%
COPY 110,126 0.3%
LOAD_FAST_LOAD_FAST 6,080 0.0%
GET_ITER 192 0.0%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
CALL_METHOD_DESCRIPTOR_NOARGS 105 89.0%
CALL 5 4.2%
LOAD_FAST 4 3.4%
FOR_ITER 3 2.5%
YIELD_VALUE 1 0.8%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 109 92.4%
STORE_FAST_STORE_FAST 9 7.6%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 36 53.7%
CACHE 14 20.9%
CALL_FUNCTION_EX 5 7.5%
COPY_FREE_VARS 5 7.5%
MAKE_CELL 5 7.5%
Successors Count Percentage
LOAD_FAST 29 43.3%
LOAD_GLOBAL 24 35.8%
LOAD_DEREF 5 7.5%
LOAD_FAST_LOAD_FAST 5 7.5%
LOAD_SMALL_INT 3 4.5%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
RETURN_VALUE 18,439,674 58.7%
BINARY_OP_MULTIPLY_FLOAT 12,682,088 40.4%
LOAD_FAST 265,580 0.8%
BINARY_OP 6,534 0.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 18,504,592 58.9%
LOAD_CONST 6,399,999 20.4%
BINARY_OP_MULTIPLY_FLOAT 6,146,558 19.6%
SWAP 265,584 0.8%
STORE_FAST 73,881 0.2%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_SMALL_INT 18,115,927 96.1%
LOAD_FAST 581,290 3.1%
LOAD_FAST_LOAD_FAST 154,866 0.8%
BINARY_OP 52 0.0%
Successors Count Percentage
LOAD_FAST 6,240,738 33.1%
BUILD_TUPLE 6,146,559 32.6%
STORE_FAST 5,185,349 27.5%
STORE_SUBSCR 544,068 2.9%
BINARY_SUBSCR 282,875 1.5%

BINARY_OP_MULTIPLY_FLOAT

Successors and predecessors for BINARY_OP_MULTIPLY_FLOAT
Predecessors Count Percentage
BINARY_SUBSCR 21,023,540 43.7%
LOAD_FAST_LOAD_FAST 12,923,302 26.9%
RETURN_VALUE 6,146,558 12.8%
BINARY_OP_ADD_FLOAT 6,146,558 12.8%
CALL_BUILTIN_CLASS 876,450 1.8%
Successors Count Percentage
BINARY_OP_SUBTRACT_FLOAT 21,264,094 44.2%
BINARY_OP_ADD_FLOAT 12,682,088 26.4%
LOAD_FAST_LOAD_FAST 6,466,772 13.4%
LOAD_CONST 6,210,558 12.9%
RETURN_VALUE 812,518 1.7%

BINARY_OP_MULTIPLY_INT

Successors and predecessors for BINARY_OP_MULTIPLY_INT
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 335,364 36.9%
BINARY_OP_ADD_INT 197,527 21.7%
LOAD_FAST 193,746 21.3%
LOAD_SMALL_INT 127,996 14.1%
LOAD_ATTR_INSTANCE_VALUE 55,061 6.1%
Successors Count Percentage
STORE_FAST 396,973 43.6%
LOAD_FAST_LOAD_FAST 332,019 36.5%
CALL_BUILTIN_CLASS 125,651 13.8%
LOAD_FAST 55,062 6.1%
BINARY_OP 63 0.0%

BINARY_OP_SUBTRACT_FLOAT

Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors Count Percentage
BINARY_OP_MULTIPLY_FLOAT 21,264,094 74.7%
LOAD_FAST 6,412,352 22.5%
BINARY_SUBSCR 791,977 2.8%
BINARY_OP 118 0.0%
Successors Count Percentage
SWAP 21,014,399 73.8%
LOAD_FAST_LOAD_FAST 6,473,797 22.7%
STORE_FAST 980,026 3.4%
RETURN_VALUE 319 0.0%

BINARY_OP_SUBTRACT_INT

Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors Count Percentage
LOAD_SMALL_INT 7,802,575 99.9%
LOAD_FAST_LOAD_FAST 11,244 0.1%
BINARY_OP 14 0.0%
Successors Count Percentage
LOAD_FAST 6,146,559 78.7%
STORE_FAST 1,524,345 19.5%
BUILD_TUPLE 66,773 0.9%
CALL_BUILTIN_CLASS 63,356 0.8%
COMPARE_OP_INT 12,796 0.2%

BINARY_SUBSCR_GETITEM

Successors and predecessors for BINARY_SUBSCR_GETITEM
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 42,114,445 63.1%
BUILD_TUPLE 24,653,004 36.9%
BINARY_SUBSCR 15 0.0%
Successors Count Percentage
ENTER_EXECUTOR 66,709,597 99.9%
RESUME_CHECK 57,867 0.1%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_SMALL_INT 1,280,210 100.0%
BINARY_SUBSCR 107 0.0%
Successors Count Percentage
STORE_SUBSCR 639,999 50.0%
BINARY_SUBSCR_LIST_INT 639,998 50.0%
STORE_FAST 319 0.0%
BINARY_SUBSCR 1 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
CALL 126 33.3%
LOAD_FAST_LOAD_FAST 126 33.3%
LOAD_SMALL_INT 126 33.3%
Successors Count Percentage
RESUME_CHECK 378 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_FAST 1,051,448 83.9%
BINARY_OP_MULTIPLY_INT 125,651 10.0%
BINARY_OP_SUBTRACT_INT 63,356 5.1%
LOAD_ATTR_INSTANCE_VALUE 6,440 0.5%
BINARY_SUBSCR 5,128 0.4%
Successors Count Percentage
BINARY_OP_MULTIPLY_FLOAT 876,450 70.0%
GET_ITER 372,471 29.7%
BINARY_OP 3,203 0.3%
STORE_FAST 319 0.0%
LOAD_FAST 63 0.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 214 67.1%
CALL 105 32.9%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 214 67.1%
UNPACK_SEQUENCE 105 32.9%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
BUILD_TUPLE 214 67.1%
CALL 105 32.9%
Successors Count Percentage
POP_TOP 319 100.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
BUILD_LIST 13,238 86.9%
PUSH_NULL 856 5.6%
CALL 799 5.2%
LOAD_FAST_LOAD_FAST 214 1.4%
STORE_FAST 42 0.3%
Successors Count Percentage
LOAD_FAST 13,516 88.7%
RETURN_VALUE 382 2.5%
STORE_FAST 382 2.5%
POP_TOP 319 2.1%
STORE_DEREF 319 2.1%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 7,179,360 53.6%
LOAD_FAST_LOAD_FAST 6,200,990 46.3%
LOAD_FAST 6,822 0.1%
LOAD_CONST_IMMORTAL 3,412 0.0%
LOAD_SMALL_INT 3,198 0.0%
Successors Count Percentage
ENTER_EXECUTOR 12,529,114 93.5%
RESUME_CHECK 865,247 6.5%
COPY_FREE_VARS 319 0.0%
RETURN_GENERATOR 63 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_CONST_IMMORTAL 214 67.1%
CALL 105 32.9%
Successors Count Percentage
MAKE_CELL 319 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_SMALL_INT 1,680,350 80.2%
LOAD_FAST_LOAD_FAST 176,363 8.4%
COPY 110,122 5.3%
LOAD_ATTR_INSTANCE_VALUE 110,122 5.3%
BINARY_OP_SUBTRACT_INT 12,796 0.6%
Successors Count Percentage
POP_JUMP_IF_FALSE 2,019,437 96.3%
EXTENDED_ARG 70,399 3.4%
POP_JUMP_IF_TRUE 6,399 0.3%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
JUMP_BACKWARD 904,014 70.8%
GET_ITER 372,789 29.2%
FOR_ITER 31 0.0%
Successors Count Percentage
STORE_FAST 1,128,004 88.3%
STORE_FAST_LOAD_FAST 131,071 10.3%
JUMP_BACKWARD 9,765 0.8%
LOAD_FAST 6,439 0.5%
LOAD_FAST_LOAD_FAST 585 0.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 7,650,061 69.0%
LOAD_FAST 3,439,259 31.0%
LOAD_ATTR 449 0.0%
Successors Count Percentage
LOAD_FAST 9,248,926 83.4%
TO_BOOL_BOOL 812,452 7.3%
STORE_FAST_STORE_FAST 792,043 7.1%
COMPARE_OP_INT 110,122 1.0%
LOAD_SMALL_INT 63,358 0.6%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 428 67.1%
LOAD_ATTR 210 32.9%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 319 50.0%
CALL_METHOD_DESCRIPTOR_NOARGS 214 33.5%
CALL 105 16.5%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 13,236,654 99.0%
STORE_FAST_LOAD_FAST 131,070 1.0%
LOAD_ATTR 363 0.0%
RETURN_VALUE 42 0.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 7,179,360 53.7%
LOAD_FAST_LOAD_FAST 6,188,047 46.3%
LOAD_FAST 634 0.0%
LOAD_GLOBAL_MODULE 42 0.0%
CALL 25 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 192,850 99.8%
LOAD_ATTR 423 0.2%
Successors Count Percentage
PUSH_NULL 129,274 66.9%
BINARY_OP_MULTIPLY_FLOAT 63,998 33.1%
BINARY_OP 1 0.0%

LOAD_CONST_IMMORTAL

Successors and predecessors for LOAD_CONST_IMMORTAL
Predecessors Count Percentage
STORE_SUBSCR 6,786,561 99.2%
POP_TOP 13,831 0.2%
LOAD_GLOBAL_MODULE 13,575 0.2%
STORE_SUBSCR_LIST_INT 12,159 0.2%
POP_JUMP_IF_FALSE 6,400 0.1%
Successors Count Percentage
RETURN_VALUE 6,819,788 99.7%
LOAD_SMALL_INT 13,460 0.2%
CALL_PY_EXACT_ARGS 3,412 0.0%
STORE_FAST 648 0.0%
LOAD_CONST_IMMORTAL 648 0.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 812,452 30.7%
RESUME_CHECK 678,031 25.6%
LOAD_FAST 677,775 25.6%
STORE_FAST 273,968 10.4%
POP_TOP 64,002 2.4%
Successors Count Percentage
LOAD_FAST 1,672,207 63.2%
CALL_ISINSTANCE 677,775 25.6%
LOAD_SMALL_INT 253,199 9.6%
LOAD_FAST_LOAD_FAST 41,348 1.6%
CALL 2 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
STORE_FAST 148,222 63.5%
BINARY_OP 63,998 27.4%
POP_JUMP_IF_FALSE 12,796 5.5%
RESUME_CHECK 3,840 1.6%
POP_TOP 3,241 1.4%
Successors Count Percentage
LOAD_ATTR_MODULE 192,850 82.6%
LOAD_FAST_LOAD_FAST 19,833 8.5%
LOAD_CONST_IMMORTAL 13,575 5.8%
LOAD_FAST 6,525 2.8%
LOAD_ATTR 423 0.2%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CACHE 6,799,051 82.3%
CALL_PY_EXACT_ARGS 865,247 10.5%
ENTER_EXECUTOR 280,025 3.4%
FOR_ITER_GEN 262,079 3.2%
BINARY_SUBSCR_GETITEM 57,867 0.7%
Successors Count Percentage
LOAD_FAST 6,997,040 84.7%
LOAD_GLOBAL_BUILTIN 678,031 8.2%
POP_TOP 524,160 6.3%
LOAD_SMALL_INT 61,524 0.7%
LOAD_GLOBAL_MODULE 3,840 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 1,617,176 99.9%
LOAD_FAST 1,050 0.1%
STORE_ATTR 576 0.0%
Successors Count Percentage
LOAD_FAST 1,616,910 99.9%
LOAD_CONST_IMMORTAL 567 0.0%
LOAD_CONST 378 0.0%
LOAD_GLOBAL_BUILTIN 378 0.0%
LOAD_FAST_LOAD_FAST 190 0.0%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 812,452 54.5%
CALL_ISINSTANCE 677,775 45.5%
LOAD_FAST 214 0.0%
TO_BOOL 110 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 1,490,232 100.0%
POP_JUMP_IF_TRUE 319 0.0%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
LOAD_FAST 6,187,726 90.5%
YIELD_VALUE 639,998 9.4%
FOR_ITER 6,398 0.1%
CALL_METHOD_DESCRIPTOR_NOARGS 214 0.0%
UNPACK_SEQUENCE 109 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 6,834,445 100.0%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
BINARY_SUBSCR_GETITEM 66,709,597 58.3%
STORE_SUBSCR 28,032,892 24.5%
CALL_PY_EXACT_ARGS 12,529,114 10.9%
STORE_FAST 5,061,359 4.4%
POP_JUMP_IF_TRUE 1,651,456 1.4%
Successors Count Percentage
RETURN_VALUE 113,265,384 98.9%
YIELD_VALUE 374,016 0.3%
POP_TOP 292,113 0.3%
RESUME_CHECK 280,025 0.2%
ENTER_EXECUTOR 220,847 0.2%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
COMPARE_OP_INT 70,399 52.4%
STORE_FAST 64,000 47.6%
COMPARE_OP 1 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 70,400 52.4%
JUMP_BACKWARD 64,000 47.6%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
RETURN_VALUE 131,072 91.1%
BINARY_OP 12,800 8.9%
Successors Count Percentage
JUMP_BACKWARD 143,872 100.0%

LOAD_FAST_AND_CLEAR

Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors Count Percentage
GET_ITER 192 100.0%
Successors Count Percentage
SWAP 192 100.0%

STORE_FAST_LOAD_FAST

Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors Count Percentage
FOR_ITER_RANGE 131,071 100.0%
FOR_ITER 1 0.0%
Successors Count Percentage
LOAD_ATTR_METHOD_WITH_VALUES 131,070 100.0%
LOAD_ATTR 2 0.0%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 126 50.0%
CALL 84 33.3%
LOAD_FAST_LOAD_FAST 42 16.7%
Successors Count Percentage
STORE_FAST 252 100.0%

CALL_BUILTIN_O

Successors and predecessors for CALL_BUILTIN_O
Predecessors Count Percentage
BINARY_SUBSCR 323,196 71.6%
LOAD_FAST 64,124 14.2%
BINARY_OP 63,998 14.2%
CALL 67 0.0%
Successors Count Percentage
STORE_FAST 451,385 100.0%

LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES

Successors and predecessors for LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 815,962 66.8%
LOAD_FAST_LOAD_FAST 404,722 33.1%
LOAD_ATTR 333 0.0%
Successors Count Percentage
LOAD_GLOBAL_BUILTIN 812,452 66.5%
BINARY_OP 401,851 32.9%
LOAD_FAST 3,261 0.3%
LOAD_SMALL_INT 3,261 0.3%
CALL_BUILTIN_FAST_WITH_KEYWORDS 126 0.0%

COMPARE_OP_FLOAT

Successors and predecessors for COMPARE_OP_FLOAT
Predecessors Count Percentage
LOAD_CONST 6,399,998 95.3%
LOAD_FAST_LOAD_FAST 316,798 4.7%
COMPARE_OP 2 0.0%
Successors Count Percentage
POP_JUMP_IF_TRUE 6,716,798 100.0%

END_FOR

Successors and predecessors for END_FOR
Predecessors Count Percentage
RETURN_VALUE 64 100.0%
Successors Count Percentage
POP_TOP 64 100.0%

RETURN_GENERATOR

Successors and predecessors for RETURN_GENERATOR
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 63 98.4%
CALL 1 1.6%
Successors Count Percentage
GET_ITER 64 100.0%

YIELD_VALUE

Successors and predecessors for YIELD_VALUE
Predecessors Count Percentage
ENTER_EXECUTOR 374,016 58.4%
BUILD_TUPLE 265,920 41.5%
JUMP_BACKWARD 64 0.0%
Successors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 639,998 100.0%
INTERPRETER_EXIT 1 0.0%
UNPACK_SEQUENCE 1 0.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
BINARY_SUBSCR_TUPLE_INT 639,998 96.2%
LOAD_FAST 25,617 3.8%
BINARY_SUBSCR 2 0.0%
Successors Count Percentage
LOAD_FAST 639,999 96.2%
RETURN_VALUE 25,618 3.8%

CALL_ISINSTANCE

Successors and predecessors for CALL_ISINSTANCE
Predecessors Count Percentage
LOAD_GLOBAL_BUILTIN 677,775 100.0%
CALL 2 0.0%
Successors Count Percentage
TO_BOOL_BOOL 677,775 100.0%
TO_BOOL 2 0.0%

FOR_ITER_GEN

Successors and predecessors for FOR_ITER_GEN
Predecessors Count Percentage
JUMP_BACKWARD 262,079 100.0%
GET_ITER 63 0.0%
FOR_ITER 1 0.0%
Successors Count Percentage
RESUME_CHECK 262,079 100.0%
POP_TOP 63 0.0%
RESUME 1 0.0%

STORE_SUBSCR_LIST_INT

Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 12,158 100.0%
STORE_SUBSCR 1 0.0%
Successors Count Percentage
LOAD_CONST_IMMORTAL 12,159 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.

769,114 0.6%
hit

Specialized instructions that complete.

135,519,760 99.4%
Success Count Ratio
Success 323 12.1%
Failure 2,343 87.9%
Failure kind Count Ratio
multiply different types 718 30.6%
remainder 459 19.6%
true divide other 442 18.9%
add different types 251 10.7%
floor divide 167 7.1%
true divide float 147 6.3%
lshift 69 2.9%
true divide different types 67 2.9%
rshift 23 1.0%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

96,945,964 58.5%
hit

Specialized instructions that complete.

68,713,398 41.5%
Success Count Ratio
Success 124 0.5%
Failure 24,093 99.5%
Failure kind Count Ratio
array int 24,072 99.9%
array slice 21 0.1%

CALL

specialization stats for CALL family
Kind Count Ratio
deferred

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

155 0.0%
hit

Specialized instructions that complete.

15,777,679 100.0%
Success Count Ratio
Success 2,455 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.

798,409 8.3%
hit

Specialized instructions that complete.

8,813,033 91.7%
Success Count Ratio
Success 86 24.0%
Failure 273 76.0%
Failure kind Count Ratio
float long 273 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.

6,820 0.4%
hit

Specialized instructions that complete.

1,538,977 99.6%
Success Count Ratio
Success 32 37.6%
Failure 53 62.4%
Failure kind Count Ratio
zip 47 88.7%
dict values 6 11.3%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
deferred

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

467 0.0%
hit

Specialized instructions that complete.

25,872,826 100.0%
Success Count Ratio
Success 1,778 94.4%
Failure 106 5.6%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

109 0.0%
hit

Specialized instructions that complete.

2,877,989 99.9%
Success Count Ratio
Success 1,549 100.0%
Failure 0 0.0%

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

36 0.0%
hit

Specialized instructions that complete.

1,618,802 100.0%
Success Count Ratio
Success 1,152 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.

36,694,845 99.9%
hit

Specialized instructions that complete.

12,159 0.0%
Success Count Ratio
Success 1 0.0%
Failure 9,487 100.0%
Failure kind Count Ratio
array int 7,663 80.8%
py simple 1,756 18.5%
array slice 68 0.7%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

334 0.0%
hit

Specialized instructions that complete.

1,490,551 100.0%
Success Count Ratio
Success 110 51.2%
Failure 105 48.8%
Failure kind Count Ratio
sequence 105 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.

9 0.0%
hit

Specialized instructions that complete.

6,834,445 100.0%
Success Count Ratio
Success 109 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.

731,139,430 63.5%
Not specialized

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

135,259,865 11.8%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

284,188,312 24.7%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

1,632 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
BINARY_SUBSCR 96,945,964 71.7%
STORE_SUBSCR 36,694,845 27.1%
COMPARE_OP 798,409 0.6%
BINARY_OP 769,114 0.6%
FOR_ITER 6,820 0.0%
LOAD_ATTR 467 0.0%
TO_BOOL 334 0.0%
CALL 155 0.0%
LOAD_GLOBAL 109 0.0%
STORE_ATTR 36 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
RESUME 1,632 50.0%
RESUME_CHECK 1,632 50.0%
CACHE 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%
INTERPRETER_EXIT 0 0.0%
MAKE_FUNCTION 0 0.0%
NOP 0 0.0%
POP_TOP 0 0.0%
PUSH_NULL 0 0.0%

Call stats

Inlined calls and frame stats

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

Also includes the count of frame objects created.

Count Ratio
Calls to PyEval_EvalDefault 6,799,066 4.5%
Calls to Python functions inlined 145,560,134 95.5%
Calls via PyEval_EvalFrame (total) 6,799,066 4.5%
Calls via PyEval_EvalFrame (vector) 6,799,065 4.5%
Calls via PyEval_EvalFrame (generator) 1 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 6,799,065 4.5%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 6,798,735 4.5%
Calls via PyEval_EvalFrame (function ex) 324 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 151,719,514 99.6%

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 1,126,443,103 98.6%
Frees to freelist 1,126,443,164
Allocations 16,466,257 1.4%
Allocations to 512 bytes 16,452,726 1.4%
Allocations to 4 kbytes 13,063 0.0%
Allocations over 4 kbytes 468 0.0%
Frees 16,465,806
Inline values 384
Interpreter mortal increfs 3,064,070,073 58.8%
Interpreter mortal decrefs 3,461,937,230 48.2%
Mortal increfs 580,133,180 11.1%
Mortal decrefs 1,325,133,004 18.4%
Interpreter immortal increfs 1,203,551,661 23.1%
Interpreter immortal decrefs 1,955,939,371 27.2%
Immortal increfs 362,755,923 7.0%
Immortal decrefs 439,316,405 6.1%
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 2,266
Method cache misses 274
Method cache collisions 340
Method cache dunder hits 70,544,854
Method cache dunder misses 133

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

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

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer
Count Ratio
Optimization attempts

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

28,033
Traces created

The number of traces that were successfully created.

332 1.2%
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.

27,773 99.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 abandoned because it it too short.

27,701 98.8%
Inner loop found

A trace is truncated because it has an inner loop

0 0.0%
Recursive call

A trace is truncated because it has a recursive call.

0 0.0%
Low confidence

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

0 0.0%
Executors invalidated

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

0 0.0%
Traces executed

The number of traces that were executed

225,541,245
Uops executed

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

11,785,931,110 5,225.6%
Count Ratio
Optimizer attempts

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

332
Optimizer successes

The number of traces that were successfully optimized.

332 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 66 19.9%
<= 16 67 20.2%
<= 32 181 54.5%
<= 64 7 2.1%
<= 128 7 2.1%
<= 256 3 0.9%
<= 512 1 0.3%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 2 0.6%
<= 8 130 39.2%
<= 16 68 20.5%
<= 32 119 35.8%
<= 64 8 2.4%
<= 128 4 1.2%
<= 256 1 0.3%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 1,632 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_LOAD_FAST 959,654,833 8.1% 8.1%
_SET_IP 920,181,534 7.8% 15.9%
_CHECK_VALIDITY 811,762,505 6.9% 22.8%
_LOAD_FAST_1 588,904,505 5.0% 27.8%
_BINARY_SUBSCR 398,480,204 3.4% 31.2%
_STORE_FAST 391,439,833 3.3% 34.5%
_LOAD_FAST_0 371,757,592 3.2% 37.7%
_MAKE_WARM 317,986,882 2.7% 40.4%
_BINARY_OP_ADD_INT 275,923,285 2.3% 42.7%
_CHECK_MANAGED_OBJECT_HAS_VALUES 268,717,873 2.3% 45.0%
_LOAD_ATTR_INSTANCE_VALUE_0 268,717,873 2.3% 47.3%
_GUARD_TOS_INT 246,094,992 2.1% 49.4%
_LOAD_FAST_2 226,286,757 1.9% 51.3%
_START_EXECUTOR 225,541,245 1.9% 53.2%
_COPY 217,282,030 1.8% 55.1%
_SWAP 217,282,030 1.8% 56.9%
_BINARY_OP_MULTIPLY_FLOAT 207,635,986 1.8% 58.7%
_LOAD_SMALL_INT_1 200,756,961 1.7% 60.4%
_COMPARE_OP_INT 192,388,317 1.6% 62.0%
_GUARD_NOS_FLOAT 187,412,396 1.6% 63.6%
_CHECK_PERIODIC 170,662,491 1.4% 65.0%
_GUARD_IS_TRUE_POP 169,723,699 1.4% 66.5% 6.1%
_STORE_SUBSCR 166,639,104 1.4% 67.9%
_EXIT_TRACE 160,404,900 1.4% 69.2%
_GUARD_TYPE_VERSION 158,240,118 1.3% 70.6%
_GUARD_NOT_EXHAUSTED_RANGE 151,046,853 1.3% 71.9% 5.4%
_ITER_CHECK_RANGE 151,046,853 1.3% 73.2%
_BINARY_OP_ADD_FLOAT 149,788,874 1.3% 74.4%
_TIER2_RESUME_CHECK 144,094,964 1.2% 75.6% 0.0%
_ITER_NEXT_RANGE 142,929,046 1.2% 76.9%
_GUARD_BOTH_FLOAT 142,873,732 1.2% 78.1%
_LOAD_FAST_4 142,275,068 1.2% 79.3%
_BINARY_OP_SUBTRACT_FLOAT 123,470,197 1.0% 80.3%
_LOAD_SMALL_INT_0 118,391,026 1.0% 81.3%
_GUARD_IS_FALSE_POP 111,884,798 0.9% 82.3% 5.0%
_BINARY_OP_MULTIPLY_INT 111,584,234 0.9% 83.2%
_LOAD_FAST_5 110,459,950 0.9% 84.2%
_JUMP_TO_TOP 92,445,637 0.8% 85.0%
_CHECK_FUNCTION 84,491,068 0.7% 85.7%
_LOAD_FAST_7 84,250,029 0.7% 86.4%
_TO_BOOL_BOOL 76,441,091 0.6% 87.0%
_LOAD_SMALL_INT_2 71,691,957 0.6% 87.6%
_LOAD_FAST_3 71,591,826 0.6% 88.2%
_DYNAMIC_EXIT 65,134,713 0.6% 88.8%
_PUSH_FRAME 65,134,713 0.6% 89.4%
_LOAD_CONST_INLINE_WITH_NULL 63,969,708 0.5% 89.9%
_BINARY_SUBSCR_LIST_INT 63,682,477 0.5% 90.4%
_CALL_ISINSTANCE 63,682,477 0.5% 91.0%
_LOAD_CONST_INLINE_BORROW 63,682,477 0.5% 91.5%
_CHECK_VALIDITY_AND_SET_IP 61,115,392 0.5% 92.0%
_STORE_FAST_2 56,603,413 0.5% 92.5%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 56,232,630 0.5% 93.0%
_GUARD_KEYS_VERSION 56,232,630 0.5% 93.5%
_STORE_FAST_3 49,862,465 0.4% 93.9%
_GUARD_NOS_INT 44,696,923 0.4% 94.3%
_STORE_FAST_4 38,715,468 0.3% 94.6%
_CHECK_FUNCTION_EXACT_ARGS 37,083,376 0.3% 94.9%
_CHECK_FUNCTION_VERSION 37,083,376 0.3% 95.2%
_CHECK_STACK_SPACE 37,083,376 0.3% 95.5%
_LOAD_ATTR_METHOD_WITH_VALUES 37,083,376 0.3% 95.9%
_SAVE_RETURN_OFFSET 37,083,376 0.3% 96.2%
_BINARY_OP_SUBTRACT_INT 36,590,633 0.3% 96.5%
_BINARY_OP 32,473,625 0.3% 96.8%
_UNPACK_SEQUENCE_TWO_TUPLE 30,691,630 0.3% 97.0%
_INIT_CALL_PY_EXACT_ARGS_2 30,691,630 0.3% 97.3%
_BINARY_SUBSCR_CHECK_FUNC 27,673,417 0.2% 97.5%
_BINARY_SUBSCR_INIT_CALL 27,673,417 0.2% 97.7%
_STORE_FAST_1 25,545,893 0.2% 98.0%
_GUARD_DORV_NO_DICT 25,525,418 0.2% 98.2%
_STORE_ATTR_INSTANCE_VALUE 25,525,418 0.2% 98.4%
_CALL_BUILTIN_CLASS 20,521,360 0.2% 98.6%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 20,521,360 0.2% 98.7%
_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 19,149,254 0.2% 98.9%
_LOAD_FAST_6 18,753,058 0.2% 99.1%
_GUARD_BOTH_INT 14,534,334 0.1% 99.2%
_STORE_FAST_7 12,958,254 0.1% 99.3%
_GUARD_TOS_FLOAT 12,843,090 0.1% 99.4%
_COMPARE_OP 12,779,089 0.1% 99.5%
_STORE_FAST_6 12,616,495 0.1% 99.6%
_POP_TOP 7,941,421 0.1% 99.7%
_GET_ITER 7,762,746 0.1% 99.8%
_LOAD_CONST_INLINE 7,113,656 0.1% 99.8%
_STORE_FAST_5 6,536,709 0.1% 99.9%
_BUILD_TUPLE 6,453,866 0.1% 99.9%
_INIT_CALL_PY_EXACT_ARGS_0 6,391,746 0.1% 100.0%
_LOAD_SMALL_INT 1,486,525 0.0% 100.0%
_FOR_ITER_GEN_FRAME 377,920 0.0% 100.0%
_DEOPT 1,632 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
_SET_IP _BINARY_SUBSCR 346,539,348 2.9% 2.9%
_BINARY_SUBSCR _CHECK_VALIDITY 345,505,478 2.9% 5.9%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 268,717,873 2.3% 8.2%
_LOAD_FAST_1 _LOAD_FAST 262,116,472 2.2% 10.4%
_START_EXECUTOR _MAKE_WARM 225,541,245 1.9% 12.3%
_LOAD_FAST _SET_IP 225,450,559 1.9% 14.2%
_SET_IP _STORE_SUBSCR 166,639,104 1.4% 15.6%
_CHECK_PERIODIC _CHECK_VALIDITY 162,521,825 1.4% 17.0%
_COMPARE_OP_INT _GUARD_IS_TRUE_POP 156,944,610 1.3% 18.3%
_GUARD_TOS_INT _COMPARE_OP_INT 153,833,897 1.3% 19.6%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 151,848,372 1.3% 20.9%
_CHECK_VALIDITY _ITER_CHECK_RANGE 151,046,853 1.3% 22.2%
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE 151,046,853 1.3% 23.5%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 150,361,847 1.3% 24.8%
_SET_IP _CHECK_PERIODIC 150,141,131 1.3% 26.0%
_MAKE_WARM _SET_IP 150,141,131 1.3% 27.3%
_CHECK_VALIDITY _LOAD_FAST 146,525,786 1.2% 28.6%
_MAKE_WARM _TIER2_RESUME_CHECK 144,094,964 1.2% 29.8%
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE 142,929,046 1.2% 31.0%
_LOAD_FAST _LOAD_SMALL_INT_1 138,048,456 1.2% 32.2%
_LOAD_SMALL_INT_1 _BINARY_OP_ADD_INT 137,912,234 1.2% 33.3%
_LOAD_FAST _LOAD_FAST 133,094,627 1.1% 34.5%
_STORE_SUBSCR _CHECK_VALIDITY 123,354,788 1.0% 35.5%
_CHECK_VALIDITY _LOAD_FAST_1 120,185,566 1.0% 36.5%
_LOAD_FAST_0 _CHECK_MANAGED_OBJECT_HAS_VALUES 118,356,026 1.0% 37.5%
_LOAD_FAST _GUARD_NOS_FLOAT 117,582,534 1.0% 38.5%
_GUARD_BOTH_FLOAT _BINARY_OP_MULTIPLY_FLOAT 117,136,353 1.0% 39.5%
_ITER_NEXT_RANGE _STORE_FAST 117,000,419 1.0% 40.5%
_GUARD_NOS_FLOAT _BINARY_OP_ADD_FLOAT 116,177,398 1.0% 41.5%
_BINARY_OP_ADD_INT _SET_IP 114,681,644 1.0% 42.5%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TOS_INT 110,472,891 0.9% 43.4%
_STORE_FAST _LOAD_FAST_1 104,242,254 0.9% 44.3%
_JUMP_TO_TOP _MAKE_WARM 92,445,637 0.8% 45.1%
_CHECK_VALIDITY _STORE_FAST 84,617,519 0.7% 45.8%
_BINARY_OP_ADD_FLOAT _STORE_FAST 78,096,917 0.7% 46.5%
_CHECK_VALIDITY _GUARD_BOTH_FLOAT 77,478,559 0.7% 47.1%
_LOAD_FAST_1 _SET_IP 76,461,566 0.6% 47.8%
_GUARD_IS_FALSE_POP _LOAD_FAST_0 76,441,091 0.6% 48.4%
_TO_BOOL_BOOL _GUARD_IS_FALSE_POP 76,441,091 0.6% 49.1%
_COPY _GUARD_TOS_INT 73,648,594 0.6% 49.7%
_SWAP _COPY 73,648,594 0.6% 50.3%
_GUARD_IS_TRUE_POP _LOAD_FAST_0 73,648,594 0.6% 50.9%
_COPY _COPY 71,816,718 0.6% 51.5%
_COPY _SET_IP 71,816,718 0.6% 52.2%
_SWAP _SWAP 71,816,718 0.6% 52.8%
_SWAP _SET_IP 71,816,718 0.6% 53.4%
_STORE_FAST _LOAD_FAST 67,854,638 0.6% 53.9%
_BINARY_OP_MULTIPLY_INT _STORE_FAST 65,270,412 0.6% 54.5%
_BINARY_OP_ADD_FLOAT _SWAP 65,270,412 0.6% 55.1%
_BINARY_OP_SUBTRACT_FLOAT _LOAD_FAST_1 65,270,412 0.6% 55.6%
_LOAD_SMALL_INT_2 _LOAD_FAST 65,270,412 0.6% 56.2%
_STORE_FAST _LOAD_SMALL_INT_2 65,270,412 0.6% 56.7%
_PUSH_FRAME _DYNAMIC_EXIT 65,134,713 0.6% 57.3%
_LOAD_FAST_4 _LOAD_FAST 64,940,289 0.6% 57.8%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 63,969,708 0.5% 58.4%
_SET_IP _BINARY_SUBSCR_LIST_INT 63,682,477 0.5% 58.9%
_SET_IP _CALL_ISINSTANCE 63,682,477 0.5% 59.4%
_CHECK_VALIDITY _TO_BOOL_BOOL 63,682,477 0.5% 60.0%
_CHECK_VALIDITY _EXIT_TRACE 63,682,477 0.5% 60.5%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_1 63,682,477 0.5% 61.1%
_LOAD_FAST_1 _LOAD_CONST_INLINE_BORROW 63,682,477 0.5% 61.6%
_TIER2_RESUME_CHECK _CHECK_FUNCTION 63,682,477 0.5% 62.1%
_BINARY_SUBSCR_LIST_INT _CHECK_VALIDITY 63,682,477 0.5% 62.7%
_CALL_ISINSTANCE _CHECK_VALIDITY 63,682,477 0.5% 63.2%
_LOAD_CONST_INLINE_BORROW _SET_IP 63,682,477 0.5% 63.8%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_1 63,682,477 0.5% 64.3%
_LOAD_FAST _GUARD_BOTH_FLOAT 58,848,867 0.5% 64.8%
_BINARY_OP_ADD_INT _BINARY_OP_MULTIPLY_INT 58,791,267 0.5% 65.3%
_GUARD_NOS_FLOAT _BINARY_OP_SUBTRACT_FLOAT 58,733,667 0.5% 65.8%
_LOAD_FAST _BINARY_OP_MULTIPLY_FLOAT 58,733,667 0.5% 66.3%
_LOAD_FAST_7 _LOAD_FAST 58,733,667 0.5% 66.8%
_STORE_FAST _LOAD_FAST_7 58,733,667 0.5% 67.3%
_LOAD_FAST_5 _LOAD_FAST_4 58,477,565 0.5% 67.8%
_LOAD_FAST _LOAD_FAST_5 58,421,809 0.5% 68.3%
_BINARY_OP_MULTIPLY_FLOAT _GUARD_NOS_FLOAT 57,328,531 0.5% 68.8%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_0 56,249,808 0.5% 69.3%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 56,232,630 0.5% 69.7%
_STORE_FAST _JUMP_TO_TOP 54,117,758 0.5% 70.2%
_BINARY_SUBSCR _CHECK_VALIDITY_AND_SET_IP 52,974,726 0.4% 70.6%
_BINARY_OP_MULTIPLY_FLOAT _LOAD_FAST 52,312,122 0.4% 71.1%
_CHECK_VALIDITY _LOAD_FAST_2 51,940,856 0.4% 71.5%
_LOAD_FAST_2 _LOAD_FAST 51,940,856 0.4% 72.0%
_CHECK_VALIDITY_AND_SET_IP _BINARY_SUBSCR 51,940,856 0.4% 72.4%
_LOAD_FAST_0 _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 49,840,884 0.4% 72.8%
_LOAD_FAST_2 _LOAD_FAST_0 49,582,911 0.4% 73.2%
_GUARD_TOS_INT _BINARY_OP_MULTIPLY_INT 46,312,918 0.4% 73.6%
_GUARD_TOS_INT _BINARY_OP_ADD_INT 45,948,177 0.4% 74.0%
_BINARY_OP_MULTIPLY_FLOAT _BINARY_OP_SUBTRACT_FLOAT 38,999,151 0.3% 74.4%
_BINARY_OP_SUBTRACT_FLOAT _STORE_FAST 38,999,151 0.3% 74.7%
_SET_IP _CHECK_FUNCTION_VERSION 37,083,376 0.3% 75.0%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE 37,083,376 0.3% 75.3%
_CHECK_FUNCTION_VERSION _CHECK_FUNCTION_EXACT_ARGS 37,083,376 0.3% 75.6%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 37,083,376 0.3% 76.0%
_SAVE_RETURN_OFFSET _PUSH_FRAME 37,083,376 0.3% 76.3%
_BINARY_OP_ADD_INT _EXIT_TRACE 36,824,297 0.3% 76.6%
_BINARY_OP_MULTIPLY_INT _LOAD_FAST_1 36,824,297 0.3% 76.9%
_GUARD_IS_TRUE_POP _LOAD_FAST_2 36,824,297 0.3% 77.2%
_GUARD_IS_TRUE_POP _LOAD_SMALL_INT_0 36,824,297 0.3% 77.5%
_LOAD_FAST_1 _SWAP 36,824,297 0.3% 77.8%
_LOAD_FAST_1 _BINARY_OP_ADD_INT 36,824,297 0.3% 78.1%

Unsupported opcodes

unsupported opcodes

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 105

Stats gathered on: 2024-12-15