Skip to content

Latest commit

 

History

History
3053 lines (2845 loc) · 62.2 KB

bm-20250416-azure-x86_64-faster%2dcpython-get_iter_stats-3.14.0a7+-10cd875-pystats-async_tree_memoization-vs-base.md

File metadata and controls

3053 lines (2845 loc) · 62.2 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_FAST_BORROW 375,917,700 375,917,700 0.0%
POP_JUMP_IF_FALSE 116,265,960 116,265,960 0.0%
RETURN_VALUE 98,107,940 98,107,940 0.0%
RESUME_CHECK 91,941,340 91,941,340 0.0%
LOAD_CONST_IMMORTAL 91,151,700 91,151,700 0.0%
STORE_FAST 89,764,740 89,764,740 0.0%
LOAD_FAST_BORROW_LOAD_FAST_BORROW 88,343,800 88,343,800 0.0%
TO_BOOL_BOOL 77,425,120 77,425,120 0.0%
LOAD_ATTR_METHOD_WITH_VALUES 72,128,640 72,128,640 0.0%
LOAD_ATTR_SLOT 66,711,000 66,711,000 0.0%
LOAD_ATTR_INSTANCE_VALUE 62,376,560 62,376,560 0.0%
POP_TOP 58,160,940 58,160,940 0.0%
STORE_ATTR_SLOT 56,809,180 56,809,180 0.0%
CALL_PY_EXACT_ARGS 52,297,380 52,297,380 0.0%
LOAD_GLOBAL_MODULE 51,406,720 51,406,720 0.0%
PUSH_NULL 47,252,280 47,252,280 0.0%
LOAD_ATTR_METHOD_NO_DICT 35,810,580 35,810,580 0.0%
LOAD_DEREF 30,785,000 30,785,000 0.0%
LOAD_ATTR_MODULE 30,196,180 30,196,180 0.0%
CALL_METHOD_DESCRIPTOR_NOARGS 27,766,780 27,766,780 0.0%
INTERPRETER_EXIT 23,714,760 23,714,760 0.0%
LOAD_SMALL_INT 23,511,620 23,511,620 0.0%
TO_BOOL_NONE 19,295,420 19,295,420 0.0%
POP_JUMP_IF_NOT_NONE 19,021,480 19,021,480 0.0%
JUMP_BACKWARD_NO_JIT 18,974,180 18,974,180 0.0%
POP_JUMP_IF_NONE 17,356,320 17,356,320 0.0%
COMPARE_OP_INT 15,908,900 15,908,900 0.0%
NOP 14,828,400 14,828,400 0.0%
BINARY_OP_ADD_INT 12,317,100 12,317,100 0.0%
LOAD_ATTR 12,308,320 12,308,320 0.0%
CALL_NON_PY_GENERAL 12,304,180 12,304,180 0.0%
CALL_FUNCTION_EX 12,025,320 12,025,320 0.0%
FOR_ITER_RANGE 11,750,540 11,750,540 0.0%
LOAD_GLOBAL_BUILTIN 11,696,820 11,696,820 0.0%
CALL_METHOD_DESCRIPTOR_O 11,487,940 11,487,940 0.0%
CALL_BUILTIN_FAST 10,353,640 10,353,640 0.0%
BUILD_LIST 10,346,940 10,346,940 0.0%
STORE_DEREF 9,517,680 9,517,680 0.0%
CALL_INTRINSIC_1 8,106,060 8,106,060 0.0%
LIST_EXTEND 8,106,060 8,106,060 0.0%
POP_JUMP_IF_TRUE 7,834,940 7,834,940 0.0%
EXIT_INIT_CHECK 7,830,320 7,830,320 0.0%
CALL_ALLOC_AND_ENTER_INIT 7,830,320 7,830,320 0.0%
CALL_LIST_APPEND 6,718,320 6,718,320 0.0%
RETURN_GENERATOR 6,710,540 6,710,540 0.0%
BINARY_OP_SUBTRACT_INT 6,158,580 6,158,580 0.0%
CALL_BUILTIN_O 6,150,680 6,150,680 0.0%
LOAD_CONST_MORTAL 5,315,200 5,315,200 0.0%
FOR_ITER_LIST 4,481,700 4,481,700 0.0%
BUILD_TUPLE 4,479,540 4,479,540 0.0%
COPY_FREE_VARS 4,471,520 4,471,520 0.0%
BUILD_MAP 4,195,300 4,195,300 0.0%
END_SEND 4,187,100 4,187,100 0.0%
GET_AWAITABLE 4,187,100 4,187,100 0.0%
SEND_GEN 4,179,200 4,179,200 0.0%
JUMP_FORWARD 3,922,260 3,922,260 0.0%
FOR_ITER_TUPLE 3,919,020 3,919,020 0.0%
CALL_PY_GENERAL 3,911,540 3,911,540 0.0%
COMPARE_OP_FLOAT 3,575,240 3,575,240 0.0%
STORE_ATTR 3,361,100 3,361,100 0.0%
COPY 3,361,080 3,361,080 0.0%
IS_OP 3,359,520 3,359,520 0.0%
DICT_MERGE 3,359,280 3,359,280 0.0%
DELETE_FAST 3,359,220 3,359,220 0.0%
CALL_KW_PY 3,359,220 3,359,220 0.0%
CALL_TYPE_1 3,359,220 3,359,220 0.0%
CONTAINS_OP_DICT 3,359,220 3,359,220 0.0%
CONTAINS_OP_SET 3,359,220 3,359,220 0.0%
STORE_SUBSCR_DICT 3,359,220 3,359,220 0.0%
LIST_APPEND 3,359,160 3,359,160 0.0%
CALL_ISINSTANCE 3,299,560 3,299,560 0.0%
GET_ITER 2,803,620 2,803,620 0.0%
MAKE_CELL 2,799,420 2,799,420 0.0%
CALL_BOUND_METHOD_EXACT_ARGS 2,799,420 2,799,420 0.0%
CALL_METHOD_DESCRIPTOR_FAST 2,523,620 2,523,620 0.0%
POP_ITER 2,243,820 2,243,820 0.0%
SWAP 1,679,820 1,679,820 0.0%
SEND 1,671,980 1,671,980 0.0%
JUMP_BACKWARD_NO_INTERRUPT 1,663,660 1,663,660 0.0%
YIELD_VALUE 1,663,660 1,663,660 0.0%
CALL_KW_NON_PY 1,395,700 1,395,700 0.0%
STORE_ATTR_INSTANCE_VALUE 1,122,660 1,122,660 0.0%
SET_FUNCTION_ATTRIBUTE 1,119,960 1,119,960 0.0%
LOAD_SUPER_ATTR_METHOD 1,112,180 1,112,180 0.0%
TO_BOOL 562,080 562,080 0.0%
CALL_BUILTIN_CLASS 561,780 561,780 0.0%
MAKE_FUNCTION 560,100 560,100 0.0%
CALL_BUILTIN_FAST_WITH_KEYWORDS 559,980 559,980 0.0%
LOAD_FAST_AND_CLEAR 559,860 559,860 0.0%
TO_BOOL_LIST 278,680 278,680 0.0%
BINARY_OP_ADD_FLOAT 277,300 277,300 0.0%
COMPARE_OP 276,140 276,140 0.0%
BINARY_OP_SUBSCR_LIST_INT 276,100 276,100 0.0%
LOAD_FAST 4,860 4,860 0.0%
CALL_LEN 4,140 4,140 0.0%
CALL 2,400 2,400 0.0%
TO_BOOL_INT 1,740 1,740 0.0%
CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 1,560 1,560 0.0%
LOAD_GLOBAL 1,320 1,320 0.0%
BINARY_OP 360 360 0.0%
BINARY_OP_EXTEND 360 360 0.0%
FOR_ITER 240 240 0.0%
LOAD_ATTR_CLASS 240 240 0.0%
UNPACK_SEQUENCE_TWO_TUPLE 240 240 0.0%
STORE_FAST_STORE_FAST 180 180 0.0%
LOAD_SUPER_ATTR 160 160 0.0%
CHECK_EXC_MATCH 120 120 0.0%
POP_EXCEPT 120 120 0.0%
PUSH_EXC_INFO 120 120 0.0%
UNARY_INVERT 120 120 0.0%
UNARY_NOT 120 120 0.0%
BINARY_OP_SUBSCR_DICT 120 120 0.0%
UNPACK_SEQUENCE 80 80 0.0%
IMPORT_NAME 60 60 0.0%
LOAD_FAST_LOAD_FAST 60 60 0.0%
RAISE_VARARGS 60 60 0.0%
RERAISE 60 60 0.0%
BINARY_OP_SUBSCR_GETITEM 60 60 0.0%
BINARY_OP_SUBSCR_TUPLE_INT 60 60 0.0%
BINARY_OP_SUBTRACT_FLOAT 60 60 0.0%
CALL_BOUND_METHOD_GENERAL 60 60 0.0%
LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 60 60 0.0%
CALL_KW 40 40 0.0%
STORE_SUBSCR 20 20 0.0%
CONTAINS_OP 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.

120 0.0% 120 0.0% 0.0%
hit

Specialized instructions that complete.

19,305,840 100.0% 19,305,840 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%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
true divide other 20 100.0% 20 100.0% 0.0%

CALL

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

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

6,948,140 5.0% 6,948,140 5.0% 0.0%
hit

Specialized instructions that complete.

131,432,020 94.9% 131,432,020 94.9% 0.0%
miss

Specialized instructions that deopt.

7,081,740 5.1% 7,081,740 5.1% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 136,000 100.0% 136,000 100.0% 0.0%
Failure 0 0.0% 0 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
init not python 20 20 / 0 !! 20 20 / 0 !! 0.0%

CALL_KW

specialization stats for CALL_KW family
Success Base Count Base Ratio Head Count Head Ratio Change
Success 40 100.0% 40 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.

276,040 1.4% 276,040 1.4% 0.0%
hit

Specialized instructions that complete.

19,484,140 98.6% 19,484,140 98.6% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 20 20.0% 20 20.0% 0.0%
Failure 80 80.0% 80 80.0% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
float long 60 75.0% 60 75.0% 0.0%
bool 20 25.0% 20 25.0% 0.0%

CONTAINS_OP

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

Specialized instructions that complete.

6,718,440 100.0% 6,718,440 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%

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.

180 0.0% 180 0.0% 0.0%
hit

Specialized instructions that complete.

20,151,260 100.0% 20,151,260 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 20 33.3% 20 33.3% 0.0%
Failure 40 66.7% 40 66.7% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
dict items 40 100.0% 40 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.

12,302,260 4.4% 12,302,260 4.4% 0.0%
hit

Specialized instructions that complete.

266,661,320 95.4% 266,661,320 95.4% 0.0%
miss

Specialized instructions that deopt.

561,940 0.2% 561,940 0.2% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 13,260 79.7% 13,260 79.7% 0.0%
Failure 3,380 20.3% 3,380 20.3% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
method 2,100 62.1% 2,100 62.1% 0.0%
overriding descriptor 940 27.8% 940 27.8% 0.0%
module attr not found 260 7.7% 260 7.7% 0.0%
metaclass attribute 20 0.6% 20 0.6% 0.0%

LOAD_GLOBAL

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

Specialized instructions that deopt.

60 0.0% 60 0.0% 0.0%
hit

Specialized instructions that complete.

63,103,480 100.0% 63,103,480 100.0% 0.0%
miss

Specialized instructions that deopt.

60 0.0% 60 0.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 1,320 100.0% 1,320 100.0% 0.0%
Failure 0 0.0% 0 0.0%

LOAD_SUPER_ATTR

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

Specialized instructions that complete.

1,112,180 100.0% 1,112,180 100.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 160 100.0% 160 100.0% 0.0%
Failure 0 0.0% 0 0.0%

SEND

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

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

1,671,560 28.6% 1,671,560 28.6% 0.0%
hit

Specialized instructions that complete.

4,179,200 71.4% 4,179,200 71.4% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 0 0.0% 0 0.0%
Failure 420 100.0% 420 100.0% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
other 420 100.0% 420 100.0% 0.0%

STORE_ATTR

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

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

3,359,340 5.5% 3,359,340 5.5% 0.0%
hit

Specialized instructions that complete.

54,444,120 88.8% 54,444,120 88.8% 0.0%
miss

Specialized instructions that deopt.

3,487,720 5.7% 3,487,720 5.7% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 66,700 98.7% 66,700 98.7% 0.0%
Failure 860 1.3% 860 1.3% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
overriding descriptor 840 97.7% 840 97.7% 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.

3,359,220 100.0% 3,359,220 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%

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.

561,300 0.6% 561,300 0.6% 0.0%
hit

Specialized instructions that complete.

97,000,960 99.4% 97,000,960 99.4% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 580 74.4% 580 74.4% 0.0%
Failure 200 25.6% 200 25.6% 0.0%
Failure kind Base Count Base Ratio Head Count Head Ratio Change
tuple 140 70.0% 140 70.0% 0.0%
sequence 60 30.0% 60 30.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.

240 75.0% 240 75.0% 0.0%
Success Base Count Base Ratio Head Count Head Ratio Change
Success 80 100.0% 80 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
Not specialized

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

18,184,260 0.9% 20,987,880 1.0% 15.4%
Basic

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

1,130,849,680 54.6% 1,128,046,060 54.4% -0.2%
Specialized misses

Specialized instructions, e.g. LOAD_ATTR_MODULE that deopt.

11,143,037 0.5% 11,143,041 0.5% 0.0%
Specialized hits

Specialized instructions, e.g. LOAD_ATTR_MODULE that complete.

912,218,443 44.0% 912,218,439 44.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
LOAD_ATTR 12,302,260 49.0% 12,302,260 49.0% 0.0%
CALL 6,948,140 27.7% 6,948,140 27.7% 0.0%
STORE_ATTR 3,359,340 13.4% 3,359,340 13.4% 0.0%
SEND 1,671,560 6.7% 1,671,560 6.7% 0.0%
TO_BOOL 561,300 2.2% 561,300 2.2% 0.0%
COMPARE_OP 276,040 1.1% 276,040 1.1% 0.0%
FOR_ITER 180 0.0% 180 0.0% 0.0%
BINARY_OP 120 0.0% 120 0.0% 0.0%
BINARY_SLICE 0 0.0% 0 0.0%
STORE_SLICE 0 0.0% 0 0.0%

Misses by instruction

Breakdown of misses (specialized deopts) instruction counts by family
Name Base Count Base Ratio Head Count Head Ratio Change
RESUME 11,577 0.1% 11,581 0.1% 0.0%
RESUME_CHECK 11,577 0.1% 11,581 0.1% 0.0%
CALL_METHOD_DESCRIPTOR_O 3,657,740 32.8% 3,657,740 32.8% 0.0%
STORE_ATTR_SLOT 3,487,720 31.3% 3,487,720 31.3% 0.0%
CALL_METHOD_DESCRIPTOR_NOARGS 3,424,000 30.7% 3,424,000 30.7% 0.0%
LOAD_ATTR_SLOT 549,220 4.9% 549,220 4.9% 0.0%
LOAD_ATTR_METHOD_NO_DICT 12,720 0.1% 12,720 0.1% 0.0%
LOAD_GLOBAL_BUILTIN 60 0.0% 60 0.0% 0.0%
CACHE 0 0.0% 0 0.0%
CALL_FUNCTION_EX 0 0.0% 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.

Base Count Base Ratio Head Count Head Ratio Change
Calls to PyEval_EvalDefault 23,714,820 24.0% 23,714,820 24.0% 0.0%
Calls to Python functions inlined 74,937,060 76.0% 74,937,060 76.0% 0.0%
Calls via PyEval_EvalFrame (total) 23,714,820 24.0% 23,714,820 24.0% 0.0%
Calls via PyEval_EvalFrame (vector) 19,519,820 19.8% 19,519,820 19.8% 0.0%
Calls via PyEval_EvalFrame (generator) 4,195,000 4.3% 4,195,000 4.3% 0.0%
Calls via PyEval_EvalFrame (legacy) 0 0.0% 0 0.0%
Calls via PyEval_EvalFrame (function vectorcall) 19,519,820 19.8% 19,519,820 19.8% 0.0%
Calls via PyEval_EvalFrame (build class) 0 0.0% 0 0.0%
Calls via PyEval_EvalFrame (slot) 3,299,140 3.3% 3,299,140 3.3% 0.0%
Calls via PyEval_EvalFrame (function ex) 559,860 0.6% 559,860 0.6% 0.0%
Calls via PyEval_EvalFrame (api) 60 0.0% 60 0.0% 0.0%
Calls via PyEval_EvalFrame (method) 11,749,220 11.9% 11,749,220 11.9% 0.0%
Frame objects created 120 0.0% 120 0.0% 0.0%
Frames pushed 98,108,000 99.4% 98,108,000 99.4% 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 dunder misses 113 116 2.7%
Method cache misses 563,929 563,353 -0.1%
Method cache collisions 563,414 562,918 -0.1%
Allocations to 4 kbytes 46,286 0.0% 46,288 0.0% 0.0%
Method cache hits 40,421,491 40,422,067 0.0%
Immortal decrefs 134,005,327 13.5% 134,004,474 13.5% -0.0%
Frees 55,734,865 55,735,189 0.0%
Immortal increfs 96,994,627 10.6% 96,994,081 10.6% -0.0%
Mortal increfs 195,984,914 21.4% 195,984,329 21.4% -0.0%
Allocations from freelist 61,300,982 53.1% 61,301,049 53.1% 0.0%
Frees to freelist 61,301,042 61,301,109 0.0%
Mortal decrefs 268,217,137 27.1% 268,216,860 27.1% -0.0%
Method cache dunder hits 3,859,747 3,859,744 -0.0%
Allocations 54,057,962 46.9% 54,057,988 46.9% 0.0%
Allocations to 512 bytes 54,011,676 46.8% 54,011,700 46.8% 0.0%
Interpreter mortal decrefs 573,758,462 57.9% 573,758,531 57.9% 0.0%
Allocations over 4 kbytes 0 0.0% 0 0.0%
Inline values 4,195,360 4,195,360 0.0%
Interpreter mortal increfs 545,774,620 59.5% 545,774,620 59.5% 0.0%
Interpreter immortal increfs 78,465,220 8.6% 78,465,220 8.6% 0.0%
Interpreter immortal decrefs 15,369,220 1.6% 15,369,220 1.6% 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%

GC stats

GC collections and effectiveness

Collected/visits gives some measure of efficiency.

Generation Base Collections Base Objects collected Base Object visits Base Reachable from roots Base Not reachable from roots Head Collections Head Objects collected Head Object visits Head Reachable from roots Head Not reachable from roots
0 0 0 0 0 0 0 0 0 0 0
1 13,758 160 398,569,461 24,052,537 35,840,023 13,769 160 398,635,872 24,023,421 35,860,265
2 0 0 0 0 0 0 0 0 0 0

Optimization (Tier 2) stats

statistics about the Tier 2 optimizer

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: 2025-04-16