Skip to content

Latest commit

 

History

History
6374 lines (5851 loc) · 118 KB

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

File metadata and controls

6374 lines (5851 loc) · 118 KB

Pystats results

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

Execution counts

Execution counts for Tier 1 instructions.

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

Name Count Self Cumulative Miss ratio
LOAD_FAST 54,809,040 18.6% 18.6%
STORE_ATTR_INSTANCE_VALUE 41,986,480 14.2% 32.8%
STORE_FAST 22,038,400 7.5% 40.3%
LOAD_CONST 22,021,200 7.5% 47.7%
RESUME_CHECK 21,505,720 7.3% 55.0% 0.0%
RETURN_CONST 21,505,280 7.3% 62.3%
LOAD_FAST_LOAD_FAST 21,000,080 7.1% 69.4%
RETURN_VALUE 10,757,240 3.6% 73.1%
POP_TOP 10,756,420 3.6% 76.7%
ENTER_EXECUTOR 10,756,100 3.6% 80.4%
CALL_PY_EXACT_ARGS 10,753,600 3.6% 84.0%
EXIT_INIT_CHECK 10,751,960 3.6% 87.6%
CALL_ALLOC_AND_ENTER_INIT 10,751,960 3.6% 91.3%
LOAD_ATTR_INSTANCE_VALUE 10,241,260 3.5% 94.8%
LOAD_ATTR_METHOD_WITH_VALUES 10,241,240 3.5% 98.2%
LOAD_GLOBAL_MODULE 1,041,100 0.4% 98.6%
POP_JUMP_IF_FALSE 517,120 0.2% 98.8%
COMPARE_OP_INT 517,080 0.2% 98.9%
FOR_ITER_RANGE 513,380 0.2% 99.1%
GET_ITER 512,480 0.2% 99.3%
CALL_BUILTIN_CLASS 512,420 0.2% 99.5%
LOAD_GLOBAL_BUILTIN 512,420 0.2% 99.6%
CALL_LIST_APPEND 511,980 0.2% 99.8%
LOAD_ATTR_METHOD_NO_DICT 511,980 0.2% 100.0%
PUSH_NULL 16,000 0.0% 100.0%
LOAD_ATTR_MODULE 15,740 0.0% 100.0%
CALL_NON_PY_GENERAL 10,260 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 5,480 0.0% 100.0%
DELETE_FAST 5,120 0.0% 100.0%
POP_JUMP_IF_NOT_NONE 5,120 0.0% 100.0%
BINARY_OP_ADD_FLOAT 5,100 0.0% 100.0% 1.2%
BINARY_OP_ADD_INT 5,100 0.0% 100.0%
BINARY_OP_MULTIPLY_INT 5,100 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT 5,100 0.0% 100.0%
JUMP_BACKWARD 1,020 0.0% 100.0%
CALL 600 0.0% 100.0%
BUILD_LIST 480 0.0% 100.0%
LOAD_GLOBAL 480 0.0% 100.0%
LOAD_ATTR 360 0.0% 100.0%
LOAD_DEREF 240 0.0% 100.0%
BINARY_OP 160 0.0% 100.0%
CALL_FUNCTION_EX 160 0.0% 100.0%
STORE_ATTR 160 0.0% 100.0%
RESUME 120 0.0% 100.0% 4,266.7%
FOR_ITER 120 0.0% 100.0%
NOP 80 0.0% 100.0%
CALL_INTRINSIC_1 80 0.0% 100.0%
COMPARE_OP 80 0.0% 100.0%
COPY_FREE_VARS 80 0.0% 100.0%
LIST_EXTEND 80 0.0% 100.0%
INTERPRETER_EXIT 40 0.0% 100.0%

Pair counts

Pair counts for top 100 opcode pairs

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

Pair Count Self Cumulative
LOAD_CONST LOAD_FAST 21,504,000 7.3% 7.3%
LOAD_FAST STORE_ATTR_INSTANCE_VALUE 21,503,920 7.3% 14.6%
STORE_ATTR_INSTANCE_VALUE RETURN_CONST 20,993,240 7.1% 21.7%
STORE_FAST LOAD_FAST 10,762,240 3.6% 25.3%
RETURN_VALUE STORE_FAST 10,757,080 3.6% 29.0%
CALL_PY_EXACT_ARGS RESUME_CHECK 10,753,600 3.6% 32.6%
RETURN_CONST POP_TOP 10,753,280 3.6% 36.3%
RESUME_CHECK LOAD_CONST 10,752,040 3.6% 39.9%
LOAD_FAST STORE_FAST 10,752,000 3.6% 43.6%
STORE_ATTR_INSTANCE_VALUE LOAD_CONST 10,751,980 3.6% 47.2%
EXIT_INIT_CHECK RETURN_VALUE 10,751,960 3.6% 50.8%
RETURN_CONST EXIT_INIT_CHECK 10,751,960 3.6% 54.5%
CALL_ALLOC_AND_ENTER_INIT RESUME_CHECK 10,751,960 3.6% 58.1%
POP_TOP LOAD_FAST 10,242,640 3.5% 61.6%
RESUME_CHECK LOAD_FAST_LOAD_FAST 10,241,260 3.5% 65.1%
STORE_ATTR_INSTANCE_VALUE LOAD_FAST_LOAD_FAST 10,241,260 3.5% 68.5%
LOAD_FAST_LOAD_FAST LOAD_ATTR_INSTANCE_VALUE 10,241,240 3.5% 72.0%
LOAD_FAST_LOAD_FAST STORE_ATTR_INSTANCE_VALUE 10,241,240 3.5% 75.5%
LOAD_ATTR_INSTANCE_VALUE STORE_ATTR_INSTANCE_VALUE 10,241,240 3.5% 79.0%
LOAD_ATTR_METHOD_WITH_VALUES LOAD_FAST 10,241,240 3.5% 82.4%
LOAD_FAST CALL_PY_EXACT_ARGS 10,241,200 3.5% 85.9%
LOAD_FAST LOAD_ATTR_METHOD_WITH_VALUES 10,241,200 3.5% 89.4%
STORE_FAST ENTER_EXECUTOR 10,239,660 3.5% 92.8%
ENTER_EXECUTOR CALL_ALLOC_AND_ENTER_INIT 10,238,900 3.5% 96.3%
STORE_FAST LOAD_GLOBAL_MODULE 518,400 0.2% 96.5%
LOAD_FAST LOAD_CONST 517,120 0.2% 96.7%
COMPARE_OP_INT POP_JUMP_IF_FALSE 517,080 0.2% 96.8%
FOR_ITER_RANGE STORE_FAST 513,380 0.2% 97.0%
LOAD_GLOBAL_MODULE CALL_ALLOC_AND_ENTER_INIT 512,960 0.2% 97.2%
GET_ITER FOR_ITER_RANGE 512,420 0.2% 97.3%
CALL_BUILTIN_CLASS GET_ITER 512,420 0.2% 97.5%
LOAD_GLOBAL_BUILTIN LOAD_FAST 512,420 0.2% 97.7%
LOAD_FAST CALL_BUILTIN_CLASS 512,360 0.2% 97.9%
STORE_FAST LOAD_GLOBAL_BUILTIN 512,360 0.2% 98.0%
LOAD_GLOBAL_MODULE LOAD_FAST_LOAD_FAST 512,360 0.2% 98.2%
LOAD_FAST_LOAD_FAST CALL_PY_EXACT_ARGS 512,320 0.2% 98.4%
POP_JUMP_IF_FALSE LOAD_FAST 512,000 0.2% 98.6%
LOAD_ATTR_METHOD_NO_DICT LOAD_FAST 511,980 0.2% 98.7%
RESUME_CHECK LOAD_FAST 511,980 0.2% 98.9%
LOAD_CONST COMPARE_OP_INT 511,960 0.2% 99.1%
LOAD_FAST CALL_LIST_APPEND 511,960 0.2% 99.3%
LOAD_FAST LOAD_ATTR_METHOD_NO_DICT 511,960 0.2% 99.4%
CALL_LIST_APPEND LOAD_GLOBAL_MODULE 511,960 0.2% 99.6%
POP_TOP ENTER_EXECUTOR 511,660 0.2% 99.8%
ENTER_EXECUTOR RETURN_CONST 510,720 0.2% 100.0%
LOAD_ATTR_MODULE PUSH_NULL 15,740 0.0% 100.0%
LOAD_GLOBAL_MODULE LOAD_ATTR_MODULE 15,640 0.0% 100.0%
PUSH_NULL CALL_NON_PY_GENERAL 10,200 0.0% 100.0%
PUSH_NULL CALL_BUILTIN_FAST_WITH_KEYWORDS 5,440 0.0% 100.0%
LOAD_FAST POP_JUMP_IF_NOT_NONE 5,120 0.0% 100.0%
LOAD_FAST_LOAD_FAST LOAD_FAST 5,120 0.0% 100.0%
POP_JUMP_IF_NOT_NONE LOAD_FAST_LOAD_FAST 5,120 0.0% 100.0%
STORE_FAST DELETE_FAST 5,120 0.0% 100.0%
BINARY_OP_ADD_FLOAT STORE_FAST 5,100 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS STORE_FAST 5,100 0.0% 100.0%
CALL_NON_PY_GENERAL LOAD_FAST 5,100 0.0% 100.0%
CALL_NON_PY_GENERAL STORE_FAST 5,100 0.0% 100.0%
DELETE_FAST LOAD_GLOBAL_MODULE 5,080 0.0% 100.0%
LOAD_CONST BINARY_OP_ADD_INT 5,080 0.0% 100.0%
LOAD_FAST BINARY_OP_SUBTRACT_FLOAT 5,080 0.0% 100.0%
LOAD_FAST LOAD_GLOBAL_MODULE 5,080 0.0% 100.0%
BINARY_OP_ADD_INT BINARY_OP_MULTIPLY_INT 5,080 0.0% 100.0%
BINARY_OP_MULTIPLY_INT COMPARE_OP_INT 5,080 0.0% 100.0%
BINARY_OP_SUBTRACT_FLOAT BINARY_OP_ADD_FLOAT 5,080 0.0% 100.0%
POP_JUMP_IF_FALSE ENTER_EXECUTOR 4,780 0.0% 100.0%
ENTER_EXECUTOR RETURN_VALUE 3,840 0.0% 100.0%
ENTER_EXECUTOR POP_TOP 2,640 0.0% 100.0%
LOAD_FAST RETURN_VALUE 1,360 0.0% 100.0%
POP_TOP RETURN_CONST 1,280 0.0% 100.0%
JUMP_BACKWARD FOR_ITER_RANGE 900 0.0% 100.0%
BUILD_LIST STORE_FAST 400 0.0% 100.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS POP_TOP 380 0.0% 100.0%
RESUME_CHECK BUILD_LIST 380 0.0% 100.0%
POP_TOP LOAD_GLOBAL_MODULE 360 0.0% 100.0%
POP_TOP JUMP_BACKWARD 340 0.0% 100.0%
POP_JUMP_IF_FALSE JUMP_BACKWARD 340 0.0% 100.0%
STORE_FAST JUMP_BACKWARD 340 0.0% 100.0%
STORE_FAST LOAD_GLOBAL 280 0.0% 100.0%
LOAD_FAST CALL 240 0.0% 100.0%
PUSH_NULL CALL 200 0.0% 100.0%
LOAD_GLOBAL LOAD_GLOBAL_MODULE 180 0.0% 100.0%
PUSH_NULL LOAD_FAST 160 0.0% 100.0%
LOAD_DEREF PUSH_NULL 160 0.0% 100.0%
LOAD_FAST LOAD_ATTR 120 0.0% 100.0%
LOAD_ATTR PUSH_NULL 100 0.0% 100.0%
LOAD_ATTR LOAD_ATTR_MODULE 100 0.0% 100.0%
LOAD_GLOBAL LOAD_ATTR 100 0.0% 100.0%
LOAD_GLOBAL_MODULE LOAD_ATTR 100 0.0% 100.0%
NOP LOAD_DEREF 80 0.0% 100.0%
POP_TOP NOP 80 0.0% 100.0%
RETURN_VALUE RETURN_VALUE 80 0.0% 100.0%
BUILD_LIST LOAD_DEREF 80 0.0% 100.0%
CALL STORE_FAST 80 0.0% 100.0%
CALL CALL_PY_EXACT_ARGS 80 0.0% 100.0%
CALL_FUNCTION_EX COPY_FREE_VARS 80 0.0% 100.0%
CALL_INTRINSIC_1 CALL_FUNCTION_EX 80 0.0% 100.0%
LIST_EXTEND CALL_INTRINSIC_1 80 0.0% 100.0%
LOAD_CONST STORE_FAST 80 0.0% 100.0%
LOAD_DEREF LIST_EXTEND 80 0.0% 100.0%
LOAD_FAST BUILD_LIST 80 0.0% 100.0%

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 20 50.0%
RESUME_CHECK 20 50.0%

EXIT_INIT_CHECK

Successors and predecessors for EXIT_INIT_CHECK
Predecessors Count Percentage
RETURN_CONST 10,751,960 100.0%
Successors Count Percentage
RETURN_VALUE 10,751,960 100.0%

GET_ITER

Successors and predecessors for GET_ITER
Predecessors Count Percentage
CALL_BUILTIN_CLASS 512,420 100.0%
CALL 60 0.0%
Successors Count Percentage
FOR_ITER_RANGE 512,420 100.0%
FOR_ITER 60 0.0%

INTERPRETER_EXIT

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

NOP

Successors and predecessors for NOP
Predecessors Count Percentage
POP_TOP 80 100.0%
Successors Count Percentage
LOAD_DEREF 80 100.0%

POP_TOP

Successors and predecessors for POP_TOP
Predecessors Count Percentage
RETURN_CONST 10,753,280 100.0%
ENTER_EXECUTOR 2,640 0.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 380 0.0%
CALL 60 0.0%
CALL_NON_PY_GENERAL 60 0.0%
Successors Count Percentage
LOAD_FAST 10,242,640 95.2%
ENTER_EXECUTOR 511,660 4.8%
RETURN_CONST 1,280 0.0%
LOAD_GLOBAL_MODULE 360 0.0%
JUMP_BACKWARD 340 0.0%

PUSH_NULL

Successors and predecessors for PUSH_NULL
Predecessors Count Percentage
LOAD_ATTR_MODULE 15,740 98.4%
LOAD_DEREF 160 1.0%
LOAD_ATTR 100 0.6%
Successors Count Percentage
CALL_NON_PY_GENERAL 10,200 63.7%
CALL_BUILTIN_FAST_WITH_KEYWORDS 5,440 34.0%
CALL 200 1.2%
LOAD_FAST 160 1.0%

RETURN_VALUE

Successors and predecessors for RETURN_VALUE
Predecessors Count Percentage
EXIT_INIT_CHECK 10,751,960 100.0%
ENTER_EXECUTOR 3,840 0.0%
LOAD_FAST 1,360 0.0%
RETURN_VALUE 80 0.0%
Successors Count Percentage
STORE_FAST 10,757,080 100.0%
RETURN_VALUE 80 0.0%
LOAD_GLOBAL 40 0.0%
LOAD_GLOBAL_MODULE 40 0.0%

BINARY_OP

Successors and predecessors for BINARY_OP
Predecessors Count Percentage
BINARY_OP 40 25.0%
LOAD_CONST 40 25.0%
LOAD_FAST 40 25.0%
BINARY_OP_ADD_INT 20 12.5%
BINARY_OP_SUBTRACT_FLOAT 20 12.5%
Successors Count Percentage
BINARY_OP 40 25.0%
COMPARE_OP 20 12.5%
STORE_FAST 20 12.5%
BINARY_OP_ADD_FLOAT 20 12.5%
BINARY_OP_ADD_INT 20 12.5%

BUILD_LIST

Successors and predecessors for BUILD_LIST
Predecessors Count Percentage
RESUME_CHECK 380 79.2%
LOAD_FAST 80 16.7%
RESUME 20 4.2%
Successors Count Percentage
STORE_FAST 400 83.3%
LOAD_DEREF 80 16.7%

CALL

Successors and predecessors for CALL
Predecessors Count Percentage
LOAD_FAST 240 40.0%
PUSH_NULL 200 33.3%
LOAD_FAST_LOAD_FAST 80 13.3%
LOAD_GLOBAL 40 6.7%
LOAD_GLOBAL_MODULE 40 6.7%
Successors Count Percentage
STORE_FAST 80 13.3%
CALL_PY_EXACT_ARGS 80 13.3%
GET_ITER 60 10.0%
POP_TOP 60 10.0%
RESUME 60 10.0%

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%

COMPARE_OP

Successors and predecessors for COMPARE_OP
Predecessors Count Percentage
LOAD_CONST 40 50.0%
BINARY_OP 20 25.0%
BINARY_OP_MULTIPLY_INT 20 25.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 40 50.0%
COMPARE_OP_INT 40 50.0%

COPY_FREE_VARS

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

DELETE_FAST

Successors and predecessors for DELETE_FAST
Predecessors Count Percentage
STORE_FAST 5,120 100.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 5,080 99.2%
LOAD_GLOBAL 40 0.8%

ENTER_EXECUTOR

Successors and predecessors for ENTER_EXECUTOR
Predecessors Count Percentage
STORE_FAST 10,239,660 95.2%
POP_TOP 511,660 4.8%
POP_JUMP_IF_FALSE 4,780 0.0%
Successors Count Percentage
CALL_ALLOC_AND_ENTER_INIT 10,238,900 95.2%
RETURN_CONST 510,720 4.7%
RETURN_VALUE 3,840 0.0%
POP_TOP 2,640 0.0%

FOR_ITER

Successors and predecessors for FOR_ITER
Predecessors Count Percentage
GET_ITER 60 50.0%
JUMP_BACKWARD 60 50.0%
Successors Count Percentage
STORE_FAST 60 50.0%
FOR_ITER_RANGE 60 50.0%

JUMP_BACKWARD

Successors and predecessors for JUMP_BACKWARD
Predecessors Count Percentage
POP_TOP 340 33.3%
POP_JUMP_IF_FALSE 340 33.3%
STORE_FAST 340 33.3%
Successors Count Percentage
FOR_ITER_RANGE 900 88.2%
FOR_ITER 60 5.9%
CALL_ALLOC_AND_ENTER_INIT 60 5.9%

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 120 33.3%
LOAD_GLOBAL 100 27.8%
LOAD_GLOBAL_MODULE 100 27.8%
LOAD_FAST_LOAD_FAST 40 11.1%
Successors Count Percentage
PUSH_NULL 100 27.8%
LOAD_ATTR_MODULE 100 27.8%
LOAD_FAST 60 16.7%
LOAD_ATTR_METHOD_WITH_VALUES 40 11.1%
STORE_ATTR 20 5.6%

LOAD_CONST

Successors and predecessors for LOAD_CONST
Predecessors Count Percentage
RESUME_CHECK 10,752,040 48.8%
STORE_ATTR_INSTANCE_VALUE 10,751,980 48.8%
LOAD_FAST 517,120 2.3%
RESUME 40 0.0%
STORE_ATTR 20 0.0%
Successors Count Percentage
LOAD_FAST 21,504,000 97.7%
COMPARE_OP_INT 511,960 2.3%
BINARY_OP_ADD_INT 5,080 0.0%
STORE_FAST 80 0.0%
BINARY_OP 40 0.0%

LOAD_DEREF

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

LOAD_FAST

Successors and predecessors for LOAD_FAST
Predecessors Count Percentage
LOAD_CONST 21,504,000 39.2%
STORE_FAST 10,762,240 19.6%
POP_TOP 10,242,640 18.7%
LOAD_ATTR_METHOD_WITH_VALUES 10,241,240 18.7%
LOAD_GLOBAL_BUILTIN 512,420 0.9%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 21,503,920 39.2%
STORE_FAST 10,752,000 19.6%
CALL_PY_EXACT_ARGS 10,241,200 18.7%
LOAD_ATTR_METHOD_WITH_VALUES 10,241,200 18.7%
LOAD_CONST 517,120 0.9%

LOAD_FAST_LOAD_FAST

Successors and predecessors for LOAD_FAST_LOAD_FAST
Predecessors Count Percentage
RESUME_CHECK 10,241,260 48.8%
STORE_ATTR_INSTANCE_VALUE 10,241,260 48.8%
LOAD_GLOBAL_MODULE 512,360 2.4%
POP_JUMP_IF_NOT_NONE 5,120 0.0%
LOAD_GLOBAL 40 0.0%
Successors Count Percentage
LOAD_ATTR_INSTANCE_VALUE 10,241,240 48.8%
STORE_ATTR_INSTANCE_VALUE 10,241,240 48.8%
CALL_PY_EXACT_ARGS 512,320 2.4%
LOAD_FAST 5,120 0.0%
CALL 80 0.0%

LOAD_GLOBAL

Successors and predecessors for LOAD_GLOBAL
Predecessors Count Percentage
STORE_FAST 280 58.3%
POP_TOP 60 12.5%
RETURN_VALUE 40 8.3%
DELETE_FAST 40 8.3%
LOAD_FAST 40 8.3%
Successors Count Percentage
LOAD_GLOBAL_MODULE 180 37.5%
LOAD_ATTR 100 20.8%
LOAD_FAST 60 12.5%
LOAD_GLOBAL_BUILTIN 60 12.5%
CALL 40 8.3%

POP_JUMP_IF_FALSE

Successors and predecessors for POP_JUMP_IF_FALSE
Predecessors Count Percentage
COMPARE_OP_INT 517,080 100.0%
COMPARE_OP 40 0.0%
Successors Count Percentage
LOAD_FAST 512,000 99.0%
ENTER_EXECUTOR 4,780 0.9%
JUMP_BACKWARD 340 0.1%

POP_JUMP_IF_NOT_NONE

Successors and predecessors for POP_JUMP_IF_NOT_NONE
Predecessors Count Percentage
LOAD_FAST 5,120 100.0%
Successors Count Percentage
LOAD_FAST_LOAD_FAST 5,120 100.0%

RETURN_CONST

Successors and predecessors for RETURN_CONST
Predecessors Count Percentage
STORE_ATTR_INSTANCE_VALUE 20,993,240 97.6%
ENTER_EXECUTOR 510,720 2.4%
POP_TOP 1,280 0.0%
STORE_ATTR 40 0.0%
Successors Count Percentage
POP_TOP 10,753,280 50.0%
EXIT_INIT_CHECK 10,751,960 50.0%
INTERPRETER_EXIT 40 0.0%

STORE_ATTR

Successors and predecessors for STORE_ATTR
Predecessors Count Percentage
LOAD_FAST 80 50.0%
LOAD_FAST_LOAD_FAST 40 25.0%
LOAD_ATTR 20 12.5%
LOAD_ATTR_INSTANCE_VALUE 20 12.5%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 80 50.0%
RETURN_CONST 40 25.0%
LOAD_CONST 20 12.5%
LOAD_FAST_LOAD_FAST 20 12.5%

STORE_FAST

Successors and predecessors for STORE_FAST
Predecessors Count Percentage
RETURN_VALUE 10,757,080 48.8%
LOAD_FAST 10,752,000 48.8%
FOR_ITER_RANGE 513,380 2.3%
BINARY_OP_ADD_FLOAT 5,100 0.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 5,100 0.0%
Successors Count Percentage
LOAD_FAST 10,762,240 48.8%
ENTER_EXECUTOR 10,239,660 46.5%
LOAD_GLOBAL_MODULE 518,400 2.4%
LOAD_GLOBAL_BUILTIN 512,360 2.3%
DELETE_FAST 5,120 0.0%

RESUME

Successors and predecessors for RESUME
Predecessors Count Percentage
CALL 60 50.0%
CACHE 20 16.7%
CALL_FUNCTION_EX 20 16.7%
COPY_FREE_VARS 20 16.7%
Successors Count Percentage
LOAD_CONST 40 33.3%
BUILD_LIST 20 16.7%
LOAD_DEREF 20 16.7%
LOAD_FAST 20 16.7%
LOAD_FAST_LOAD_FAST 20 16.7%

BINARY_OP_ADD_FLOAT

Successors and predecessors for BINARY_OP_ADD_FLOAT
Predecessors Count Percentage
BINARY_OP_SUBTRACT_FLOAT 5,080 99.6%
BINARY_OP 20 0.4%
Successors Count Percentage
STORE_FAST 5,100 100.0%

BINARY_OP_ADD_INT

Successors and predecessors for BINARY_OP_ADD_INT
Predecessors Count Percentage
LOAD_CONST 5,080 99.6%
BINARY_OP 20 0.4%
Successors Count Percentage
BINARY_OP_MULTIPLY_INT 5,080 99.6%
BINARY_OP 20 0.4%

BINARY_OP_MULTIPLY_INT

Successors and predecessors for BINARY_OP_MULTIPLY_INT
Predecessors Count Percentage
BINARY_OP_ADD_INT 5,080 99.6%
BINARY_OP 20 0.4%
Successors Count Percentage
COMPARE_OP_INT 5,080 99.6%
COMPARE_OP 20 0.4%

BINARY_OP_SUBTRACT_FLOAT

Successors and predecessors for BINARY_OP_SUBTRACT_FLOAT
Predecessors Count Percentage
LOAD_FAST 5,080 99.6%
BINARY_OP 20 0.4%
Successors Count Percentage
BINARY_OP_ADD_FLOAT 5,080 99.6%
BINARY_OP 20 0.4%

CALL_ALLOC_AND_ENTER_INIT

Successors and predecessors for CALL_ALLOC_AND_ENTER_INIT
Predecessors Count Percentage
ENTER_EXECUTOR 10,238,900 95.2%
LOAD_GLOBAL_MODULE 512,960 4.8%
JUMP_BACKWARD 60 0.0%
CALL 40 0.0%
Successors Count Percentage
RESUME_CHECK 10,751,960 100.0%

CALL_BUILTIN_CLASS

Successors and predecessors for CALL_BUILTIN_CLASS
Predecessors Count Percentage
LOAD_FAST 512,360 100.0%
CALL 60 0.0%
Successors Count Percentage
GET_ITER 512,420 100.0%

CALL_BUILTIN_FAST_WITH_KEYWORDS

Successors and predecessors for CALL_BUILTIN_FAST_WITH_KEYWORDS
Predecessors Count Percentage
PUSH_NULL 5,440 99.3%
CALL 40 0.7%
Successors Count Percentage
STORE_FAST 5,100 93.1%
POP_TOP 380 6.9%

CALL_LIST_APPEND

Successors and predecessors for CALL_LIST_APPEND
Predecessors Count Percentage
LOAD_FAST 511,960 100.0%
CALL 20 0.0%
Successors Count Percentage
LOAD_GLOBAL_MODULE 511,960 100.0%
LOAD_GLOBAL 20 0.0%

CALL_NON_PY_GENERAL

Successors and predecessors for CALL_NON_PY_GENERAL
Predecessors Count Percentage
PUSH_NULL 10,200 99.4%
CALL 60 0.6%
Successors Count Percentage
LOAD_FAST 5,100 49.7%
STORE_FAST 5,100 49.7%
POP_TOP 60 0.6%

CALL_PY_EXACT_ARGS

Successors and predecessors for CALL_PY_EXACT_ARGS
Predecessors Count Percentage
LOAD_FAST 10,241,200 95.2%
LOAD_FAST_LOAD_FAST 512,320 4.8%
CALL 80 0.0%
Successors Count Percentage
RESUME_CHECK 10,753,600 100.0%

COMPARE_OP_INT

Successors and predecessors for COMPARE_OP_INT
Predecessors Count Percentage
LOAD_CONST 511,960 99.0%
BINARY_OP_MULTIPLY_INT 5,080 1.0%
COMPARE_OP 40 0.0%
Successors Count Percentage
POP_JUMP_IF_FALSE 517,080 100.0%

FOR_ITER_RANGE

Successors and predecessors for FOR_ITER_RANGE
Predecessors Count Percentage
GET_ITER 512,420 99.8%
JUMP_BACKWARD 900 0.2%
FOR_ITER 60 0.0%
Successors Count Percentage
STORE_FAST 513,380 100.0%

LOAD_ATTR_INSTANCE_VALUE

Successors and predecessors for LOAD_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST_LOAD_FAST 10,241,240 100.0%
LOAD_ATTR 20 0.0%
Successors Count Percentage
STORE_ATTR_INSTANCE_VALUE 10,241,240 100.0%
STORE_ATTR 20 0.0%

LOAD_ATTR_METHOD_NO_DICT

Successors and predecessors for LOAD_ATTR_METHOD_NO_DICT
Predecessors Count Percentage
LOAD_FAST 511,960 100.0%
LOAD_ATTR 20 0.0%
Successors Count Percentage
LOAD_FAST 511,980 100.0%

LOAD_ATTR_METHOD_WITH_VALUES

Successors and predecessors for LOAD_ATTR_METHOD_WITH_VALUES
Predecessors Count Percentage
LOAD_FAST 10,241,200 100.0%
LOAD_ATTR 40 0.0%
Successors Count Percentage
LOAD_FAST 10,241,240 100.0%

LOAD_ATTR_MODULE

Successors and predecessors for LOAD_ATTR_MODULE
Predecessors Count Percentage
LOAD_GLOBAL_MODULE 15,640 99.4%
LOAD_ATTR 100 0.6%
Successors Count Percentage
PUSH_NULL 15,740 100.0%

LOAD_GLOBAL_BUILTIN

Successors and predecessors for LOAD_GLOBAL_BUILTIN
Predecessors Count Percentage
STORE_FAST 512,360 100.0%
LOAD_GLOBAL 60 0.0%
Successors Count Percentage
LOAD_FAST 512,420 100.0%

LOAD_GLOBAL_MODULE

Successors and predecessors for LOAD_GLOBAL_MODULE
Predecessors Count Percentage
STORE_FAST 518,400 49.8%
CALL_LIST_APPEND 511,960 49.2%
DELETE_FAST 5,080 0.5%
LOAD_FAST 5,080 0.5%
POP_TOP 360 0.0%
Successors Count Percentage
CALL_ALLOC_AND_ENTER_INIT 512,960 49.3%
LOAD_FAST_LOAD_FAST 512,360 49.2%
LOAD_ATTR_MODULE 15,640 1.5%
LOAD_ATTR 100 0.0%
CALL 40 0.0%

RESUME_CHECK

Successors and predecessors for RESUME_CHECK
Predecessors Count Percentage
CALL_PY_EXACT_ARGS 10,753,600 50.0%
CALL_ALLOC_AND_ENTER_INIT 10,751,960 50.0%
CALL_FUNCTION_EX 60 0.0%
COPY_FREE_VARS 60 0.0%
CACHE 20 0.0%
Successors Count Percentage
LOAD_CONST 10,752,040 50.0%
LOAD_FAST_LOAD_FAST 10,241,260 47.6%
LOAD_FAST 511,980 2.4%
BUILD_LIST 380 0.0%
LOAD_DEREF 60 0.0%

STORE_ATTR_INSTANCE_VALUE

Successors and predecessors for STORE_ATTR_INSTANCE_VALUE
Predecessors Count Percentage
LOAD_FAST 21,503,920 51.2%
LOAD_FAST_LOAD_FAST 10,241,240 24.4%
LOAD_ATTR_INSTANCE_VALUE 10,241,240 24.4%
STORE_ATTR 80 0.0%
Successors Count Percentage
RETURN_CONST 20,993,240 50.0%
LOAD_CONST 10,751,980 25.6%
LOAD_FAST_LOAD_FAST 10,241,260 24.4%

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.

140 0.7%
hit

Specialized instructions that complete.

20,340 98.9%
miss

Specialized instructions that deopt.

60 0.3%
Success Count Ratio
Success 80 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.

300 0.0%
hit

Specialized instructions that complete.

22,535,440 100.0%
Success Count Ratio
Success 300 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.

40 0.0%
hit

Specialized instructions that complete.

517,080 100.0%
Success Count Ratio
Success 40 100.0%
Failure 0 0.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
deferred

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

60 0.0%
hit

Specialized instructions that complete.

513,380 100.0%
Success Count Ratio
Success 60 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.

180 0.0%
hit

Specialized instructions that complete.

21,010,220 100.0%
Success Count Ratio
Success 180 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.

240 0.0%
hit

Specialized instructions that complete.

1,553,520 100.0%
Success Count Ratio
Success 240 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

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
deferred

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

80 0.0%
hit

Specialized instructions that complete.

41,986,480 100.0%
Success Count Ratio
Success 80 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.

184,931,700 62.7%
Not specialized

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

524,200 0.2%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

109,647,320 37.2%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

5,180 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Count Ratio
CALL 300 28.8%
LOAD_GLOBAL 240 23.1%
LOAD_ATTR 180 17.3%
BINARY_OP 140 13.5%
STORE_ATTR 80 7.7%
FOR_ITER 60 5.8%
COMPARE_OP 40 3.8%
BINARY_SLICE 0 0.0%
STORE_SLICE 0 0.0%
CACHE 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Count Ratio
RESUME 5,120 49.7%
RESUME_CHECK 5,120 49.7%
BINARY_OP_ADD_FLOAT 60 0.6%
CACHE 0 0.0%
EXIT_INIT_CHECK 0 0.0%
GET_ITER 0 0.0%
INTERPRETER_EXIT 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 40 0.0%
Calls to Python functions inlined 22,021,240 100.0%
Calls via PyEval_EvalFrame (total) 40 0.0%
Calls via PyEval_EvalFrame (vector) 40 0.0%
Calls via PyEval_EvalFrame (generator) 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 40 0.0%
Calls via PyEval_EvalFrame (build class) 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0%
Calls via PyEval_EvalFrame (function ex) 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 32,773,240 148.8%

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 60 0.0%
Frees to freelist 16,180
Allocations 11,843,100 100.0%
Allocations to 512 bytes 11,843,060 100.0%
Allocations to 4 kbytes 40 0.0%
Allocations over 4 kbytes 0 0.0%
Frees 11,855,862
Inline values 10,752,000
Interpreter increfs 186,447,260 89.9%
Interpreter decrefs 176,243,920 80.4%
Increfs 20,993,780 10.1%
Decrefs 43,045,744 19.6%
Materialize dict (on request) 0 0.0%
Materialize dict (new key) 0 0.0%
Materialize dict (too big) 0 0.0%
Materialize dict (str subclass) 0 0.0%
Method cache hits 339
Method cache misses 81
Method cache collisions 54
Method cache dunder hits 40
Method cache dunder misses 40

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 62,402,680
2 0 10,753,920 1,287,930,952

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.

3,060
Traces created

The number of traces that were successfully created.

100 3.3%
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.

280 9.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.

2,960 96.7%
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

22,026,920
Uops executed

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

121,997,560 553.9%
Count Ratio
Optimizer attempts

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

100
Optimizer successes

The number of traces that were successfully optimized.

100 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 20 20.0%
<= 16 40 40.0%
<= 32 0 0.0%
<= 64 40 40.0%

Optimized trace length histogram

optimized trace length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 20 20.0%
<= 8 0 0.0%
<= 16 40 40.0%
<= 32 20 20.0%
<= 64 20 20.0%

Trace run length histogram

trace run length histogram
Range Count Ratio
<= 1 0 0.0%
<= 2 0 0.0%
<= 4 3,840 0.0%
<= 8 517,200 2.3%
<= 16 10,234,240 46.5%
<= 32 510,720 2.3%
<= 64 4,720 0.0%

Uop execution stats

uop execution stats
Name Count Self Cumulative Miss ratio
_EXIT_TRACE 11,270,720 9.2% 9.2%
_START_EXECUTOR 11,270,720 9.2% 18.5%
_GUARD_NOT_EXHAUSTED_RANGE 10,760,880 8.8% 27.3% 4.8%
_ITER_CHECK_RANGE 10,760,880 8.8% 36.1%
_COLD_EXIT 10,756,200 8.8% 44.9%
_TIER2_RESUME_CHECK 10,756,160 8.8% 53.8%
_ITER_NEXT_RANGE 10,243,680 8.4% 62.1%
_LOAD_CONST_INLINE_WITH_NULL 10,243,680 8.4% 70.5%
_CHECK_FUNCTION 10,238,960 8.4% 78.9%
_STORE_FAST_3 10,238,960 8.4% 87.3%
_LOAD_FAST_0 2,047,600 1.7% 89.0%
_GUARD_TYPE_VERSION 2,042,880 1.7% 90.7%
_POP_TOP 1,030,000 0.8% 91.5%
_GUARD_DORV_NO_DICT 1,021,440 0.8% 92.4%
_STORE_ATTR_INSTANCE_VALUE 1,021,440 0.8% 93.2%
_SET_IP 524,880 0.4% 93.6%
_LOAD_FAST_2 519,280 0.4% 94.1%
_RESUME_CHECK 515,440 0.4% 94.5%
_CHECK_FUNCTION_EXACT_ARGS 515,440 0.4% 94.9%
_CHECK_STACK_SPACE_OPERAND 515,440 0.4% 95.3%
_LOAD_FAST_1 515,440 0.4% 95.7%
_PUSH_FRAME 515,440 0.4% 96.2%
_SAVE_RETURN_OFFSET 515,440 0.4% 96.6%
_CHECK_MANAGED_OBJECT_HAS_VALUES 510,720 0.4% 97.0%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 510,720 0.4% 97.4%
_GUARD_KEYS_VERSION 510,720 0.4% 97.8%
_INIT_CALL_PY_EXACT_ARGS_1 510,720 0.4% 98.3%
_LOAD_ATTR_INSTANCE_VALUE_0 510,720 0.4% 98.7%
_LOAD_ATTR_METHOD_WITH_VALUES 510,720 0.4% 99.1%
_LOAD_CONST_INLINE_BORROW 510,720 0.4% 99.5%
_POP_FRAME 510,720 0.4% 99.9%
_CHECK_PERIODIC 9,440 0.0% 99.9%
_CHECK_VALIDITY 9,440 0.0% 100.0%
_GET_ITER 4,720 0.0% 100.0%
_PUSH_NULL 4,720 0.0% 100.0%
_BUILD_LIST 4,720 0.0% 100.0%
_CALL_BUILTIN_CLASS 4,720 0.0% 100.0%
_CALL_BUILTIN_FAST_WITH_KEYWORDS 4,720 0.0% 100.0%
_CHECK_VALIDITY_AND_SET_IP 4,720 0.0% 100.0%
_INIT_CALL_PY_EXACT_ARGS_2 4,720 0.0% 100.0%
_LOAD_CONST_INLINE 4,720 0.0% 100.0%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 4,720 0.0% 100.0%
_STORE_FAST_2 4,720 0.0% 100.0%
_STORE_FAST_4 4,720 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
_ITER_CHECK_RANGE _GUARD_NOT_EXHAUSTED_RANGE 10,760,880 8.8% 8.8%
_START_EXECUTOR _TIER2_RESUME_CHECK 10,756,160 8.8% 17.6%
_TIER2_RESUME_CHECK _ITER_CHECK_RANGE 10,756,160 8.8% 26.5%
_GUARD_NOT_EXHAUSTED_RANGE _ITER_NEXT_RANGE 10,243,680 8.4% 34.9%
_ITER_NEXT_RANGE _STORE_FAST_3 10,238,960 8.4% 43.2%
_LOAD_CONST_INLINE_WITH_NULL _EXIT_TRACE 10,238,960 8.4% 51.6%
_CHECK_FUNCTION _LOAD_CONST_INLINE_WITH_NULL 10,234,240 8.4% 60.0%
_STORE_FAST_3 _CHECK_FUNCTION 10,234,240 8.4% 68.4%
_GUARD_DORV_NO_DICT _STORE_ATTR_INSTANCE_VALUE 1,021,440 0.8% 69.3%
_GUARD_TYPE_VERSION _GUARD_DORV_NO_DICT 1,021,440 0.8% 70.1%
_LOAD_FAST_0 _GUARD_TYPE_VERSION 1,021,440 0.8% 70.9%
_GUARD_NOT_EXHAUSTED_RANGE _EXIT_TRACE 517,200 0.4% 71.3%
_SET_IP _CHECK_FUNCTION_EXACT_ARGS 515,440 0.4% 71.8%
_CHECK_FUNCTION_EXACT_ARGS _CHECK_STACK_SPACE_OPERAND 515,440 0.4% 72.2%
_LOAD_FAST_0 _SET_IP 515,440 0.4% 72.6%
_PUSH_FRAME _RESUME_CHECK 515,440 0.4% 73.0%
_SAVE_RETURN_OFFSET _PUSH_FRAME 515,440 0.4% 73.5%
_POP_TOP _LOAD_FAST_2 514,560 0.4% 73.9%
_START_EXECUTOR _POP_TOP 514,560 0.4% 74.3%
_POP_TOP _EXIT_TRACE 510,720 0.4% 74.7%
_RESUME_CHECK _LOAD_FAST_1 510,720 0.4% 75.1%
_CHECK_MANAGED_OBJECT_HAS_VALUES _LOAD_ATTR_INSTANCE_VALUE_0 510,720 0.4% 75.6%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_1 510,720 0.4% 76.0%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT _GUARD_KEYS_VERSION 510,720 0.4% 76.4%
_GUARD_KEYS_VERSION _LOAD_ATTR_METHOD_WITH_VALUES 510,720 0.4% 76.8%
_GUARD_TYPE_VERSION _CHECK_MANAGED_OBJECT_HAS_VALUES 510,720 0.4% 77.2%
_GUARD_TYPE_VERSION _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 510,720 0.4% 77.7%
_INIT_CALL_PY_EXACT_ARGS_1 _SAVE_RETURN_OFFSET 510,720 0.4% 78.1%
_LOAD_ATTR_INSTANCE_VALUE_0 _GUARD_TYPE_VERSION 510,720 0.4% 78.5%
_LOAD_ATTR_METHOD_WITH_VALUES _LOAD_FAST_0 510,720 0.4% 78.9%
_LOAD_CONST_INLINE_BORROW _POP_FRAME 510,720 0.4% 79.3%
_LOAD_FAST_0 _LOAD_FAST_0 510,720 0.4% 79.7%
_LOAD_FAST_1 _LOAD_FAST_0 510,720 0.4% 80.2%
_LOAD_FAST_2 _GUARD_TYPE_VERSION 510,720 0.4% 80.6%
_POP_FRAME _POP_TOP 510,720 0.4% 81.0%
_STORE_ATTR_INSTANCE_VALUE _LOAD_CONST_INLINE_BORROW 510,720 0.4% 81.4%
_STORE_ATTR_INSTANCE_VALUE _LOAD_FAST_0 510,720 0.4% 81.8%
_GET_ITER _CHECK_VALIDITY 4,720 0.0% 81.8%
_POP_TOP _LOAD_CONST_INLINE_WITH_NULL 4,720 0.0% 81.8%
_PUSH_NULL _SET_IP 4,720 0.0% 81.9%
_BUILD_LIST _STORE_FAST_2 4,720 0.0% 81.9%
_RESUME_CHECK _BUILD_LIST 4,720 0.0% 81.9%
_SET_IP _CALL_BUILTIN_CLASS 4,720 0.0% 81.9%
_SET_IP _CALL_BUILTIN_FAST_WITH_KEYWORDS 4,720 0.0% 81.9%
_CALL_BUILTIN_CLASS _CHECK_PERIODIC 4,720 0.0% 81.9%
_CALL_BUILTIN_FAST_WITH_KEYWORDS _CHECK_PERIODIC 4,720 0.0% 81.9%
_CHECK_FUNCTION _LOAD_CONST_INLINE 4,720 0.0% 81.9%
_CHECK_PERIODIC _CHECK_VALIDITY 4,720 0.0% 81.9%
_CHECK_PERIODIC _CHECK_VALIDITY_AND_SET_IP 4,720 0.0% 81.9%
_CHECK_STACK_SPACE_OPERAND _INIT_CALL_PY_EXACT_ARGS_2 4,720 0.0% 81.9%
_CHECK_VALIDITY _POP_TOP 4,720 0.0% 81.9%
_CHECK_VALIDITY _ITER_CHECK_RANGE 4,720 0.0% 81.9%
_CHECK_VALIDITY_AND_SET_IP _GET_ITER 4,720 0.0% 81.9%
_INIT_CALL_PY_EXACT_ARGS_2 _SAVE_RETURN_OFFSET 4,720 0.0% 81.9%
_ITER_NEXT_RANGE _STORE_FAST_4 4,720 0.0% 81.9%
_LOAD_CONST_INLINE _PUSH_NULL 4,720 0.0% 81.9%
_LOAD_CONST_INLINE_BORROW_WITH_NULL _LOAD_FAST_0 4,720 0.0% 81.9%
_LOAD_CONST_INLINE_WITH_NULL _LOAD_FAST_1 4,720 0.0% 81.9%
_LOAD_FAST_1 _LOAD_FAST_2 4,720 0.0% 81.9%
_LOAD_FAST_2 _SET_IP 4,720 0.0% 81.9%
_STORE_FAST_2 _LOAD_CONST_INLINE_BORROW_WITH_NULL 4,720 0.0% 81.9%
_STORE_FAST_3 _LOAD_CONST_INLINE_WITH_NULL 4,720 0.0% 81.9%
_STORE_FAST_4 _CHECK_FUNCTION 4,720 0.0% 81.9%
_LOAD_FAST_2 _EXIT_TRACE 3,840 0.0% 81.9%

Unsupported opcodes

unsupported opcodes
Opcode Count
CALL 2,720
CALL_ALLOC_AND_ENTER_INIT 60

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