Skip to content

Latest commit

 

History

History
11193 lines (10349 loc) · 207 KB

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

File metadata and controls

11193 lines (10349 loc) · 207 KB

Pystats results

  • benchmark: hexiom
  • 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
RESUME_CHECK 49,317,440 15.3% 15.3%
INTERPRETER_EXIT 47,446,640 14.7% 30.0%
POP_TOP 42,560,140 13.2% 43.2%
ENTER_EXECUTOR 41,589,780 12.9% 56.1%
YIELD_VALUE 36,383,120 11.3% 67.4%
LOAD_FAST 29,430,340 9.1% 76.5%
LOAD_ATTR_INSTANCE_VALUE 12,460,340 3.9% 80.4%
RETURN_VALUE 11,182,640 3.5% 83.8%
BINARY_SUBSCR_LIST_INT 9,831,920 3.0% 86.9%
STORE_FAST 5,680,940 1.8% 88.7%
LOAD_CONST 5,017,320 1.6% 90.2%
POP_JUMP_IF_FALSE 3,426,060 1.1% 91.3%
RETURN_CONST 3,002,340 0.9% 92.2%
FOR_ITER_LIST 2,205,780 0.7% 92.9% 0.0%
CONTAINS_OP 1,935,660 0.6% 93.5%
LOAD_DEREF 1,930,320 0.6% 94.1%
LOAD_FAST_LOAD_FAST 1,891,560 0.6% 94.7%
LOAD_GLOBAL_MODULE 1,596,380 0.5% 95.2%
POP_JUMP_IF_TRUE 1,460,840 0.5% 95.6%
TO_BOOL_BOOL 1,350,880 0.4% 96.0%
CALL_PY_EXACT_ARGS 1,255,140 0.4% 96.4%
COMPARE_OP_INT 1,075,120 0.3% 96.8%
LOAD_GLOBAL_BUILTIN 984,860 0.3% 97.1%
GET_ITER 927,520 0.3% 97.4%
STORE_ATTR_INSTANCE_VALUE 802,280 0.2% 97.6%
LOAD_ATTR_METHOD_WITH_VALUES 785,300 0.2% 97.8%
CALL_LIST_APPEND 597,700 0.2% 98.0%
BINARY_SLICE 549,720 0.2% 98.2%
SWAP 476,400 0.1% 98.3%
POP_JUMP_IF_NOT_NONE 403,740 0.1% 98.5%
FOR_ITER_RANGE 399,640 0.1% 98.6% 0.5%
CALL_BUILTIN_CLASS 398,600 0.1% 98.7%
BUILD_LIST 367,780 0.1% 98.8%
EXIT_INIT_CHECK 313,480 0.1% 98.9%
CALL_ALLOC_AND_ENTER_INIT 313,480 0.1% 99.0%
CALL_LEN 304,560 0.1% 99.1%
MAKE_CELL 257,600 0.1% 99.2%
BINARY_SUBSCR_TUPLE_INT 255,000 0.1% 99.3%
LOAD_ATTR_CLASS 250,860 0.1% 99.4%
LIST_APPEND 209,740 0.1% 99.4%
LOAD_FAST_AND_CLEAR 208,640 0.1% 99.5%
STORE_FAST_LOAD_FAST 208,500 0.1% 99.6%
CALL_PY_GENERAL 206,000 0.1% 99.6%
STORE_SUBSCR_LIST_INT 187,220 0.1% 99.7%
STORE_FAST_STORE_FAST 143,760 0.0% 99.7%
UNPACK_SEQUENCE_TWO_TUPLE 143,700 0.0% 99.8%
NOP 114,320 0.0% 99.8%
JUMP_FORWARD 103,180 0.0% 99.8%
BINARY_SUBSCR_GETITEM 98,280 0.0% 99.9%
BUILD_TUPLE 83,280 0.0% 99.9%
BINARY_OP_ADD_INT 80,240 0.0% 99.9%
CALL_KW 38,400 0.0% 99.9%
COPY 27,480 0.0% 99.9%
BINARY_OP_SUBTRACT_INT 26,860 0.0% 99.9%
STORE_SUBSCR_DICT 24,280 0.0% 100.0%
JUMP_BACKWARD 23,760 0.0% 100.0%
BINARY_OP 17,360 0.0% 100.0%
LOAD_ATTR_METHOD_NO_DICT 13,900 0.0% 100.0%
BINARY_SUBSCR_DICT 8,760 0.0% 100.0%
COMPARE_OP_STR 8,660 0.0% 100.0%
BINARY_SUBSCR_STR_INT 8,600 0.0% 100.0%
BINARY_OP_MULTIPLY_INT 7,900 0.0% 100.0%
CALL 7,260 0.0% 100.0%
CALL_STR_1 5,140 0.0% 100.0%
LOAD_ATTR 4,760 0.0% 100.0%
EXTENDED_ARG 4,720 0.0% 100.0%
LOAD_GLOBAL 4,240 0.0% 100.0%
MAKE_FUNCTION 3,820 0.0% 100.0%
RETURN_GENERATOR 3,820 0.0% 100.0%
COPY_FREE_VARS 3,820 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_O 3,780 0.0% 100.0%
SET_FUNCTION_ATTRIBUTE 3,740 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 3,720 0.0% 100.0%
STORE_DEREF 2,640 0.0% 100.0%
BINARY_SUBSCR 2,120 0.0% 100.0%
CONTAINS_OP_DICT 2,120 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST 1,980 0.0% 100.0%
COMPARE_OP 1,560 0.0% 100.0%
FOR_ITER 1,560 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 1,320 0.0% 100.0%
BUILD_MAP 1,280 0.0% 100.0%
CALL_METHOD_DESCRIPTOR_NOARGS 1,260 0.0% 100.0%
LOAD_ATTR_METHOD_LAZY_DICT 1,260 0.0% 100.0%
TO_BOOL 960 0.0% 100.0%
PUSH_NULL 860 0.0% 100.0%
RESUME 700 0.0% 100.0%
LOAD_ATTR_MODULE 600 0.0% 100.0%
STORE_ATTR 560 0.0% 100.0%
STORE_SUBSCR 400 0.0% 100.0%
CALL_NON_PY_GENERAL 180 0.0% 100.0%
CALL_FUNCTION_EX 160 0.0% 100.0%
UNPACK_SEQUENCE 120 0.0% 100.0%
CALL_INTRINSIC_1 80 0.0% 100.0%
LIST_EXTEND 80 0.0% 100.0%
LOAD_FAST_CHECK 80 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 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
CACHE RESUME_CHECK 45,531,540 14.1% 14.1%
POP_TOP ENTER_EXECUTOR 38,211,940 11.8% 26.0%
YIELD_VALUE INTERPRETER_EXIT 36,383,120 11.3% 37.3%
RESUME_CHECK POP_TOP 36,383,080 11.3% 48.5%
ENTER_EXECUTOR YIELD_VALUE 34,550,680 10.7% 59.2%
RESUME_CHECK LOAD_FAST 12,053,980 3.7% 63.0%
LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 11,978,380 3.7% 66.7%
LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 10,098,520 3.1% 69.8%
LOAD_FAST BINARY_SUBSCR_LIST_INT 9,767,540 3.0% 72.9%
BINARY_SUBSCR_LIST_INT RETURN_VALUE 9,507,680 2.9% 75.8%
RETURN_VALUE INTERPRETER_EXIT 9,147,160 2.8% 78.6%
ENTER_EXECUTOR POP_TOP 3,889,760 1.2% 79.9%
FOR_ITER_LIST STORE_FAST 2,137,860 0.7% 80.5%
POP_TOP RETURN_CONST 2,071,840 0.6% 81.2%
POP_JUMP_IF_FALSE LOAD_CONST 2,031,000 0.6% 81.8%
CONTAINS_OP POP_JUMP_IF_FALSE 1,929,540 0.6% 82.4%
LOAD_DEREF LOAD_FAST 1,917,200 0.6% 83.0%
LOAD_FAST CONTAINS_OP 1,917,200 0.6% 83.6%
RETURN_CONST INTERPRETER_EXIT 1,916,360 0.6% 84.2%
STORE_FAST LOAD_DEREF 1,915,200 0.6% 84.8%
CACHE POP_TOP 1,914,960 0.6% 85.4%
POP_TOP RESUME_CHECK 1,914,920 0.6% 85.9%
LOAD_FAST FOR_ITER_LIST 1,914,920 0.6% 86.5%
STORE_FAST LOAD_FAST 1,862,220 0.6% 87.1%
LOAD_CONST YIELD_VALUE 1,830,720 0.6% 87.7%
LOAD_CONST STORE_FAST 1,034,580 0.3% 88.0%
CALL_PY_EXACT_ARGS RESUME_CHECK 996,360 0.3% 88.3%
ENTER_EXECUTOR RETURN_VALUE 947,240 0.3% 88.6%
POP_JUMP_IF_TRUE ENTER_EXECUTOR 944,420 0.3% 88.9%
LOAD_ATTR_INSTANCE_VALUE STORE_FAST 879,740 0.3% 89.2%
TO_BOOL_BOOL POP_JUMP_IF_FALSE 875,220 0.3% 89.4%
LOAD_GLOBAL_BUILTIN LOAD_FAST 675,960 0.2% 89.7%
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST 675,620 0.2% 89.9%
ENTER_EXECUTOR POP_JUMP_IF_TRUE 671,620 0.2% 90.1%
RETURN_VALUE TO_BOOL_BOOL 671,480 0.2% 90.3%
STORE_FAST LOAD_GLOBAL_BUILTIN 646,940 0.2% 90.5%
RETURN_VALUE STORE_FAST 642,480 0.2% 90.7%
COMPARE_OP_INT POP_JUMP_IF_FALSE 616,980 0.2% 90.9%
LOAD_FAST LOAD_GLOBAL_MODULE 606,920 0.2% 91.1%
ENTER_EXECUTOR CALL_LIST_APPEND 590,840 0.2% 91.2%
CALL_LIST_APPEND ENTER_EXECUTOR 559,960 0.2% 91.4%
LOAD_CONST LOAD_CONST 555,520 0.2% 91.6%
POP_JUMP_IF_FALSE LOAD_FAST 548,420 0.2% 91.8%
LOAD_CONST BINARY_SLICE 546,300 0.2% 91.9%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 507,880 0.2% 92.1%
STORE_FAST ENTER_EXECUTOR 501,680 0.2% 92.2%
RETURN_CONST TO_BOOL_BOOL 469,140 0.1% 92.4%
LOAD_ATTR_INSTANCE_VALUE LOAD_ATTR_METHOD_WITH_VALUES 466,620 0.1% 92.5%
LOAD_ATTR_INSTANCE_VALUE LOAD_CONST 465,120 0.1% 92.7%
ENTER_EXECUTOR RETURN_CONST 461,900 0.1% 92.8%
LOAD_FAST CALL_PY_EXACT_ARGS 433,460 0.1% 93.0%
POP_JUMP_IF_FALSE ENTER_EXECUTOR 431,100 0.1% 93.1%
LOAD_GLOBAL_MODULE COMPARE_OP_INT 427,580 0.1% 93.2%
TO_BOOL_BOOL POP_JUMP_IF_TRUE 417,120 0.1% 93.4%
BINARY_SLICE STORE_FAST 406,040 0.1% 93.5%
POP_JUMP_IF_TRUE LOAD_CONST 404,560 0.1% 93.6%
LOAD_FAST POP_JUMP_IF_NOT_NONE 403,740 0.1% 93.7%
POP_JUMP_IF_NOT_NONE LOAD_FAST 401,140 0.1% 93.9%
CALL_BUILTIN_CLASS GET_ITER 384,380 0.1% 94.0%
LOAD_CONST COMPARE_OP_INT 376,240 0.1% 94.1%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 376,000 0.1% 94.2%
COMPARE_OP_INT POP_JUMP_IF_TRUE 361,580 0.1% 94.3%
LOAD_ATTR_INSTANCE_VALUE CALL_BUILTIN_CLASS 360,280 0.1% 94.4%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 358,520 0.1% 94.5%
LOAD_FAST GET_ITER 333,740 0.1% 94.6%
RESUME_CHECK LOAD_FAST_LOAD_FAST 327,240 0.1% 94.7%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 318,000 0.1% 94.8%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 313,520 0.1% 94.9%
EXIT_INIT_CHECK RETURN_VALUE 313,480 0.1% 95.0%
RETURN_CONST EXIT_INIT_CHECK 313,480 0.1% 95.1%
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK 313,480 0.1% 95.2%
STORE_FAST LOAD_CONST 304,440 0.1% 95.3%
RETURN_CONST POP_TOP 303,240 0.1% 95.4%
CALL_LEN LOAD_CONST 303,120 0.1% 95.5%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 294,120 0.1% 95.6%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST 291,760 0.1% 95.7%
STORE_FAST LOAD_GLOBAL_MODULE 280,900 0.1% 95.8%
RETURN_VALUE LOAD_ATTR_INSTANCE_VALUE 268,920 0.1% 95.9%
LOAD_FAST_LOAD_FAST LOAD_CONST 267,900 0.1% 96.0%
ENTER_EXECUTOR ENTER_EXECUTOR 260,380 0.1% 96.0%
RESUME_CHECK LOAD_CONST 259,520 0.1% 96.1%
MAKE_CELL RESUME_CHECK 257,580 0.1% 96.2%
GET_ITER ENTER_EXECUTOR 256,960 0.1% 96.3%
CALL_PY_EXACT_ARGS MAKE_CELL 255,000 0.1% 96.4%
LOAD_CONST BINARY_SUBSCR_TUPLE_INT 254,960 0.1% 96.4%
BINARY_SUBSCR_TUPLE_INT CALL_PY_EXACT_ARGS 254,960 0.1% 96.5%
FOR_ITER_RANGE STORE_FAST 250,820 0.1% 96.6%
LOAD_GLOBAL_MODULE LOAD_ATTR_CLASS 250,760 0.1% 96.7%
LOAD_ATTR_CLASS COMPARE_OP_INT 250,720 0.1% 96.7%
GET_ITER FOR_ITER_RANGE 240,060 0.1% 96.8%
LOAD_GLOBAL_BUILTIN LOAD_FAST_LOAD_FAST 220,780 0.1% 96.9%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST_LOAD_FAST 214,980 0.1% 97.0%
GET_ITER FOR_ITER_LIST 214,580 0.1% 97.0%
LOAD_FAST TO_BOOL_BOOL 209,780 0.1% 97.1%
RETURN_VALUE RETURN_VALUE 208,680 0.1% 97.1%
GET_ITER LOAD_FAST_AND_CLEAR 208,640 0.1% 97.2%
BUILD_LIST SWAP 208,640 0.1% 97.3%
LOAD_FAST_AND_CLEAR SWAP 208,640 0.1% 97.3%
SWAP BUILD_LIST 208,640 0.1% 97.4%
LIST_APPEND ENTER_EXECUTOR 208,380 0.1% 97.5%

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.

BINARY_SLICE

Successors and predecessors for BINARY_SLICE
Predecessors Count Percentage
LOAD_CONST 546,300 99.4%
BINARY_OP_ADD_INT 3,380 0.6%
BINARY_OP 40 0.0%
Successors Count Percentage
STORE_FAST 406,040 73.9%
LIST_APPEND 143,680 26.1%

CACHE

Successors and predecessors for CACHE
Successors Count Percentage
RESUME_CHECK 45,531,540 96.0%
POP_TOP 1,914,960 4.0%
RESUME 140 0.0%

BINARY_SUBSCR

Successors and predecessors for BINARY_SUBSCR
Predecessors Count Percentage
LOAD_CONST 680 32.1%
LOAD_FAST_LOAD_FAST 680 32.1%
LOAD_FAST 440 20.8%
COPY 160 7.5%
LOAD_DEREF 120 5.7%
Successors Count Percentage
BINARY_SUBSCR_LIST_INT 620 29.2%
LOAD_CONST 460 21.7%
BINARY_SUBSCR_GETITEM 260 12.3%
CALL 140 6.6%
LOAD_GLOBAL 100 4.7%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 313,480 100.0%
Successors Count Percentage
RETURN_VALUE 313,480 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 384,380 41.4%
LOAD_FAST 333,740 36.0%
LOAD_ATTR_INSTANCE_VALUE 143,200 15.4%
RETURN_VALUE 62,700 6.8%
LOAD_GLOBAL_MODULE 1,580 0.2%
Successors Count Percentage
ENTER_EXECUTOR 256,960 27.7%
FOR_ITER_RANGE 240,060 25.9%
FOR_ITER_LIST 214,580 23.1%
LOAD_FAST_AND_CLEAR 208,640 22.5%
CALL_PY_EXACT_ARGS 3,740 0.4%

INTERPRETER_EXIT

Successors and predecessors for INTERPRETER_EXIT
Predecessors Count Percentage
YIELD_VALUE 36,383,120 76.7%
RETURN_VALUE 9,147,160 19.3%
RETURN_CONST 1,916,360 4.0%

MAKE_FUNCTION

Successors and predecessors for MAKE_FUNCTION
Predecessors Count Percentage
LOAD_CONST 3,820 100.0%
Successors Count Percentage
SET_FUNCTION_ATTRIBUTE 3,740 97.9%
LOAD_FAST_CHECK 80 2.1%

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
POP_JUMP_IF_FALSE 113,920 99.7%
JUMP_BACKWARD 320 0.3%
POP_TOP 80 0.1%
Successors Count Percentage
LOAD_GLOBAL_MODULE 114,160 99.9%
LOAD_DEREF 80 0.1%
LOAD_GLOBAL 80 0.1%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RESUME_CHECK 36,383,080 85.5%
ENTER_EXECUTOR 3,889,760 9.1%
CACHE 1,914,960 4.5%
RETURN_CONST 303,240 0.7%
CALL_KW 37,120 0.1%
Successors Count Percentage
ENTER_EXECUTOR 38,211,940 89.8%
RETURN_CONST 2,071,840 4.9%
RESUME_CHECK 1,914,920 4.5%
LOAD_FAST 150,820 0.4%
LOAD_GLOBAL_MODULE 147,080 0.3%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 600 69.8%
LOAD_DEREF 160 18.6%
LOAD_ATTR 100 11.6%
Successors Count Percentage
CALL 580 67.4%
LOAD_FAST 160 18.6%
CALL_NON_PY_GENERAL 120 14.0%

RETURN_GENERATOR

Successors and predecessors for RETURN_GENERATOR
Predecessors Count Percentage
COPY_FREE_VARS 3,740 97.9%
CALL_PY_EXACT_ARGS 60 1.6%
CALL 20 0.5%
Successors Count Percentage
CALL_BUILTIN_FAST_WITH_KEYWORDS 3,700 96.9%
CALL 80 2.1%
CALL_METHOD_DESCRIPTOR_O 40 1.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 9,507,680 85.0%
ENTER_EXECUTOR 947,240 8.5%
EXIT_INIT_CHECK 313,480 2.8%
RETURN_VALUE 208,680 1.9%
COMPARE_OP_INT 96,560 0.9%
Successors Count Percentage
INTERPRETER_EXIT 9,147,160 81.8%
TO_BOOL_BOOL 671,480 6.0%
STORE_FAST 642,480 5.7%
LOAD_ATTR_INSTANCE_VALUE 268,920 2.4%
RETURN_VALUE 208,680 1.9%

STORE_SUBSCR

Successors and predecessors for STORE_SUBSCR
Predecessors Count Percentage
SWAP 160 40.0%
LOAD_FAST 120 30.0%
LOAD_ATTR 40 10.0%
LOAD_FAST_LOAD_FAST 40 10.0%
LOAD_ATTR_INSTANCE_VALUE 40 10.0%
Successors Count Percentage
STORE_SUBSCR_LIST_INT 160 40.0%
LOAD_FAST 80 20.0%
LOAD_FAST_LOAD_FAST 60 15.0%
JUMP_BACKWARD 40 10.0%
STORE_SUBSCR_DICT 40 10.0%

TO_BOOL

Successors and predecessors for TO_BOOL
Predecessors Count Percentage
RETURN_VALUE 680 70.8%
LOAD_FAST 160 16.7%
RETURN_CONST 120 12.5%
Successors Count Percentage
TO_BOOL_BOOL 480 50.0%
POP_JUMP_IF_FALSE 360 37.5%
POP_JUMP_IF_TRUE 120 12.5%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
LOAD_FAST 10,860 62.6%
BUILD_LIST 2,560 14.7%
BINARY_OP_SUBTRACT_INT 1,500 8.6%
LOAD_CONST 1,320 7.6%
BINARY_OP 680 3.9%
Successors Count Percentage
LOAD_CONST 12,420 71.5%
STORE_FAST 1,700 9.8%
LOAD_FAST 1,340 7.7%
BINARY_OP 680 3.9%
BINARY_OP_ADD_INT 580 3.3%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
SWAP 208,640 56.7%
LOAD_FAST 148,820 40.5%
LOAD_FAST_LOAD_FAST 3,420 0.9%
STORE_FAST 2,740 0.7%
LOAD_CONST 2,560 0.7%
Successors Count Percentage
SWAP 208,640 56.7%
LOAD_FAST 147,280 40.0%
STORE_FAST 4,200 1.1%
CALL_ALLOC_AND_ENTER_INIT 3,340 0.9%
BINARY_OP 2,560 0.7%

BUILD_MAP

Successors and predecessors for BUILD_MAP
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 1,260 98.4%
STORE_ATTR 20 1.6%
Successors Count Percentage
LOAD_FAST 1,280 100.0%

BUILD_TUPLE

Successors and predecessors for BUILD_TUPLE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 77,200 92.7%
LOAD_FAST 3,740 4.5%
LOAD_GLOBAL_MODULE 2,320 2.8%
LOAD_GLOBAL 20 0.0%
Successors Count Percentage
LIST_APPEND 62,900 75.5%
STORE_FAST 10,300 12.4%
LOAD_CONST 3,740 4.5%
CALL_LIST_APPEND 2,300 2.8%
CALL_PY_EXACT_ARGS 2,100 2.5%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 1,680 23.1%
LOAD_ATTR_INSTANCE_VALUE 1,440 19.8%
ENTER_EXECUTOR 880 12.1%
PUSH_NULL 580 8.0%
LOAD_FAST_LOAD_FAST 440 6.1%
Successors Count Percentage
STORE_FAST 2,940 40.5%
CALL_PY_EXACT_ARGS 900 12.4%
CALL_BUILTIN_CLASS 620 8.5%
GET_ITER 500 6.9%
RESUME 440 6.1%

CALL_FUNCTION_EX

Successors and predecessors for CALL_FUNCTION_EX
Predecessors Count Percentage
CALL_INTRINSIC_1 80 50.0%
LOAD_FAST 80 50.0%
Successors Count Percentage
COPY_FREE_VARS 80 50.0%
RESUME_CHECK 60 37.5%
RESUME 20 12.5%

CALL_INTRINSIC_1

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

CALL_KW

Successors and predecessors for CALL_KW
Predecessors Count Percentage
ENTER_EXECUTOR 22,120 57.6%
LOAD_CONST 16,240 42.3%
JUMP_BACKWARD 40 0.1%
Successors Count Percentage
POP_TOP 37,120 96.7%
RESUME_CHECK 1,260 3.3%
RESUME 20 0.1%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST 600 38.5%
LOAD_FAST_LOAD_FAST 240 15.4%
LOAD_GLOBAL 200 12.8%
LOAD_GLOBAL_MODULE 200 12.8%
LOAD_ATTR 100 6.4%
Successors Count Percentage
COMPARE_OP_INT 680 43.6%
POP_JUMP_IF_FALSE 520 33.3%
POP_JUMP_IF_TRUE 240 15.4%
COMPARE_OP_STR 100 6.4%
RETURN_VALUE 20 1.3%

CONTAINS_OP

Successors and predecessors for CONTAINS_OP
Predecessors Count Percentage
LOAD_FAST 1,917,200 99.0%
BINARY_SUBSCR_LIST_INT 10,320 0.5%
RETURN_VALUE 6,880 0.4%
CONTAINS_OP 1,160 0.1%
BINARY_SUBSCR 60 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 1,929,540 99.7%
POP_JUMP_IF_TRUE 4,920 0.3%
CONTAINS_OP 1,160 0.1%
RETURN_VALUE 20 0.0%
CONTAINS_OP_DICT 20 0.0%

COPY

Successors and predecessors for COPY
Predecessors Count Percentage
COPY 13,740 50.0%
LOAD_FAST_LOAD_FAST 7,600 27.7%
BINARY_SUBSCR_LIST_INT 6,120 22.3%
BINARY_SUBSCR 20 0.1%
Successors Count Percentage
COPY 13,740 50.0%
BINARY_SUBSCR_LIST_INT 13,580 49.4%
BINARY_SUBSCR 160 0.6%

COPY_FREE_VARS

Successors and predecessors for COPY_FREE_VARS
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 3,720 97.4%
CALL_FUNCTION_EX 80 2.1%
CALL 20 0.5%
Successors Count Percentage
RETURN_GENERATOR 3,740 97.9%
RESUME_CHECK 60 1.6%
RESUME 20 0.5%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
POP_TOP 38,211,940 91.9%
POP_JUMP_IF_TRUE 944,420 2.3%
CALL_LIST_APPEND 559,960 1.3%
STORE_FAST 501,680 1.2%
POP_JUMP_IF_FALSE 431,100 1.0%
Successors Count Percentage
YIELD_VALUE 34,550,680 83.1%
POP_TOP 3,889,760 9.4%
RETURN_VALUE 947,240 2.3%
POP_JUMP_IF_TRUE 671,620 1.6%
CALL_LIST_APPEND 590,840 1.4%

EXTENDED_ARG

Successors and predecessors for EXTENDED_ARG
Predecessors Count Percentage
GET_ITER 2,780 58.9%
JUMP_BACKWARD 1,600 33.9%
FOR_ITER_LIST 300 6.4%
POP_TOP 40 0.8%
Successors Count Percentage
FOR_ITER_LIST 2,740 58.1%
FOR_ITER_RANGE 1,600 33.9%
JUMP_BACKWARD 340 7.2%
FOR_ITER 40 0.8%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
JUMP_BACKWARD 720 46.2%
GET_ITER 680 43.6%
SWAP 80 5.1%
EXTENDED_ARG 40 2.6%
LOAD_FAST 40 2.6%
Successors Count Percentage
STORE_FAST 680 43.6%
FOR_ITER_RANGE 520 33.3%
FOR_ITER_LIST 260 16.7%
STORE_FAST_LOAD_FAST 80 5.1%
STORE_DEREF 20 1.3%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
STORE_FAST 6,780 28.5%
POP_JUMP_IF_TRUE 5,200 21.9%
POP_TOP 4,220 17.8%
POP_JUMP_IF_FALSE 3,240 13.6%
LIST_APPEND 1,360 5.7%
Successors Count Percentage
FOR_ITER_RANGE 12,340 51.9%
FOR_ITER_LIST 7,440 31.3%
EXTENDED_ARG 1,600 6.7%
FOR_ITER 720 3.0%
POP_TOP 420 1.8%

JUMP_FORWARD

Successors and predecessors for JUMP_FORWARD
Predecessors Count Percentage
STORE_FAST 91,500 88.7%
CALL_STR_1 5,140 5.0%
CALL_BUILTIN_CLASS 3,840 3.7%
LOAD_CONST 1,340 1.3%
POP_JUMP_IF_FALSE 1,280 1.2%
Successors Count Percentage
LOAD_FAST 80,640 78.2%
LOAD_GLOBAL_BUILTIN 9,220 8.9%
STORE_FAST 9,060 8.8%
LOAD_FAST_LOAD_FAST 1,560 1.5%
YIELD_VALUE 1,340 1.3%

LIST_APPEND

Successors and predecessors for LIST_APPEND
Predecessors Count Percentage
BINARY_SLICE 143,680 68.5%
BUILD_TUPLE 62,900 30.0%
BUILD_LIST 1,600 0.8%
CALL_METHOD_DESCRIPTOR_FAST 1,540 0.7%
CALL 20 0.0%
Successors Count Percentage
ENTER_EXECUTOR 208,380 99.4%
JUMP_BACKWARD 1,360 0.6%

LIST_EXTEND

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

LOAD_ATTR

Successors and predecessors for LOAD_ATTR
Predecessors Count Percentage
LOAD_FAST 3,240 68.1%
LOAD_FAST_LOAD_FAST 360 7.6%
RETURN_VALUE 240 5.0%
LOAD_GLOBAL 200 4.2%
LOAD_GLOBAL_MODULE 200 4.2%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 1,260 26.5%
LOAD_FAST 820 17.2%
LOAD_ATTR_METHOD_WITH_VALUES 680 14.3%
CALL 420 8.8%
STORE_FAST 320 6.7%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
POP_JUMP_IF_FALSE 2,031,000 40.5%
LOAD_CONST 555,520 11.1%
LOAD_ATTR_INSTANCE_VALUE 465,120 9.3%
POP_JUMP_IF_TRUE 404,560 8.1%
STORE_FAST 304,440 6.1%
Successors Count Percentage
YIELD_VALUE 1,830,720 36.5%
STORE_FAST 1,034,580 20.6%
LOAD_CONST 555,520 11.1%
BINARY_SLICE 546,300 10.9%
COMPARE_OP_INT 376,240 7.5%

LOAD_DEREF

Successors and predecessors for LOAD_DEREF
Predecessors Count Percentage
STORE_FAST 1,915,200 99.2%
LOAD_ATTR_INSTANCE_VALUE 6,340 0.3%
LOAD_FAST 4,540 0.2%
LOAD_ATTR_METHOD_WITH_VALUES 1,940 0.1%
ENTER_EXECUTOR 1,260 0.1%
Successors Count Percentage
LOAD_FAST 1,917,200 99.3%
BINARY_SUBSCR_LIST_INT 8,340 0.4%
CALL_PY_EXACT_ARGS 4,340 0.2%
PUSH_NULL 160 0.0%
BINARY_SUBSCR 120 0.0%

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
RESUME_CHECK 12,053,980 41.0%
LOAD_ATTR_INSTANCE_VALUE 10,098,520 34.3%
LOAD_DEREF 1,917,200 6.5%
STORE_FAST 1,862,220 6.3%
LOAD_GLOBAL_BUILTIN 675,960 2.3%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 11,978,380 40.7%
BINARY_SUBSCR_LIST_INT 9,767,540 33.2%
CONTAINS_OP 1,917,200 6.5%
FOR_ITER_LIST 1,914,920 6.5%
LOAD_GLOBAL_MODULE 606,920 2.1%

LOAD_FAST_AND_CLEAR

Successors and predecessors for LOAD_FAST_AND_CLEAR
Predecessors Count Percentage
GET_ITER 208,640 100.0%
Successors Count Percentage
SWAP 208,640 100.0%

LOAD_FAST_CHECK

Successors and predecessors for LOAD_FAST_CHECK
Predecessors Count Percentage
MAKE_FUNCTION 80 100.0%
Successors Count Percentage
LOAD_ATTR 40 50.0%
LOAD_ATTR_METHOD_NO_DICT 40 50.0%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 675,620 35.7%
RESUME_CHECK 327,240 17.3%
LOAD_GLOBAL_BUILTIN 220,780 11.7%
LOAD_ATTR_METHOD_WITH_VALUES 214,980 11.4%
STORE_ATTR_INSTANCE_VALUE 193,220 10.2%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 507,880 26.8%
CALL_PY_EXACT_ARGS 358,520 19.0%
LOAD_CONST 267,900 14.2%
CALL_PY_GENERAL 203,440 10.8%
ENTER_EXECUTOR 148,340 7.8%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 1,340 31.6%
LOAD_FAST 480 11.3%
POP_JUMP_IF_FALSE 480 11.3%
POP_TOP 300 7.1%
FOR_ITER_RANGE 220 5.2%
Successors Count Percentage
LOAD_GLOBAL_MODULE 1,200 28.3%
LOAD_GLOBAL_BUILTIN 920 21.7%
LOAD_FAST 640 15.1%
LOAD_FAST_LOAD_FAST 480 11.3%
LOAD_CONST 260 6.1%

MAKE_CELL

Successors and predecessors for MAKE_CELL
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 255,000 99.0%
CALL_PY_GENERAL 2,520 1.0%
CALL 80 0.0%
Successors Count Percentage
RESUME_CHECK 257,580 100.0%
RESUME 20 0.0%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
CONTAINS_OP 1,929,540 56.3%
TO_BOOL_BOOL 875,220 25.5%
COMPARE_OP_INT 616,980 18.0%
COMPARE_OP_STR 3,440 0.1%
COMPARE_OP 520 0.0%
Successors Count Percentage
LOAD_CONST 2,031,000 59.3%
LOAD_FAST 548,420 16.0%
ENTER_EXECUTOR 431,100 12.6%
LOAD_GLOBAL_MODULE 204,940 6.0%
NOP 113,920 3.3%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 403,740 100.0%
Successors Count Percentage
LOAD_FAST 401,140 99.4%
LOAD_GLOBAL_BUILTIN 2,520 0.6%
LOAD_GLOBAL 80 0.0%

POP_JUMP_IF_TRUE

Successors and predecessors for POP_JUMP_IF_TRUE
Predecessors Count Percentage
ENTER_EXECUTOR 671,620 46.0%
TO_BOOL_BOOL 417,120 28.6%
COMPARE_OP_INT 361,580 24.8%
COMPARE_OP_STR 5,220 0.4%
CONTAINS_OP 4,920 0.3%
Successors Count Percentage
ENTER_EXECUTOR 944,420 64.6%
LOAD_CONST 404,560 27.7%
LOAD_FAST_LOAD_FAST 72,800 5.0%
LOAD_GLOBAL_MODULE 21,740 1.5%
LOAD_FAST 8,800 0.6%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
POP_TOP 2,071,840 69.0%
ENTER_EXECUTOR 461,900 15.4%
STORE_ATTR_INSTANCE_VALUE 313,520 10.4%
STORE_SUBSCR_LIST_INT 147,260 4.9%
POP_JUMP_IF_FALSE 7,260 0.2%
Successors Count Percentage
INTERPRETER_EXIT 1,916,360 63.8%
TO_BOOL_BOOL 469,140 15.6%
EXIT_INIT_CHECK 313,480 10.4%
POP_TOP 303,240 10.1%
TO_BOOL 120 0.0%

SET_FUNCTION_ATTRIBUTE

Successors and predecessors for SET_FUNCTION_ATTRIBUTE
Predecessors Count Percentage
MAKE_FUNCTION 3,740 100.0%
Successors Count Percentage
LOAD_FAST 3,740 100.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 280 50.0%
LOAD_FAST_LOAD_FAST 280 50.0%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 280 50.0%
LOAD_FAST 80 14.3%
RETURN_CONST 80 14.3%
LOAD_FAST_LOAD_FAST 60 10.7%
LOAD_CONST 40 7.1%

STORE_DEREF

Successors and predecessors for STORE_DEREF
Predecessors Count Percentage
FOR_ITER_RANGE 2,620 99.2%
FOR_ITER 20 0.8%
Successors Count Percentage
LOAD_FAST 2,640 100.0%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
FOR_ITER_LIST 2,137,860 37.6%
LOAD_CONST 1,034,580 18.2%
LOAD_ATTR_INSTANCE_VALUE 879,740 15.5%
RETURN_VALUE 642,480 11.3%
BINARY_SLICE 406,040 7.1%
Successors Count Percentage
LOAD_DEREF 1,915,200 33.7%
LOAD_FAST 1,862,220 32.8%
LOAD_GLOBAL_BUILTIN 646,940 11.4%
ENTER_EXECUTOR 501,680 8.8%
LOAD_CONST 304,440 5.4%

STORE_FAST_LOAD_FAST

Successors and predecessors for STORE_FAST_LOAD_FAST
Predecessors Count Percentage
FOR_ITER_RANGE 143,660 68.9%
FOR_ITER_LIST 64,760 31.1%
FOR_ITER 80 0.0%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 143,640 68.9%
LOAD_GLOBAL_MODULE 62,880 30.2%
LOAD_ATTR_METHOD_NO_DICT 1,820 0.9%
LOAD_ATTR 120 0.1%
LOAD_GLOBAL 40 0.0%

STORE_FAST_STORE_FAST

Successors and predecessors for STORE_FAST_STORE_FAST
Predecessors Count Percentage
UNPACK_SEQUENCE_TWO_TUPLE 143,700 100.0%
UNPACK_SEQUENCE 60 0.0%
Successors Count Percentage
LOAD_FAST 142,080 98.8%
LOAD_GLOBAL_MODULE 1,600 1.1%
LOAD_GLOBAL 80 0.1%

SWAP

Successors and predecessors for SWAP
Predecessors Count Percentage
BUILD_LIST 208,640 43.8%
LOAD_FAST_AND_CLEAR 208,640 43.8%
LOAD_GLOBAL_MODULE 24,860 5.2%
SWAP 13,740 2.9%
BINARY_OP_SUBTRACT_INT 8,440 1.8%
Successors Count Percentage
BUILD_LIST 208,640 43.8%
FOR_ITER_RANGE 144,600 30.4%
FOR_ITER_LIST 63,960 13.4%
POP_TOP 26,360 5.5%
SWAP 13,740 2.9%

UNPACK_SEQUENCE

Successors and predecessors for UNPACK_SEQUENCE
Predecessors Count Percentage
LOAD_FAST 40 33.3%
BINARY_SUBSCR 20 16.7%
LOAD_ATTR 20 16.7%
BINARY_SUBSCR_DICT 20 16.7%
LOAD_ATTR_INSTANCE_VALUE 20 16.7%
Successors Count Percentage
STORE_FAST_STORE_FAST 60 50.0%
UNPACK_SEQUENCE_TWO_TUPLE 60 50.0%

YIELD_VALUE

Successors and predecessors for YIELD_VALUE
Predecessors Count Percentage
ENTER_EXECUTOR 34,550,680 95.0%
LOAD_CONST 1,830,720 5.0%
JUMP_FORWARD 1,340 0.0%
CALL_METHOD_DESCRIPTOR_FAST 320 0.0%
JUMP_BACKWARD 40 0.0%
Successors Count Percentage
INTERPRETER_EXIT 36,383,120 100.0%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 440 62.9%
CACHE 140 20.0%
POP_TOP 40 5.7%
CALL_FUNCTION_EX 20 2.9%
CALL_KW 20 2.9%
Successors Count Percentage
LOAD_FAST 300 42.9%
LOAD_GLOBAL 180 25.7%
LOAD_FAST_LOAD_FAST 120 17.1%
POP_TOP 40 5.7%
LOAD_CONST 40 5.7%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 61,240 76.3%
LOAD_FAST_LOAD_FAST 11,120 13.9%
LOAD_ATTR_INSTANCE_VALUE 4,200 5.2%
CALL_LEN 1,420 1.8%
LOAD_FAST 1,400 1.7%
Successors Count Percentage
STORE_FAST 57,720 71.9%
CALL_BUILTIN_CLASS 6,720 8.4%
SWAP 5,220 6.5%
LOAD_CONST 4,440 5.5%
BINARY_SLICE 3,380 4.2%

BINARY_OP_MULTIPLY_INT

Successors and predecessors for BINARY_OP_MULTIPLY_INT
Predecessors Count Percentage
LOAD_CONST 5,320 67.3%
LOAD_FAST 1,240 15.7%
BINARY_OP_SUBTRACT_INT 1,240 15.7%
BINARY_OP 100 1.3%
Successors Count Percentage
LOAD_CONST 6,640 84.1%
LOAD_FAST 1,260 15.9%

BINARY_OP_SUBTRACT_FLOAT

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

BINARY_OP_SUBTRACT_INT

Successors and predecessors for BINARY_OP_SUBTRACT_INT
Predecessors Count Percentage
LOAD_CONST 23,680 88.2%
LOAD_FAST_LOAD_FAST 2,920 10.9%
BINARY_OP 260 1.0%
Successors Count Percentage
SWAP 8,440 31.4%
CALL_BUILTIN_CLASS 5,320 19.8%
LOAD_CONST 4,440 16.5%
STORE_FAST 4,440 16.5%
BINARY_OP 1,500 5.6%

BINARY_SUBSCR_DICT

Successors and predecessors for BINARY_SUBSCR_DICT
Predecessors Count Percentage
LOAD_FAST 6,880 78.5%
BUILD_TUPLE 1,820 20.8%
BINARY_SUBSCR 60 0.7%
Successors Count Percentage
RETURN_VALUE 6,860 78.3%
LOAD_ATTR_INSTANCE_VALUE 1,820 20.8%
UNPACK_SEQUENCE_TWO_TUPLE 40 0.5%
LOAD_ATTR 20 0.2%
UNPACK_SEQUENCE 20 0.2%

BINARY_SUBSCR_GETITEM

Successors and predecessors for BINARY_SUBSCR_GETITEM
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 78,840 80.2%
ENTER_EXECUTOR 17,480 17.8%
LOAD_FAST 1,600 1.6%
BINARY_SUBSCR 260 0.3%
JUMP_BACKWARD 100 0.1%
Successors Count Percentage
RESUME_CHECK 98,280 100.0%

BINARY_SUBSCR_LIST_INT

Successors and predecessors for BINARY_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 9,767,540 99.3%
LOAD_CONST 33,080 0.3%
COPY 13,580 0.1%
LOAD_FAST_LOAD_FAST 8,760 0.1%
LOAD_DEREF 8,340 0.1%
Successors Count Percentage
RETURN_VALUE 9,507,680 96.7%
LOAD_CONST 167,960 1.7%
CALL_LEN 96,540 1.0%
LOAD_GLOBAL_MODULE 15,640 0.2%
STORE_FAST 10,500 0.1%

BINARY_SUBSCR_STR_INT

Successors and predecessors for BINARY_SUBSCR_STR_INT
Predecessors Count Percentage
LOAD_CONST 8,520 99.1%
BINARY_SUBSCR 80 0.9%
Successors Count Percentage
LOAD_CONST 8,600 100.0%

BINARY_SUBSCR_TUPLE_INT

Successors and predecessors for BINARY_SUBSCR_TUPLE_INT
Predecessors Count Percentage
LOAD_CONST 254,960 100.0%
BINARY_SUBSCR 40 0.0%
Successors Count Percentage
CALL_PY_EXACT_ARGS 254,960 100.0%
CALL 40 0.0%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
RETURN_VALUE 143,320 45.7%
ENTER_EXECUTOR 99,940 31.9%
LOAD_CONST 64,200 20.5%
BUILD_LIST 3,340 1.1%
LOAD_FAST 2,480 0.8%
Successors Count Percentage
RESUME_CHECK 313,480 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 360,280 90.4%
LOAD_FAST 12,340 3.1%
LOAD_CONST 6,720 1.7%
BINARY_OP_ADD_INT 6,720 1.7%
BINARY_OP_SUBTRACT_INT 5,320 1.3%
Successors Count Percentage
GET_ITER 384,380 96.4%
STORE_FAST 7,680 1.9%
JUMP_FORWARD 3,840 1.0%
CALL_BUILTIN_CLASS 2,680 0.7%
CALL 20 0.0%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
RETURN_GENERATOR 3,700 99.5%
CALL 20 0.5%
Successors Count Percentage
STORE_FAST 3,720 100.0%

CALL_LEN

Successors and predecessors for CALL_LEN
Predecessors Count Percentage
LOAD_FAST 205,140 67.4%
BINARY_SUBSCR_LIST_INT 96,540 31.7%
RETURN_VALUE 2,760 0.9%
CALL 120 0.0%
Successors Count Percentage
LOAD_CONST 303,120 99.5%
BINARY_OP_ADD_INT 1,420 0.5%
BINARY_OP 20 0.0%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
ENTER_EXECUTOR 590,840 98.9%
LOAD_FAST 2,640 0.4%
BUILD_TUPLE 2,300 0.4%
LOAD_ATTR_INSTANCE_VALUE 1,820 0.3%
CALL 60 0.0%
Successors Count Percentage
ENTER_EXECUTOR 559,960 93.7%
LOAD_FAST 37,100 6.2%
JUMP_BACKWARD 640 0.1%

CALL_METHOD_DESCRIPTOR_FAST

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST
Predecessors Count Percentage
LOAD_CONST 1,520 76.8%
LOAD_ATTR_METHOD_NO_DICT 380 19.2%
CALL 80 4.0%
Successors Count Percentage
LIST_APPEND 1,540 77.8%
YIELD_VALUE 320 16.2%
STORE_FAST 120 6.1%

CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
Predecessors Count Percentage
LOAD_ATTR_METHOD_NO_DICT 1,280 97.0%
CALL 40 3.0%
Successors Count Percentage
GET_ITER 1,320 100.0%

CALL_METHOD_DESCRIPTOR_NOARGS

Successors and predecessors for CALL_METHOD_DESCRIPTOR_NOARGS
Predecessors Count Percentage
LOAD_ATTR_METHOD_LAZY_DICT 1,240 98.4%
CALL 20 1.6%
Successors Count Percentage
STORE_FAST 1,260 100.0%

CALL_METHOD_DESCRIPTOR_O

Successors and predecessors for CALL_METHOD_DESCRIPTOR_O
Predecessors Count Percentage
LOAD_FAST 3,700 97.9%
RETURN_GENERATOR 40 1.1%
CALL 40 1.1%
Successors Count Percentage
POP_TOP 3,720 98.4%
STORE_FAST 60 1.6%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 120 66.7%
CALL 60 33.3%
Successors Count Percentage
POP_TOP 60 33.3%
LOAD_FAST 60 33.3%
STORE_FAST 60 33.3%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 433,460 34.5%
LOAD_FAST_LOAD_FAST 358,520 28.6%
BINARY_SUBSCR_TUPLE_INT 254,960 20.3%
LOAD_ATTR_METHOD_WITH_VALUES 192,280 15.3%
LOAD_GLOBAL_MODULE 4,840 0.4%
Successors Count Percentage
RESUME_CHECK 996,360 79.4%
MAKE_CELL 255,000 20.3%
COPY_FREE_VARS 3,720 0.3%
RETURN_GENERATOR 60 0.0%

CALL_PY_GENERAL

Successors and predecessors for CALL_PY_GENERAL
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 203,440 98.8%
LOAD_FAST 2,480 1.2%
CALL 80 0.0%
Successors Count Percentage
RESUME_CHECK 203,480 98.8%
MAKE_CELL 2,520 1.2%

CALL_STR_1

Successors and predecessors for CALL_STR_1
Predecessors Count Percentage
BINARY_SUBSCR_LIST_INT 5,100 99.2%
CALL 40 0.8%
Successors Count Percentage
JUMP_FORWARD 5,140 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 427,580 39.8%
LOAD_CONST 376,240 35.0%
LOAD_ATTR_CLASS 250,720 23.3%
LOAD_FAST_LOAD_FAST 11,920 1.1%
LOAD_FAST 5,320 0.5%
Successors Count Percentage
POP_JUMP_IF_FALSE 616,980 57.4%
POP_JUMP_IF_TRUE 361,580 33.6%
RETURN_VALUE 96,560 9.0%

COMPARE_OP_STR

Successors and predecessors for COMPARE_OP_STR
Predecessors Count Percentage
LOAD_CONST 8,520 98.4%
COMPARE_OP 100 1.2%
LOAD_FAST_LOAD_FAST 40 0.5%
Successors Count Percentage
POP_JUMP_IF_TRUE 5,220 60.3%
POP_JUMP_IF_FALSE 3,440 39.7%

CONTAINS_OP_DICT

Successors and predecessors for CONTAINS_OP_DICT
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 2,100 99.1%
CONTAINS_OP 20 0.9%
Successors Count Percentage
RETURN_VALUE 2,120 100.0%

FOR_ITER_LIST

Successors and predecessors for FOR_ITER_LIST
Predecessors Count Percentage
LOAD_FAST 1,914,920 86.8%
GET_ITER 214,580 9.7%
SWAP 63,960 2.9%
JUMP_BACKWARD 7,440 0.3%
EXTENDED_ARG 2,740 0.1%
Successors Count Percentage
STORE_FAST 2,137,860 96.9%
STORE_FAST_LOAD_FAST 64,760 2.9%
LOAD_FAST 1,140 0.1%
LOAD_GLOBAL_BUILTIN 460 0.0%
SWAP 440 0.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 240,060 60.1%
SWAP 144,600 36.2%
JUMP_BACKWARD 12,340 3.1%
EXTENDED_ARG 1,600 0.4%
FOR_ITER 520 0.1%
Successors Count Percentage
STORE_FAST 250,820 62.8%
STORE_FAST_LOAD_FAST 143,660 35.9%
STORE_DEREF 2,620 0.7%
LOAD_FAST 1,180 0.3%
RETURN_CONST 400 0.1%

LOAD_ATTR_CLASS

Successors and predecessors for LOAD_ATTR_CLASS
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 250,760 100.0%
LOAD_ATTR 100 0.0%
Successors Count Percentage
COMPARE_OP_INT 250,720 99.9%
COMPARE_OP 80 0.0%
STORE_FAST 60 0.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 11,978,380 96.1%
RETURN_VALUE 268,920 2.2%
STORE_FAST_LOAD_FAST 143,640 1.2%
LOAD_FAST_LOAD_FAST 66,320 0.5%
BINARY_SUBSCR_DICT 1,820 0.0%
Successors Count Percentage
LOAD_FAST 10,098,520 81.0%
STORE_FAST 879,740 7.1%
LOAD_ATTR_METHOD_WITH_VALUES 466,620 3.7%
LOAD_CONST 465,120 3.7%
CALL_BUILTIN_CLASS 360,280 2.9%

LOAD_ATTR_METHOD_LAZY_DICT

Successors and predecessors for LOAD_ATTR_METHOD_LAZY_DICT
Predecessors Count Percentage
LOAD_FAST 1,240 98.4%
LOAD_ATTR 20 1.6%
Successors Count Percentage
CALL_METHOD_DESCRIPTOR_NOARGS 1,240 98.4%
CALL 20 1.6%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_FAST 6,260 45.0%
BINARY_SUBSCR_LIST_INT 3,700 26.6%
STORE_FAST_LOAD_FAST 1,820 13.1%
LOAD_ATTR_INSTANCE_VALUE 1,820 13.1%
LOAD_ATTR 220 1.6%
Successors Count Percentage
LOAD_FAST 10,540 75.8%
LOAD_CONST 1,600 11.5%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 1,280 9.2%
CALL_METHOD_DESCRIPTOR_FAST 380 2.7%
CALL 100 0.7%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 466,620 59.4%
LOAD_FAST 318,000 40.5%
LOAD_ATTR 680 0.1%
Successors Count Percentage
LOAD_FAST 376,000 47.9%
LOAD_FAST_LOAD_FAST 214,980 27.4%
CALL_PY_EXACT_ARGS 192,280 24.5%
LOAD_DEREF 1,940 0.2%
CALL 100 0.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 500 83.3%
LOAD_ATTR 100 16.7%
Successors Count Percentage
PUSH_NULL 600 100.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
STORE_FAST 646,940 65.7%
RESUME_CHECK 162,460 16.5%
POP_JUMP_IF_FALSE 70,420 7.2%
LOAD_GLOBAL_BUILTIN 62,680 6.4%
POP_TOP 18,400 1.9%
Successors Count Percentage
LOAD_FAST 675,960 68.6%
LOAD_FAST_LOAD_FAST 220,780 22.4%
LOAD_GLOBAL_BUILTIN 62,680 6.4%
LOAD_CONST 25,420 2.6%
LOAD_GLOBAL 20 0.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
LOAD_FAST 606,920 38.0%
STORE_FAST 280,900 17.6%
POP_JUMP_IF_FALSE 204,940 12.8%
POP_TOP 147,080 9.2%
RESUME_CHECK 130,920 8.2%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 675,620 42.3%
COMPARE_OP_INT 427,580 26.8%
LOAD_ATTR_CLASS 250,760 15.7%
LOAD_FAST 137,920 8.6%
STORE_FAST 64,520 4.0%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CACHE 45,531,540 92.3%
POP_TOP 1,914,920 3.9%
CALL_PY_EXACT_ARGS 996,360 2.0%
CALL_ALLOC_AND_ENTER_INIT 313,480 0.6%
MAKE_CELL 257,580 0.5%
Successors Count Percentage
POP_TOP 36,383,080 73.8%
LOAD_FAST 12,053,980 24.4%
LOAD_FAST_LOAD_FAST 327,240 0.7%
LOAD_CONST 259,520 0.5%
LOAD_GLOBAL_BUILTIN 162,460 0.3%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 507,880 63.3%
LOAD_FAST 294,120 36.7%
STORE_ATTR 280 0.0%
Successors Count Percentage
RETURN_CONST 313,520 39.1%
LOAD_FAST 291,760 36.4%
LOAD_FAST_LOAD_FAST 193,220 24.1%
LOAD_CONST 2,520 0.3%
BUILD_MAP 1,260 0.2%

STORE_SUBSCR_DICT

Successors and predecessors for STORE_SUBSCR_DICT
Predecessors Count Percentage
LOAD_FAST 24,240 99.8%
STORE_SUBSCR 40 0.2%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 24,280 100.0%

STORE_SUBSCR_LIST_INT

Successors and predecessors for STORE_SUBSCR_LIST_INT
Predecessors Count Percentage
LOAD_FAST 147,240 78.6%
LOAD_ATTR_INSTANCE_VALUE 24,240 12.9%
SWAP 13,580 7.3%
LOAD_FAST_LOAD_FAST 2,000 1.1%
STORE_SUBSCR 160 0.1%
Successors Count Percentage
RETURN_CONST 147,260 78.7%
LOAD_FAST 29,500 15.8%
ENTER_EXECUTOR 7,500 4.0%
LOAD_FAST_LOAD_FAST 2,320 1.2%
JUMP_BACKWARD 640 0.3%

TO_BOOL_BOOL

Successors and predecessors for TO_BOOL_BOOL
Predecessors Count Percentage
RETURN_VALUE 671,480 49.7%
RETURN_CONST 469,140 34.7%
LOAD_FAST 209,780 15.5%
TO_BOOL 480 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 875,220 64.8%
POP_JUMP_IF_TRUE 417,120 30.9%
ENTER_EXECUTOR 58,540 4.3%

UNPACK_SEQUENCE_TWO_TUPLE

Successors and predecessors for UNPACK_SEQUENCE_TWO_TUPLE
Predecessors Count Percentage
LOAD_FAST 142,040 98.8%
LOAD_ATTR_INSTANCE_VALUE 1,560 1.1%
UNPACK_SEQUENCE 60 0.0%
BINARY_SUBSCR_DICT 40 0.0%
Successors Count Percentage
STORE_FAST_STORE_FAST 143,700 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.

15,760 11.9%
hit

Specialized instructions that complete.

115,060 86.9%
Success Count Ratio
Success 960 60.0%
Failure 640 40.0%
Failure kind Count Ratio
multiply different types 400 62.5%
remainder 240 37.5%

BINARY_SLICE

specialization stats for BINARY_SLICE family

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
deferred

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

1,060 0.0%
hit

Specialized instructions that complete.

10,202,560 100.0%
Success Count Ratio
Success 1,060 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.

4,840 0.2%
hit

Specialized instructions that complete.

2,886,680 99.7%
Success Count Ratio
Success 2,200 90.9%
Failure 220 9.1%
Failure kind Count Ratio
class no vectorcall 120 54.5%
wrong number arguments 100 45.5%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
deferred

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

780 0.1%
hit

Specialized instructions that complete.

1,083,780 99.9%
Success Count Ratio
Success 780 100.0%
Failure 0 0.0%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Count Ratio
deferred

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

1,934,480 99.8%
hit

Specialized instructions that complete.

2,120 0.1%
Success Count Ratio
Success 20 1.7%
Failure 1,160 98.3%
Failure kind Count Ratio
list 1,160 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.

3,900 0.1%
hit

Specialized instructions that complete.

2,602,240 99.8%
miss

Specialized instructions that deopt.

3,180 0.1%
Success Count Ratio
Success 840 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.

2,380 0.0%
hit

Specialized instructions that complete.

13,512,260 100.0%
Success Count Ratio
Success 2,380 100.0%
Failure 0 0.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
deferred

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

2,120 0.1%
hit

Specialized instructions that complete.

2,581,240 99.8%
Success Count Ratio
Success 2,120 100.0%
Failure 0 0.0%

POP_JUMP_IF_FALSE

specialization stats for POP_JUMP_IF_FALSE family

POP_JUMP_IF_NOT_NONE

specialization stats for POP_JUMP_IF_NOT_NONE family

POP_JUMP_IF_TRUE

specialization stats for POP_JUMP_IF_TRUE family

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

280 0.0%
hit

Specialized instructions that complete.

802,280 99.9%
Success Count Ratio
Success 280 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.

200 0.1%
hit

Specialized instructions that complete.

211,500 99.8%
Success Count Ratio
Success 200 100.0%
Failure 0 0.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Count Ratio
deferred

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

480 0.0%
hit

Specialized instructions that complete.

1,350,880 99.9%
Success Count Ratio
Success 480 100.0%
Failure 0 0.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
deferred

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

60 0.0%
hit

Specialized instructions that complete.

143,700 99.9%
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.

229,644,780 71.2%
Not specialized

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

7,816,920 2.4%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

85,017,920 26.4%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

3,180 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
CONTAINS_OP 1,934,480 98.4%
BINARY_OP 15,760 0.8%
CALL 4,840 0.2%
FOR_ITER 3,900 0.2%
LOAD_ATTR 2,380 0.1%
LOAD_GLOBAL 2,120 0.1%
BINARY_SUBSCR 1,060 0.1%
COMPARE_OP 780 0.0%
TO_BOOL 480 0.0%
STORE_ATTR 280 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
FOR_ITER_RANGE 2,120 66.7%
FOR_ITER_LIST 1,060 33.3%
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 47,446,640 49.2%
Calls to Python functions inlined 48,972,640 50.8%
Calls via PyEval_EvalFrame (total) 47,446,640 49.2%
Calls via PyEval_EvalFrame (vector) 9,148,560 9.5%
Calls via PyEval_EvalFrame (generator) 38,298,080 39.7%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 9,148,560 9.5%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 9,147,160 9.5%
Calls via PyEval_EvalFrame (function ex) 160 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 58,434,680 60.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 5,807,920 23.0%
Frees to freelist 5,809,180
Allocations 19,407,980 77.0%
Allocations to 512 bytes 19,404,780 77.0%
Allocations to 4 kbytes 3,200 0.0%
Allocations over 4 kbytes 0 0.0%
Frees 19,835,515
Inline values 314,880
Interpreter increfs 694,967,840 96.7%
Interpreter decrefs 712,849,820 95.9%
Increfs 23,847,974 3.3%
Decrefs 30,625,418 4.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 72,420
Method cache misses 840
Method cache collisions 662
Method cache dunder hits 9,291,009
Method cache dunder misses 191

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.

15,660
Traces created

The number of traces that were successfully created.

2,580 16.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,680 68.2%
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,080 83.5%
Inner loop found

A trace is truncated because it has an inner loop

2,360 15.1%
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.

80 0.5%
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

127,569,180
Uops executed

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

3,038,601,700 2,381.9%
Count Ratio
Optimizer attempts

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

2,580
Optimizer successes

The number of traces that were successfully optimized.

2,580 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 160 6.2%
<= 16 300 11.6%
<= 32 700 27.1%
<= 64 660 25.6%
<= 128 640 24.8%
<= 256 120 4.7%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 140 5.4%
<= 8 300 11.6%
<= 16 440 17.1%
<= 32 520 20.2%
<= 64 840 32.6%
<= 128 340 13.2%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 11,493,780 9.0%
<= 8 6,670,680 5.2%
<= 16 40,391,120 31.7%
<= 32 9,086,460 7.1%
<= 64 9,888,840 7.8%
<= 128 5,629,040 4.4%
<= 256 817,680 0.6%
<= 512 1,424,580 1.1%
<= 1,024 846,000 0.7%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_SET_IP 212,659,280 7.0% 7.0%
_CHECK_VALIDITY 165,288,620 5.4% 12.4%
_LOAD_CONST_INLINE_BORROW 132,613,860 4.4% 16.8%
_GUARD_TYPE_VERSION 126,846,540 4.2% 21.0%
_BINARY_SUBSCR_LIST_INT 90,093,220 3.0% 23.9%
_TIER2_RESUME_CHECK 89,723,960 3.0% 26.9%
_START_EXECUTOR 86,248,180 2.8% 29.7%
_EXIT_TRACE 85,974,840 2.8% 32.6%
_LOAD_FAST_1 83,081,160 2.7% 35.3%
_CHECK_MANAGED_OBJECT_HAS_VALUES 80,385,760 2.6% 37.9%
_LOAD_ATTR_INSTANCE_VALUE_0 80,385,760 2.6% 40.6%
_GUARD_IS_FALSE_POP 76,103,840 2.5% 43.1% 17.3%
_LOAD_FAST 74,345,260 2.4% 45.5%
_GUARD_NOS_INT 71,884,000 2.4% 47.9%
_COMPARE_OP_INT 70,252,200 2.3% 50.2%
_LOAD_FAST_0 61,585,300 2.0% 52.2%
_LOAD_FAST_4 59,018,220 1.9% 54.2%
_STORE_FAST 57,505,540 1.9% 56.1%
_GUARD_NOT_EXHAUSTED_LIST 52,952,860 1.7% 57.8% 8.4%
_ITER_CHECK_LIST 52,952,860 1.7% 59.6%
_LOAD_DEREF 48,528,800 1.6% 61.2%
_ITER_NEXT_LIST 48,491,460 1.6% 62.8%
_LOAD_FAST_6 47,470,280 1.6% 64.3%
_CHECK_FUNCTION_EXACT_ARGS 47,097,320 1.5% 65.9%
_PUSH_FRAME 47,097,320 1.5% 67.4%
_SAVE_RETURN_OFFSET 47,097,320 1.5% 69.0%
_LOAD_CONST_INLINE_WITH_NULL 47,058,680 1.5% 70.5%
_CALL_LEN 46,638,040 1.5% 72.1%
_CONTAINS_OP 46,563,460 1.5% 73.6%
_RESUME_CHECK 45,186,180 1.5% 75.1%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 45,167,300 1.5% 76.6%
_GUARD_KEYS_VERSION 45,167,300 1.5% 78.0%
_LOAD_ATTR_METHOD_WITH_VALUES 45,167,300 1.5% 79.5%
_POP_FRAME 44,249,700 1.5% 81.0%
_CHECK_STACK_SPACE_OPERAND 43,045,260 1.4% 82.4%
_INIT_CALL_PY_EXACT_ARGS_1 41,479,000 1.4% 83.8%
_ITER_CHECK_RANGE 41,323,640 1.4% 85.1% 1.3%
_COLD_EXIT 41,321,000 1.4% 86.5%
_GUARD_NOT_EXHAUSTED_RANGE 40,786,320 1.3% 87.8% 6.1%
_GUARD_IS_TRUE_POP 40,368,600 1.3% 89.2% 16.7%
_ITER_NEXT_RANGE 38,279,220 1.3% 90.4%
_JUMP_TO_TOP 35,357,020 1.2% 91.6%
_STORE_FAST_1 35,066,600 1.2% 92.7%
_STORE_FAST_6 23,388,720 0.8% 93.5%
_CHECK_FUNCTION 16,384,100 0.5% 94.0%
_LOAD_FAST_5 13,118,500 0.4% 94.5%
_LOAD_FAST_3 12,629,380 0.4% 94.9%
_BINARY_OP_ADD_INT 10,483,020 0.3% 95.2%
_CHECK_VALIDITY_AND_SET_IP 10,336,520 0.3% 95.6%
_BINARY_SUBSCR 9,146,900 0.3% 95.9%
_SWAP 9,101,840 0.3% 96.2%
_COPY 8,763,560 0.3% 96.5%
_GUARD_TOS_INT 8,147,200 0.3% 96.7%
_LOAD_FAST_2 7,540,740 0.2% 97.0%
_POP_TOP 7,086,260 0.2% 97.2%
_GET_ITER 6,482,560 0.2% 97.4%
_LOAD_FAST_7 5,763,040 0.2% 97.6%
_STORE_FAST_3 5,711,940 0.2% 97.8%
_CHECK_PERIODIC 4,875,660 0.2% 98.0%
_STORE_SUBSCR_LIST_INT 4,447,500 0.1% 98.1%
_BINARY_OP_SUBTRACT_INT 4,388,880 0.1% 98.3%
_STORE_FAST_7 3,679,220 0.1% 98.4%
_INIT_CALL_PY_EXACT_ARGS_2 3,548,940 0.1% 98.5%
_GUARD_BOTH_INT 3,479,760 0.1% 98.6%
_STORE_FAST_2 3,281,040 0.1% 98.7%
_LIST_APPEND 2,667,700 0.1% 98.8%
_BINARY_SLICE 2,623,400 0.1% 98.9%
_CALL_BUILTIN_CLASS 2,393,820 0.1% 99.0%
_BUILD_TUPLE 2,292,400 0.1% 99.0%
_STORE_DEREF 2,209,200 0.1% 99.1%
_INIT_CALL_PY_EXACT_ARGS_0 2,069,380 0.1% 99.2%
_LOAD_CONST_INLINE 1,978,060 0.1% 99.3%
_MAKE_FUNCTION 1,911,140 0.1% 99.3%
_RETURN_GENERATOR 1,911,140 0.1% 99.4%
_COPY_FREE_VARS 1,911,140 0.1% 99.4%
_SET_FUNCTION_ATTRIBUTE 1,911,140 0.1% 99.5%
_CALL_BUILTIN_FAST_WITH_KEYWORDS 1,911,140 0.1% 99.6%
_FOR_ITER_TIER_TWO 1,612,360 0.1% 99.6% 17.0%
_GUARD_BUILTINS_VERSION 1,569,280 0.1% 99.7%
_GUARD_GLOBALS_VERSION 1,569,280 0.1% 99.7%
_LOAD_GLOBAL_BUILTINS 1,569,280 0.1% 99.8%
_LOAD_GLOBAL 1,199,320 0.0% 99.8%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 1,162,980 0.0% 99.9%
_LOAD_ATTR_METHOD_NO_DICT 1,151,400 0.0% 99.9%
_BUILD_LIST 649,900 0.0% 99.9%
_CALL_METHOD_DESCRIPTOR_O 554,340 0.0% 99.9%
_STORE_FAST_5 346,500 0.0% 99.9%
_GUARD_IS_NOT_NONE_POP 293,860 0.0% 100.0% 0.9%
_DEOPT 273,340 0.0% 100.0%
_TO_BOOL_BOOL 205,200 0.0% 100.0%
_STORE_FAST_4 191,960 0.0% 100.0%
_CONTAINS_OP_DICT 143,780 0.0% 100.0%
_GUARD_DORV_NO_DICT 142,080 0.0% 100.0%
_STORE_ATTR_INSTANCE_VALUE 142,080 0.0% 100.0%
_BINARY_SUBSCR_DICT 123,100 0.0% 100.0%
_BINARY_SUBSCR_STR_INT 39,960 0.0% 100.0%
_COMPARE_OP_STR 39,960 0.0% 100.0%
_GUARD_BOTH_UNICODE 39,960 0.0% 100.0%
_UNPACK_SEQUENCE_TWO_TUPLE 22,720 0.0% 100.0%
_MAKE_CELL 18,880 0.0% 100.0%
_BINARY_SUBSCR_TUPLE_INT 18,880 0.0% 100.0%
_BINARY_OP 18,480 0.0% 100.0%
_CALL_STR_1 10,180 0.0% 100.0%
_CALL_METHOD_DESCRIPTOR_FAST 6,180 0.0% 100.0%
_BINARY_OP_MULTIPLY_INT 2,240 0.0% 100.0%
_PUSH_NULL 900 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 80,385,760 2.6% 2.6%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 80,385,760 2.6% 5.3%
_LOAD_CONST_INLINE_BORROW _GUARD_NOS_INT 71,876,980 2.4% 7.7%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 61,585,300 2.0% 9.7%
_GUARD_NOS_INT _COMPARE_OP_INT 58,052,300 1.9% 11.6%
_START_EXECUTOR _TIER2_RESUME_CHECK 55,187,380 1.8% 13.4%
_LOAD_FAST_4 _GUARD_TYPE_VERSION 54,025,500 1.8% 15.2%
_CHECK_VALIDITY _LOAD_CONST_INLINE_BORROW 53,662,920 1.8% 17.0%
_ITER_CHECK_LIST _GUARD_NOT_EXHAUSTED_LIST 52,952,860 1.7% 18.7%
_TIER2_RESUME_CHECK _ITER_CHECK_LIST 50,643,600 1.7% 20.4%
_SET_IP _LOAD_DEREF 48,528,800 1.6% 22.0%
_GUARD_NOT_EXHAUSTED_LIST _ITER_NEXT_LIST 48,491,460 1.6% 23.6%
_LOAD_DEREF _CHECK_VALIDITY 48,214,500 1.6% 25.1%
_SAVE_RETURN_OFFSET _PUSH_FRAME 47,097,320 1.5% 26.7%
_CALL_LEN _CHECK_VALIDITY 46,638,040 1.5% 28.2%
_CONTAINS_OP _CHECK_VALIDITY 46,563,460 1.5% 29.8%
_SET_IP _CONTAINS_OP 46,457,740 1.5% 31.3%
_CHECK_VALIDITY _GUARD_IS_FALSE_POP 46,310,900 1.5% 32.8%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 45,167,300 1.5% 34.3%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 45,167,300 1.5% 35.8%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 45,167,300 1.5% 37.3%
_PUSH_FRAME _RESUME_CHECK 45,167,300 1.5% 38.8%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_1 45,121,540 1.5% 40.2%
_LOAD_FAST_1 _BINARY_SUBSCR_LIST_INT 45,041,460 1.5% 41.7%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 44,871,880 1.5% 43.2%
_SET_IP _CALL_LEN 44,775,880 1.5% 44.7%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 43,045,260 1.4% 46.1%
_BINARY_SUBSCR_LIST_INT _SET_IP 42,694,940 1.4% 47.5%
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET 41,479,000 1.4% 48.9%
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE 40,786,320 1.3% 50.2%
_COMPARE_OP_INT _POP_FRAME 39,217,340 1.3% 51.5%
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE 39,061,480 1.3% 52.8%
_RESUME_CHECK _LOAD_CONST_INLINE_WITH_NULL 38,590,940 1.3% 54.1%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_0 38,590,940 1.3% 55.3%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_1 38,514,920 1.3% 56.6%
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE 38,279,220 1.3% 57.8%
_LOAD_FAST_1 _SET_IP 36,724,740 1.2% 59.1%
_LOAD_CONST_INLINE_BORROW _EXIT_TRACE 34,730,820 1.1% 60.2%
_JUMP_TO_TOP _TIER2_RESUME_CHECK 34,536,580 1.1% 61.3%
_ITER_NEXT_LIST _STORE_FAST_1 34,496,420 1.1% 62.5%
_CHECK_VALIDITY _LOAD_FAST_1 34,467,520 1.1% 63.6%
_STORE_FAST_1 _SET_IP 34,467,520 1.1% 64.7%
_GUARD_IS_FALSE_POP _LOAD_CONST_INLINE_BORROW 30,558,400 1.0% 65.7%
_LOAD_FAST _SET_IP 28,877,460 1.0% 66.7%
_POP_FRAME _GUARD_IS_TRUE_POP 27,311,760 0.9% 67.6%
_STORE_FAST _LOAD_FAST_4 26,760,760 0.9% 68.5%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_6 25,578,260 0.8% 69.3%
_LOAD_FAST_6 _SET_IP 23,876,760 0.8% 70.1%
_STORE_FAST_6 _LOAD_FAST_4 23,028,120 0.8% 70.9%
_BINARY_SUBSCR_LIST_INT _STORE_FAST 22,841,280 0.8% 71.6%
_ITER_NEXT_RANGE _STORE_FAST_6 21,409,040 0.7% 72.3%
_LOAD_ATTR_INSTANCE_VALUE_0 _LOAD_FAST_6 21,298,840 0.7% 73.0%
_LOAD_FAST_6 _BINARY_SUBSCR_LIST_INT 21,298,840 0.7% 73.7%
_COMPARE_OP_INT _GUARD_IS_FALSE_POP 17,799,600 0.6% 74.3%
_GUARD_IS_TRUE_POP _JUMP_TO_TOP 16,378,220 0.5% 74.8%
_GUARD_IS_FALSE_POP _EXIT_TRACE 15,585,500 0.5% 75.4%
_ITER_NEXT_LIST _STORE_FAST 13,385,000 0.4% 75.8%
_COMPARE_OP_INT _GUARD_IS_TRUE_POP 12,564,900 0.4% 76.2%
_START_EXECUTOR _SET_IP 12,394,700 0.4% 76.6%
_POP_FRAME _GUARD_IS_FALSE_POP 11,905,580 0.4% 77.0%
_BINARY_SUBSCR_LIST_INT _LOAD_CONST_INLINE_BORROW 11,563,040 0.4% 77.4%
_GUARD_IS_FALSE_POP _JUMP_TO_TOP 11,304,200 0.4% 77.8%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST 11,092,360 0.4% 78.1%
_LOAD_FAST _LOAD_CONST_INLINE_BORROW 10,684,600 0.4% 78.5%
_LOAD_CONST_INLINE_BORROW _BINARY_SUBSCR_LIST_INT 10,270,480 0.3% 78.8%
_STORE_FAST _LOAD_FAST 10,094,420 0.3% 79.2%
_GUARD_NOS_INT _BINARY_OP_ADD_INT 9,462,060 0.3% 79.5%
_START_EXECUTOR _LOAD_CONST_INLINE_BORROW 9,447,180 0.3% 79.8%
_CHECK_VALIDITY _LOAD_FAST 9,313,900 0.3% 80.1%
_SET_IP _BINARY_SUBSCR 9,146,900 0.3% 80.4%
_LOAD_FAST _EXIT_TRACE 9,133,880 0.3% 80.7%
_GUARD_IS_TRUE_POP _EXIT_TRACE 8,156,080 0.3% 80.9%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 8,016,640 0.3% 81.2%
_GUARD_TOS_INT _COMPARE_OP_INT 7,974,580 0.3% 81.5%
_LOAD_ATTR_INSTANCE_VALUE_0 _SET_IP 7,729,540 0.3% 81.7%
_BINARY_OP_ADD_INT _STORE_FAST 7,532,280 0.2% 82.0%
_CHECK_FUNCTION _LOAD_CONST_INLINE_BORROW 7,492,800 0.2% 82.2%
_GUARD_IS_FALSE_POP _SET_IP 7,266,240 0.2% 82.5%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_3 7,198,620 0.2% 82.7%
_BINARY_SUBSCR _CHECK_VALIDITY 7,179,020 0.2% 82.9%
_LOAD_FAST _LOAD_FAST 7,075,640 0.2% 83.2%
_STORE_FAST _CHECK_FUNCTION 6,903,260 0.2% 83.4%
_LOAD_FAST_3 _SET_IP 6,743,200 0.2% 83.6%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST 6,703,080 0.2% 83.8%
_LOAD_FAST_5 _LOAD_FAST 6,674,680 0.2% 84.1%
_LOAD_FAST_5 _GUARD_TYPE_VERSION 5,972,060 0.2% 84.3%
_ITER_NEXT_RANGE _STORE_FAST 5,712,480 0.2% 84.4%
_ITER_NEXT_RANGE _STORE_FAST_3 5,665,540 0.2% 84.6%
_STORE_FAST_3 _LOAD_FAST_0 5,658,240 0.2% 84.8%
_GUARD_IS_FALSE_POP _LOAD_FAST 5,636,700 0.2% 85.0%
_BINARY_SUBSCR_LIST_INT _CHECK_FUNCTION 5,626,400 0.2% 85.2%
_CHECK_VALIDITY _BINARY_SUBSCR_LIST_INT 5,224,180 0.2% 85.4%
_GUARD_IS_TRUE_POP _LOAD_FAST_5 4,953,080 0.2% 85.5%
_LOAD_FAST _GUARD_TOS_INT 4,861,140 0.2% 85.7%
_GUARD_IS_TRUE_POP _LOAD_FAST_3 4,725,220 0.2% 85.8%
_GET_ITER _CHECK_VALIDITY 4,571,420 0.2% 86.0%
_LOAD_FAST_4 _LOAD_FAST 4,521,100 0.1% 86.1%
_GUARD_NOT_EXHAUSTED_LIST _EXIT_TRACE 4,461,400 0.1% 86.3%
_COPY _COPY 4,381,780 0.1% 86.4%
_COPY _BINARY_SUBSCR_LIST_INT 4,381,780 0.1% 86.6%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 860
BINARY_SUBSCR_GETITEM 540
CALL_KW 300
CALL_LIST_APPEND 120
CALL_ALLOC_AND_ENTER_INIT 100

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