Skip to content

Latest commit

 

History

History
3418 lines (3176 loc) · 69.1 KB

bm-20241025-azure-x86_64-brandtbucher-justin_no_externs-3.14.0a1+-5791853-pystats-crypto_pyaes-vs-base.md

File metadata and controls

3418 lines (3176 loc) · 69.1 KB

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 Base Count Head Count Change
LOAD_CONST 7,624,080 7,624,080 0.0%
LOAD_FAST 5,903,940 5,903,940 0.0%
BINARY_OP 2,780,800 2,780,800 0.0%
BINARY_SUBSCR_LIST_INT 2,775,360 2,775,360 0.0%
LOAD_ATTR_INSTANCE_VALUE 2,079,360 2,079,360 0.0%
STORE_FAST 1,740,240 1,740,240 0.0%
SWAP 1,729,680 1,729,680 0.0%
LOAD_GLOBAL_MODULE 1,039,680 1,039,680 0.0%
GET_ITER 1,038,780 1,038,780 0.0%
LOAD_GLOBAL_BUILTIN 1,038,060 1,038,060 0.0%
RESUME_CHECK 1,037,580 1,037,580 0.0%
BUILD_LIST 1,037,340 1,037,340 0.0%
RETURN_VALUE 1,037,160 1,037,160 0.0%
CALL_LEN 1,037,040 1,037,040 0.0%
CALL_PY_EXACT_ARGS 1,036,680 1,036,680 0.0%
ENTER_EXECUTOR 704,040 704,040 0.0%
BINARY_OP_ADD_INT 696,240 696,240 0.0%
POP_TOP 695,820 695,820 0.0%
COMPARE_OP_INT 695,760 695,760 0.0%
BINARY_OP_SUBTRACT_INT 693,360 693,360 0.0%
FOR_ITER_RANGE 692,340 692,340 0.0%
CALL_BUILTIN_CLASS 692,220 692,220 0.0%
POP_JUMP_IF_FALSE 691,560 691,560 0.0%
COPY 691,440 691,440 0.0%
BINARY_OP_MULTIPLY_INT 690,480 690,480 0.0%
LIST_EXTEND 690,300 690,300 0.0%
STORE_SUBSCR_LIST_INT 352,320 352,320 0.0%
STORE_ATTR_INSTANCE_VALUE 346,800 346,800 0.0%
LOAD_FAST_AND_CLEAR 346,560 346,560 0.0%
LIST_APPEND 346,320 346,320 0.0%
RETURN_CONST 346,260 346,260 0.0%
LOAD_ATTR_METHOD_WITH_VALUES 345,840 345,840 0.0%
BINARY_SLICE 345,600 345,600 0.0%
STORE_FAST_STORE_FAST 345,420 345,420 0.0%
UNPACK_SEQUENCE_LIST 345,120 345,120 0.0%
LOAD_FAST_LOAD_FAST 15,180 15,180 0.0%
POP_JUMP_IF_TRUE 4,860 4,860 0.0%
JUMP_FORWARD 2,460 2,460 0.0%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 2,400 2,400 0.0%
PUSH_NULL 900 900 0.0%
JUMP_BACKWARD 780 780 0.0%
CALL_NON_PY_GENERAL 780 780 0.0%
EXIT_INIT_CHECK 720 720 0.0%
CALL_ALLOC_AND_ENTER_INIT 720 720 0.0%
LOAD_ATTR_MODULE 720 720 0.0%
FOR_ITER 320 320 0.0%
EXTENDED_ARG 300 300 0.0%
LOAD_ATTR 300 300 0.0%
POP_JUMP_IF_NOT_NONE 300 300 0.0%
BINARY_SUBSCR_TUPLE_INT 300 300 0.0%
TO_BOOL_BOOL 300 300 0.0%
UNPACK_SEQUENCE_TWO_TUPLE 300 300 0.0%
CONTAINS_OP 280 280 0.0%
CALL 260 260 0.0%
STORE_FAST_LOAD_FAST 240 240 0.0%
BINARY_SUBSCR_DICT 240 240 0.0%
CALL_BUILTIN_FAST 240 240 0.0%
CALL_ISINSTANCE 240 240 0.0%
LOAD_ATTR_CLASS 240 240 0.0%
LOAD_ATTR_PROPERTY 240 240 0.0%
LOAD_GLOBAL 140 140 0.0%
BUILD_TUPLE 120 120 0.0%
CALL_FUNCTION_EX 120 120 0.0%
LOAD_DEREF 120 120 0.0%
LOAD_ATTR_METHOD_NO_DICT 120 120 0.0%
TO_BOOL 100 100 0.0%
COMPARE_OP 80 80 0.0%
MAKE_FUNCTION 60 60 0.0%
NOP 60 60 0.0%
CALL_INTRINSIC_1 60 60 0.0%
COPY_FREE_VARS 60 60 0.0%
IS_OP 60 60 0.0%
LOAD_FAST_CHECK 60 60 0.0%
MAKE_CELL 60 60 0.0%
SET_FUNCTION_ATTRIBUTE 60 60 0.0%
STORE_DEREF 60 60 0.0%
BINARY_OP_SUBTRACT_FLOAT 60 60 0.0%
CALL_METHOD_DESCRIPTOR_NOARGS 60 60 0.0%
CALL_METHOD_DESCRIPTOR_O 60 60 0.0%
CALL_PY_GENERAL 60 60 0.0%
BINARY_SUBSCR 20 20 0.0%
UNPACK_SEQUENCE 20 20 0.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.

Not included in comparative output.

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.

Not included in comparative output.

Specialization stats

Specialization stats by family

BINARY_OP

specialization stats for BINARY_OP family
Kind Base Count Base Ratio Head Count Head Ratio Change
deferred

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

2,779,440 5.6% 2,779,440 5.6% 0.0%
hit

Specialized instructions that complete.

46,636,140 94.4% 46,636,140 94.4% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 20 1.5% 20 1.5% 0.0%
Failure 1,340 98.5% 1,340 98.5% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
lshift 320 23.9% 320 23.9% 0.0%
or 240 17.9% 240 17.9% 0.0%
xor 200 14.9% 200 14.9% 0.0%
floor divide 160 11.9% 160 11.9% 0.0%
remainder 140 10.4% 140 10.4% 0.0%
add other 80 6.0% 80 6.0% 0.0%
and int 80 6.0% 80 6.0% 0.0%
rshift 80 6.0% 80 6.0% 0.0%
multiply different types 40 3.0% 40 3.0% 0.0%

BINARY_SLICE

specialization stats for BINARY_SLICE family
Kind Base Count Base Ratio Head Count Head Ratio Change
deferred

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

345,600 100.0% 345,600 100.0% 0.0%

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Base Count Base Ratio Head Count Head Ratio Change
hit

Specialized instructions that complete.

147,158,700 100.0% 147,158,700 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 20 100.0% 20 100.0% 0.0%
Failure 0 0.0% 0 0.0%

CALL

specialization stats for CALL family
Kind Base Count Base Ratio Head Count Head Ratio Change
hit

Specialized instructions that complete.

26,240,220 100.0% 26,240,220 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 260 100.0% 260 100.0% 0.0%
Failure 0 0.0% 0 0.0%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Base Count Base Ratio Head Count Head Ratio Change
deferred

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

60 0.0% 60 0.0% 0.0%
hit

Specialized instructions that complete.

1,063,440 100.0% 1,063,440 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 0 0.0% 0 0.0%
Failure 20 100.0% 20 100.0% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
bytes 20 100.0% 20 100.0% 0.0%

CONTAINS_OP

specialization stats for CONTAINS_OP family
Kind Base Count Base Ratio Head Count Head Ratio Change
deferred

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

240 85.7% 240 85.7% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 0 0.0% 0 0.0%
Failure 40 100.0% 40 100.0% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
tuple 40 100.0% 40 100.0% 0.0%

FOR_ITER

specialization stats for FOR_ITER family
Kind Base Count Base Ratio Head Count Head Ratio Change
deferred

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

300 0.0% 300 0.0% 0.0%
hit

Specialized instructions that complete.

692,340 100.0% 692,340 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 0 0.0% 0 0.0%
Failure 20 100.0% 20 100.0% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
zip 20 100.0% 20 100.0% 0.0%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Base Count Base Ratio Head Count Head Ratio Change
deferred

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

60 0.0% 60 0.0% 0.0%
hit

Specialized instructions that complete.

83,610,360 100.0% 83,610,360 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 220 91.7% 220 91.7% 0.0%
Failure 20 8.3% 20 8.3% 0.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Base Count Base Ratio Head Count Head Ratio Change
hit

Specialized instructions that complete.

2,077,740 100.0% 2,077,740 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 140 100.0% 140 100.0% 0.0%
Failure 0 0.0% 0 0.0%

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Base Count Base Ratio Head Count Head Ratio Change
hit

Specialized instructions that complete.

346,800 100.0% 346,800 100.0% 0.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Base Count Base Ratio Head Count Head Ratio Change
hit

Specialized instructions that complete.

12,811,200 100.0% 12,811,200 100.0% 0.0%

TO_BOOL

specialization stats for TO_BOOL family
Kind Base Count Base Ratio Head Count Head Ratio Change
deferred

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

60 15.0% 60 15.0% 0.0%
hit

Specialized instructions that complete.

300 75.0% 300 75.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 20 50.0% 20 50.0% 0.0%
Failure 20 50.0% 20 50.0% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
sequence 20 100.0% 20 100.0% 0.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Base Count Base Ratio Head Count Head Ratio Change
hit

Specialized instructions that complete.

5,865,180 100.0% 5,865,180 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 20 100.0% 20 100.0% 0.0%
Failure 0 0.0% 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 Base Count Base Ratio Head Count Head Ratio Change
Basic

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

24,995,580 57.2% 24,995,580 57.2% 0.0%
Not specialized

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

3,127,920 7.2% 3,127,920 7.2% 0.0%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

15,601,320 35.7% 15,601,320 35.7% 0.0%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

0 0.0% 0 0.0%

Deferred by instruction

Breakdown of deferred (not specialized) instruction counts by family
Name Base Count Base Ratio Head Count Head Ratio Change
BINARY_OP 2,779,440 88.9% 2,779,440 88.9% 0.0%
BINARY_SLICE 345,600 11.1% 345,600 11.1% 0.0%
FOR_ITER 300 0.0% 300 0.0% 0.0%
CONTAINS_OP 240 0.0% 240 0.0% 0.0%
TO_BOOL 60 0.0% 60 0.0% 0.0%
COMPARE_OP 60 0.0% 60 0.0% 0.0%
LOAD_ATTR 60 0.0% 60 0.0% 0.0%
STORE_SLICE 0 0.0% 0 0.0%
CACHE 0 0.0% 0 0.0%
BINARY_SUBSCR 0 0.0% 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family

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.

Base Count Base Ratio Head Count Head Ratio Change
Calls to PyEval_EvalDefault 60 0.0% 60 0.0% 0.0%
Calls to Python functions inlined 5,524,080 100.0% 5,524,080 100.0% 0.0%
Calls via PyEval_EvalFrame (total) 60 0.0% 60 0.0% 0.0%
Calls via PyEval_EvalFrame (vector) 60 0.0% 60 0.0% 0.0%
Calls via PyEval_EvalFrame (generator) 0 0.0% 0 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0% 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 60 0.0% 60 0.0% 0.0%
Calls via PyEval_EvalFrame (build class) 0 0.0% 0 0.0%
Calls via PyEval_EvalFrame (slot) 0 0.0% 0 0.0%
Calls via PyEval_EvalFrame (function ex) 60 0.0% 60 0.0% 0.0%
Calls via PyEval_EvalFrame (api) 0 0.0% 0 0.0%
Calls via PyEval_EvalFrame (method) 0 0.0% 0 0.0%
Frame objects created 0 0.0% 0 0.0%
Frames pushed 5,524,860 100.0% 5,524,860 100.0% 0.0%

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.

Base Count Base Ratio Head Count Head Ratio Change
Method cache collisions 19 21 10.5%
Method cache misses 27 26 -3.7%
Method cache hits 193 194 0.5%
Frees 146,458,180 146,458,183 0.0%
Immortal decrefs 599,733,866 46.0% 599,733,858 46.0% -0.0%
Mortal decrefs 648,400,968 49.7% 648,400,974 49.7% 0.0%
Immortal increfs 376,721,507 40.7% 376,721,506 40.7% -0.0%
Mortal increfs 523,346,547 56.6% 523,346,546 56.6% -0.0%
Allocations from freelist 7,263,620 4.7% 7,263,620 4.7% 0.0%
Frees to freelist 7,263,560 7,263,560 0.0%
Allocations 145,766,660 95.3% 145,766,660 95.3% 0.0%
Allocations to 512 bytes 145,765,820 95.3% 145,765,820 95.3% 0.0%
Allocations to 4 kbytes 600 0.0% 600 0.0% 0.0%
Allocations over 4 kbytes 240 0.0% 240 0.0% 0.0%
Inline values 720 720 0.0%
Interpreter mortal increfs 11,466,120 1.2% 11,466,120 1.2% 0.0%
Interpreter mortal decrefs 34,253,920 2.6% 34,253,920 2.6% 0.0%
Interpreter immortal increfs 13,193,640 1.4% 13,193,640 1.4% 0.0%
Interpreter immortal decrefs 21,850,860 1.7% 21,850,860 1.7% 0.0%
Materialize dict (on request) 0 0.0% 0 0.0%
Materialize dict (new key) 0 0.0% 0 0.0%
Materialize dict (too big) 0 0.0% 0 0.0%
Materialize dict (str subclass) 0 0.0% 0 0.0%
Method cache dunder hits 240 240 0.0%
Method cache dunder misses 0 0

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

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

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer
Base Count Base Ratio Head Count Head Ratio Change
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.

780 780 0.0%
Traces created

The number of traces that were successfully created.

600 76.9% 600 76.9% 0.0%
Trace stack overflow

A trace is truncated because it would require more than 5 stack frames.

0 0.0% 0 0.0%
Trace stack underflow

A potential trace is abandoned because it pops more frames than it pushes.

180 23.1% 180 23.1% 0.0%
Trace too long

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

0 0.0% 0 0.0%
Trace too short

A potential trace is abandoced because it it too short.

180 23.1% 180 23.1% 0.0%
Inner loop found

A trace is truncated because it has an inner loop

0 0.0% 0 0.0%
Recursive call

A trace is truncated because it has a recursive call.

0 0.0% 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% 0 0.0%
Executors invalidated

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

0 0.0% 0 0.0%
Traces executed

The number of traces that were executed

11,748,240 11,748,240 0.0%
Uops executed

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

2,028,475,920 17,266.2% 2,028,475,920 17,266.2% 0.0%
Base Count Base Ratio Head Count Head Ratio Change
Optimizer attempts

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

600 600 0.0%
Optimizer successes

The number of traces that were successfully optimized.

600 100.0% 600 100.0% 0.0%
Optimizer no memory

The number of optimizations that failed due to no memory.

0 0.0% 0 0.0%
Remove globals builtins changed

The builtins changed during optimization

0 0.0% 0 0.0%
Remove globals incorrect keys

The keys in the globals dictionary aren't what was expected

0 0.0% 0 0.0%

Trace length histogram

trace length histogram
Range Base Count Base Ratio Head Count Head Ratio Change
<= 1 0 0.0% 0 0.0%
<= 2 0 0.0% 0 0.0%
<= 4 0 0.0% 0 0.0%
<= 8 0 0.0% 0 0.0%
<= 16 0 0.0% 0 0.0%
<= 32 180 30.0% 180 30.0% 0.0%
<= 64 120 20.0% 120 20.0% 0.0%
<= 128 180 30.0% 180 30.0% 0.0%
<= 256 120 20.0% 120 20.0% 0.0%

Optimized trace length histogram

optimized trace length histogram
Range Base Count Base Ratio Head Count Head Ratio Change
<= 1 0 0.0% 0 0.0%
<= 2 0 0.0% 0 0.0%
<= 4 0 0.0% 0 0.0%
<= 8 0 0.0% 0 0.0%
<= 16 0 0.0% 0 0.0%
<= 32 300 50.0% 300 50.0% 0.0%
<= 64 120 20.0% 120 20.0% 0.0%
<= 128 120 20.0% 120 20.0% 0.0%
<= 256 60 10.0% 60 10.0% 0.0%

Trace run length histogram

trace run length histogram
Range Base Count Base Ratio Head Count Head Ratio Change
<= 1 0 0.0% 0 0.0%

Uop execution stats

uop execution stats
Name Base Count Head Count Change
_SET_IP 252,140,880 252,140,880 0.0%
_CHECK_VALIDITY 247,654,320 247,654,320 0.0%
_BINARY_OP 215,867,040 215,867,040 0.0%
_LOAD_CONST_INLINE_BORROW 166,515,120 166,515,120 0.0%
_BINARY_SUBSCR_LIST_INT 144,382,080 144,382,080 0.0%
_LOAD_FAST_7 84,558,720 84,558,720 0.0%
_LOAD_FAST_0 82,217,280 82,217,280 0.0%
_LOAD_FAST 79,185,120 79,185,120 0.0%
_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 55,608,480 55,608,480 0.0%
_GUARD_KEYS_VERSION 55,608,480 55,608,480 0.0%
_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 55,263,600 55,263,600 0.0%
_BINARY_OP_ADD_INT 42,468,240 42,468,240 0.0%
_GUARD_TOS_INT 41,414,400 41,414,400 0.0%
_CHECK_PERIODIC 34,212,000 34,212,000 0.0%
_MAKE_WARM 28,685,280 28,685,280 0.0%
_GUARD_TYPE_VERSION 24,867,840 24,867,840 0.0%
_GUARD_NOT_EXHAUSTED_RANGE 22,122,000 22,122,000 0.0%
_ITER_CHECK_RANGE 22,122,000 22,122,000 0.0%
_LOAD_FAST_3 19,344,240 19,344,240 0.0%
_ITER_NEXT_RANGE 17,974,560 17,974,560 0.0%
_JUMP_TO_TOP 16,937,040 16,937,040 0.0%
_CHECK_MANAGED_OBJECT_HAS_VALUES 16,600,080 16,600,080 0.0%
_LOAD_ATTR_INSTANCE_VALUE_0 16,600,080 16,600,080 0.0%
_CHECK_VALIDITY_AND_SET_IP 16,577,280 16,577,280 0.0%
_LOAD_FAST_6 15,564,480 15,564,480 0.0%
_STORE_FAST_7 15,187,440 15,187,440 0.0%
_LOAD_FAST_5 13,820,880 13,820,880 0.0%
_LOAD_FAST_4 13,814,400 13,814,400 0.0%
_LOAD_FAST_2 13,469,040 13,469,040 0.0%
_STORE_SUBSCR_LIST_INT 12,458,880 12,458,880 0.0%
_START_EXECUTOR 11,748,240 11,748,240 0.0%
_EXIT_TRACE 11,403,360 11,403,360 0.0%
_CHECK_FUNCTION 11,048,640 11,048,640 0.0%
_STORE_FAST_2 8,629,440 8,629,440 0.0%
_LOAD_ATTR_METHOD_NO_DICT 8,628,000 8,628,000 0.0%
_STORE_FAST 8,318,160 8,318,160 0.0%
_LOAD_CONST_INLINE_BORROW_WITH_NULL 6,906,480 6,906,480 0.0%
_LIST_APPEND 6,564,240 6,564,240 0.0%
_LOAD_CONST_INLINE 6,213,600 6,213,600 0.0%
_PUSH_NULL 6,212,880 6,212,880 0.0%
_STORE_FAST_3 5,532,960 5,532,960 0.0%
_CALL_LIST_APPEND 5,521,920 5,521,920 0.0%
_FOR_ITER_TIER_TWO 5,520,000 5,520,000 0.0%
_UNPACK_SEQUENCE_TWO_TUPLE 5,519,760 5,519,760 0.0%
_LOAD_FAST_1 4,493,280 4,493,280 0.0%
_PUSH_FRAME 4,486,320 4,486,320 0.0%
_SAVE_RETURN_OFFSET 4,486,320 4,486,320 0.0%
_POP_TOP 4,142,640 4,142,640 0.0%
_RETURN_VALUE 4,141,440 4,141,440 0.0%
_RESUME_CHECK 4,141,440 4,141,440 0.0%
_CHECK_FUNCTION_EXACT_ARGS 4,141,440 4,141,440 0.0%
_CHECK_FUNCTION_VERSION 4,141,440 4,141,440 0.0%
_CHECK_STACK_SPACE_OPERAND 4,141,440 4,141,440 0.0%
_INIT_CALL_PY_EXACT_ARGS_1 4,141,440 4,141,440 0.0%
_GET_ITER 3,800,400 3,800,400 0.0%
_CALL_BUILTIN_CLASS 3,800,400 3,800,400 0.0%
_GUARD_IS_TRUE_POP 3,473,760 3,473,760 0.0%
_STORE_FAST_1 3,107,280 3,107,280 0.0%
_CALL_TYPE_1 3,106,080 3,106,080 0.0%
_CALL_METHOD_DESCRIPTOR_FAST 3,106,080 3,106,080 0.0%
_CALL_METHOD_DESCRIPTOR_NOARGS 3,106,080 3,106,080 0.0%
_TO_BOOL 3,106,080 3,106,080 0.0%
_BINARY_OP_MULTIPLY_INT 2,070,720 2,070,720 0.0%
_LOAD_CONST_INLINE_WITH_NULL 1,725,600 1,725,600 0.0%
_BINARY_SLICE 1,036,080 1,036,080 0.0%
_CALL_LEN 690,240 690,240 0.0%
_COMPARE_OP_INT 367,680 367,680 0.0%
_COPY 365,520 365,520 0.0%
_GUARD_BOTH_INT 364,320 364,320 0.0%
_BUILD_LIST 349,920 349,920 0.0%
_TIER2_RESUME_CHECK 345,120 345,120 0.0%
_DYNAMIC_EXIT 344,880 344,880 0.0%
_LOAD_ATTR_METHOD_WITH_VALUES 344,880 344,880 0.0%
_LOAD_ATTR_PROPERTY_FRAME 344,880 344,880 0.0%
_SWAP 20,640 20,640 0.0%
_BINARY_OP_SUBTRACT_INT 17,040 17,040 0.0%
_GUARD_NOS_INT 14,640 14,640 0.0%
_BINARY_SUBSCR_TUPLE_INT 720 720 0.0%
_CALL_BUILTIN_FAST 720 720 0.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.

Not included in comparative output.

Unsupported opcodes

unsupported opcodes

Optimizer errored out with opcode

Optimization stopped after encountering this opcode

Rare events

Counts of rare/unlikely events
Event Base Count Head Count Change
set class

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

0 0
set bases

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

0 0
set eval frame func

Setting the PEP 523 frame eval function _PyInterpreterState_SetFrameEvalFunc()

0 0
builtin dict

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

0 0
func modification

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

0 0
watched dict modification

A watched dict has been modified

0 0
watched globals modification

A watched globals() dict has been modified

0 0

Meta stats

Meta statistics
Base Count Head Count Change
Number of data files 20 20 0.0%

Stats gathered on: 2024-10-26