Skip to content

Instantly share code, notes, and snippets.

@markshannon
Created March 3, 2022 13:10
Show Gist options
  • Select an option

  • Save markshannon/44934aa5a59db0630c9e0653aac6aebf to your computer and use it in GitHub Desktop.

Select an option

Save markshannon/44934aa5a59db0630c9e0653aac6aebf to your computer and use it in GitHub Desktop.

Execution counts

execution counts for all instructions
Name Count Self Cumulative Miss ratio
LOAD_FAST 7151659138 11.2% 11.2%
LOAD_CONST 3263885233 5.1% 16.4%
LOAD_FAST__LOAD_FAST 2861015741 4.5% 20.9%
STORE_FAST__LOAD_FAST 2841959048 4.5% 25.3%
STORE_FAST 2522654712 4.0% 29.3%
LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE 2185754755 3.4% 32.7%
RESUME_QUICK 2070903013 3.3% 36.0%
PUSH_NULL 1921087030 3.0% 39.0%
RETURN_VALUE 1870610126 2.9% 41.9%
POP_JUMP_IF_FALSE 1661445377 2.6% 44.5%
LOAD_FAST__LOAD_CONST 1577618605 2.5% 47.0%
FOR_ITER 1477056642 2.3% 49.3%
BINARY_OP_ADD_INT 1364448562 2.1% 51.5% 0.0%
JUMP_ABSOLUTE_QUICK 1260771815 2.0% 53.5%
PRECALL_PYFUNC 1234714374 1.9% 55.4% 0.0%
LOAD_GLOBAL_BUILTIN 1208080097 1.9% 57.3% 0.3%
CALL_PY_EXACT_ARGS 1152460168 1.8% 59.1% 3.8%
LOAD_GLOBAL_MODULE 1131851240 1.8% 60.9% 0.2%
COMPARE_OP_INT_JUMP 1124000618 1.8% 62.7% 0.0%
BINARY_SUBSCR_ADAPTIVE 1115920765 1.8% 64.4%
POP_TOP 1101447325 1.7% 66.2%
BINARY_SUBSCR_LIST_INT 1085967374 1.7% 67.9% 1.1%
SWAP 994094611 1.6% 69.4%
COPY 981640580 1.5% 71.0%
BINARY_OP_ADAPTIVE 965884470 1.5% 72.5%
BINARY_OP_MULTIPLY_FLOAT 879555850 1.4% 73.9% 1.0%
LOAD_METHOD_WITH_VALUES 781947824 1.2% 75.1% 2.3%
LOAD_ATTR_ADAPTIVE 583126738 0.9% 76.0%
POP_JUMP_IF_TRUE 569144437 0.9% 76.9%
BINARY_OP_ADD_FLOAT 550537138 0.9% 77.8% 1.3%
LOAD_CONST__LOAD_FAST 543761536 0.9% 78.6%
EXTENDED_ARG 541011043 0.9% 79.5%
STORE_SUBSCR_ADAPTIVE 532285979 0.8% 80.3%
STORE_FAST__STORE_FAST 523866398 0.8% 81.1%
CALL_ADAPTIVE 459881650 0.7% 81.9%
BINARY_OP_SUBTRACT_INT 458145117 0.7% 82.6% 0.6%
STORE_ATTR_INSTANCE_VALUE 457911338 0.7% 83.3% 0.9%
LOAD_METHOD_NO_DICT 457745430 0.7% 84.0% 1.2%
BUILD_SLICE 434910161 0.7% 84.7%
LOAD_DEREF 401222738 0.6% 85.3%
UNPACK_SEQUENCE_TWO_TUPLE 389045036 0.6% 85.9%
COMPARE_OP_ADAPTIVE 368007140 0.6% 86.5%
STORE_SUBSCR_LIST_INT 365076556 0.6% 87.1%
BINARY_OP_SUBTRACT_FLOAT 354186405 0.6% 87.6% 2.9%
PRECALL_NO_KW_BUILTIN_O 352759016 0.6% 88.2% 0.5%
JUMP_FORWARD 328439053 0.5% 88.7%
LOAD_ATTR_INSTANCE_VALUE 316405951 0.5% 89.2% 7.8%
PRECALL_ADAPTIVE 294867429 0.5% 89.7%
PRECALL_NO_KW_ISINSTANCE 291710608 0.5% 90.1%
LOAD_ATTR_WITH_HINT 282552044 0.4% 90.6% 5.0%
BUILD_TUPLE 251068337 0.4% 91.0%
PRECALL_NO_KW_LEN 242606372 0.4% 91.4%
LOAD_ATTR_SLOT 238704102 0.4% 91.7% 11.3%
GET_ITER 237139242 0.4% 92.1%
CONTAINS_OP 235013395 0.4% 92.5%
BINARY_OP_MULTIPLY_INT 232256753 0.4% 92.8% 0.8%
IS_OP 231843796 0.4% 93.2%
PRECALL_NO_KW_BUILTIN_FAST 215129815 0.3% 93.5% 0.1%
PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST 210597312 0.3% 93.9%
NOP 207808841 0.3% 94.2%
YIELD_VALUE 205644063 0.3% 94.5%
LOAD_METHOD_ADAPTIVE 197011314 0.3% 94.8%
POP_JUMP_IF_NONE 163081786 0.3% 95.1%
BINARY_SUBSCR_GETITEM 144712246 0.2% 95.3% 0.0%
UNPACK_SEQUENCE 140307500 0.2% 95.5%
POP_JUMP_IF_NOT_NONE 131714970 0.2% 95.7%
PRECALL_NO_KW_LIST_APPEND 122926431 0.2% 95.9%
PRECALL_BOUND_METHOD 118068449 0.2% 96.1% 0.7%
BINARY_SUBSCR_DICT 114963713 0.2% 96.3% 0.0%
BINARY_SUBSCR_TUPLE_INT 111519062 0.2% 96.5% 2.0%
LOAD_ATTR_MODULE 110506920 0.2% 96.6% 1.8%
STORE_ATTR_SLOT 103820760 0.2% 96.8% 1.7%
PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 93302543 0.1% 97.0% 0.0%
PRECALL_BUILTIN_CLASS 87429887 0.1% 97.1% 0.0%
UNPACK_SEQUENCE_TUPLE 82754225 0.1% 97.2%
COPY_FREE_VARS 75077814 0.1% 97.3%
LIST_APPEND 63324921 0.1% 97.4%
BUILD_LIST 59561492 0.1% 97.5%
BUILD_MAP 58688557 0.1% 97.6%
MAKE_FUNCTION 58511955 0.1% 97.7%
MAKE_CELL 57484509 0.1% 97.8%
LOAD_METHOD_WITH_DICT 56374435 0.1% 97.9% 36.0%
PRECALL_NO_KW_STR_1 55969163 0.1% 98.0%
BINARY_OP_ADD_UNICODE 53757384 0.1% 98.1% 0.1%
KW_NAMES 51700704 0.1% 98.2%
PRECALL_BUILTIN_FAST_WITH_KEYWORDS 50525629 0.1% 98.2% 0.6%
STORE_ATTR_WITH_HINT 47525478 0.1% 98.3% 2.4%
PRECALL_NO_KW_TYPE_1 47281806 0.1% 98.4%
COMPARE_OP_FLOAT_JUMP 46319408 0.1% 98.5% 0.1%
COMPARE_OP_STR_JUMP 45634526 0.1% 98.5% 0.7%
UNPACK_SEQUENCE_LIST 43381158 0.1% 98.6%
LOAD_METHOD_CLASS 43219351 0.1% 98.7% 0.1%
SEND 43218981 0.1% 98.7%
RETURN_GENERATOR 42394980 0.1% 98.8%
CALL_FUNCTION_EX 41838779 0.1% 98.9%
JUMP_NO_INTERRUPT 39060566 0.1% 98.9%
CALL_PY_WITH_DEFAULTS 38758912 0.1% 99.0% 0.0%
JUMP_IF_FALSE_OR_POP 37254996 0.1% 99.0%
PRECALL 34943790 0.1% 99.1%
CALL 34943790 0.1% 99.2%
STORE_SUBSCR_DICT 34380010 0.1% 99.2%
LOAD_CLOSURE 34007979 0.1% 99.3%
PRECALL_NO_KW_METHOD_DESCRIPTOR_O 33156123 0.1% 99.3% 0.0%
DICT_MERGE 32973001 0.1% 99.4%
STORE_ATTR_ADAPTIVE 31122836 0.0% 99.4%
LOAD_GLOBAL 30468426 0.0% 99.5%
STORE_DEREF 28686066 0.0% 99.5%
JUMP_IF_TRUE_OR_POP 24811379 0.0% 99.5%
UNARY_NOT 22480859 0.0% 99.6%
LOAD_METHOD 21729027 0.0% 99.6%
STORE_NAME 18180584 0.0% 99.6%
LOAD_ATTR 14903487 0.0% 99.7%
UNARY_NEGATIVE 14880971 0.0% 99.7%
PRECALL_NO_KW_TUPLE_1 14018664 0.0% 99.7% 0.0%
UNARY_INVERT 13699919 0.0% 99.7%
LOAD_METHOD_MODULE 13663645 0.0% 99.8% 0.6%
MAP_ADD 13426665 0.0% 99.8%
LOAD_GLOBAL_ADAPTIVE 12143255 0.0% 99.8%
IMPORT_FROM 11087342 0.0% 99.8%
LOAD_NAME 10790120 0.0% 99.8%
IMPORT_NAME 9783915 0.0% 99.8%
STORE_GLOBAL 8740612 0.0% 99.9%
RESUME 8700204 0.0% 99.9%
DELETE_SUBSCR 8516065 0.0% 99.9%
PUSH_EXC_INFO 6736770 0.0% 99.9%
POP_EXCEPT 6736770 0.0% 99.9%
JUMP_IF_NOT_EXC_MATCH 6634425 0.0% 99.9%
LIST_EXTEND 6316599 0.0% 99.9%
LIST_TO_TUPLE 5606591 0.0% 99.9%
FORMAT_VALUE 5372351 0.0% 99.9%
STORE_ATTR 3914198 0.0% 100.0%
GET_YIELD_FROM_ITER 3679615 0.0% 100.0%
BUILD_STRING 3237114 0.0% 100.0%
BEFORE_WITH 2956414 0.0% 100.0%
COMPARE_OP 2756267 0.0% 100.0%
BINARY_OP 2637943 0.0% 100.0%
BINARY_SUBSCR 2424974 0.0% 100.0%
JUMP_ABSOLUTE 1865512 0.0% 100.0%
DELETE_ATTR 1832859 0.0% 100.0%
DELETE_FAST 1682546 0.0% 100.0%
BUILD_CONST_KEY_MAP 1150623 0.0% 100.0%
BUILD_SET 1108740 0.0% 100.0%
LOAD_BUILD_CLASS 912716 0.0% 100.0%
RERAISE 768189 0.0% 100.0%
STORE_SUBSCR 760533 0.0% 100.0%
UNPACK_SEQUENCE_ADAPTIVE 748923 0.0% 100.0%
RAISE_VARARGS 556341 0.0% 100.0%
GET_AWAITABLE 478800 0.0% 100.0%
DICT_UPDATE 254832 0.0% 100.0%
DELETE_NAME 155922 0.0% 100.0%
SET_ADD 151146 0.0% 100.0%
IMPORT_STAR 39815 0.0% 100.0%
SET_UPDATE 18365 0.0% 100.0%
WITH_EXCEPT_START 14523 0.0% 100.0%
LOAD_CLASSDEREF 1966 0.0% 100.0%
DELETE_DEREF 1680 0.0% 100.0%
SETUP_ANNOTATIONS 1507 0.0% 100.0%

Pair counts

Pair counts for top 100 pairs
Pair Count Self Cumulative
STORE_FAST STORE_FAST 1254576446 2.0% 2.0%
JUMP_ABSOLUTE_QUICK FOR_ITER 1169433610 1.8% 3.8%
CALL_PY_EXACT_ARGS RESUME_QUICK 1096816784 1.7% 5.5%
PRECALL_PYFUNC CALL_PY_EXACT_ARGS 1040313963 1.6% 7.2%
PUSH_NULL LOAD_GLOBAL_BUILTIN 932219200 1.5% 8.6%
RESUME_QUICK LOAD_FAST 670335410 1.1% 9.7%
STORE_FAST__LOAD_FAST LOAD_FAST 653839267 1.0% 10.7%
LOAD_GLOBAL_BUILTIN LOAD_FAST 634480285 1.0% 11.7%
FOR_ITER STORE_FAST__LOAD_FAST 624700603 1.0% 12.7%
LOAD_FAST LOAD_METHOD_WITH_VALUES 567767557 0.9% 13.6%
POP_JUMP_IF_FALSE LOAD_FAST 550619636 0.9% 14.4%
LOAD_CONST RETURN_VALUE 543588206 0.9% 15.3%
LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE LOAD_FAST 503644051 0.8% 16.1%
LOAD_FAST__LOAD_CONST BINARY_OP_ADD_INT 489235654 0.8% 16.9%
LOAD_FAST__LOAD_FAST LOAD_CONST 447712062 0.7% 17.6%
LOAD_FAST PRECALL_PYFUNC 425209502 0.7% 18.2%
PUSH_NULL LOAD_GLOBAL_MODULE 415475891 0.7% 18.9%
LOAD_CONST BINARY_OP_ADD_INT 414188892 0.7% 19.5%
BINARY_OP_MULTIPLY_FLOAT BINARY_OP_ADD_FLOAT 394994982 0.6% 20.2%
STORE_FAST__LOAD_FAST LOAD_CONST 388612017 0.6% 20.8%
STORE_FAST PUSH_NULL 371156597 0.6% 21.4%
FOR_ITER STORE_FAST 363592293 0.6% 21.9%
UNPACK_SEQUENCE_TWO_TUPLE STORE_FAST__STORE_FAST 358767116 0.6% 22.5%
LOAD_FAST BINARY_OP_ADD_INT 346240309 0.5% 23.0%
COPY COPY 344646837 0.5% 23.6%
SWAP SWAP 344646837 0.5% 24.1%
RETURN_VALUE POP_TOP 338188054 0.5% 24.6%
LOAD_FAST__LOAD_FAST BINARY_OP_MULTIPLY_FLOAT 336775656 0.5% 25.2%
LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE 333378329 0.5% 25.7%
RESUME_QUICK LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE 332469228 0.5% 26.2%
RESUME_QUICK PUSH_NULL 325954633 0.5% 26.7%
POP_TOP JUMP_ABSOLUTE_QUICK 323549816 0.5% 27.2%
LOAD_FAST BINARY_SUBSCR_LIST_INT 312962775 0.5% 27.7%
LOAD_CONST LOAD_CONST 311511490 0.5% 28.2%
LOAD_FAST RETURN_VALUE 298190401 0.5% 28.7%
LOAD_METHOD_WITH_VALUES LOAD_FAST 290336746 0.5% 29.1%
PRECALL_ADAPTIVE CALL_ADAPTIVE 287885110 0.5% 29.6%
LOAD_CONST BINARY_OP_ADAPTIVE 280087547 0.4% 30.0%
EXTENDED_ARG POP_JUMP_IF_FALSE 278504823 0.4% 30.5%
BUILD_SLICE BINARY_SUBSCR_ADAPTIVE 274680059 0.4% 30.9%
BINARY_SUBSCR_LIST_INT STORE_FAST__LOAD_FAST 273705771 0.4% 31.3%
FOR_ITER UNPACK_SEQUENCE_TWO_TUPLE 271813725 0.4% 31.8%
COMPARE_OP_INT_JUMP LOAD_FAST 269851960 0.4% 32.2%
LOAD_FAST LOAD_ATTR_ADAPTIVE 261725216 0.4% 32.6%
POP_JUMP_IF_FALSE PUSH_NULL 250014901 0.4% 33.0%
PUSH_NULL LOAD_FAST__LOAD_CONST 247626081 0.4% 33.4%
LOAD_FAST BINARY_SUBSCR_ADAPTIVE 247594961 0.4% 33.8%
BINARY_SUBSCR_LIST_INT LOAD_CONST 238384651 0.4% 34.1%
LOAD_FAST LOAD_GLOBAL_MODULE 238102141 0.4% 34.5%
LOAD_METHOD_WITH_VALUES PRECALL_PYFUNC 234291709 0.4% 34.9%
LOAD_FAST COMPARE_OP_INT_JUMP 227484025 0.4% 35.2%
LOAD_CONST BUILD_SLICE 226626338 0.4% 35.6%
LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE COMPARE_OP_INT_JUMP 226480335 0.4% 36.0%
PRECALL_NO_KW_BUILTIN_O POP_TOP 225076296 0.4% 36.3%
BINARY_OP_ADD_INT STORE_FAST__LOAD_FAST 224079409 0.4% 36.7%
SWAP STORE_SUBSCR_LIST_INT 222005280 0.3% 37.0%
COPY BINARY_SUBSCR_LIST_INT 222003331 0.3% 37.4%
RETURN_VALUE STORE_FAST__LOAD_FAST 220065040 0.3% 37.7%
PRECALL_NO_KW_ISINSTANCE POP_JUMP_IF_FALSE 216511523 0.3% 38.0%
LOAD_CONST COMPARE_OP_INT_JUMP 213705057 0.3% 38.4%
STORE_FAST__LOAD_FAST POP_JUMP_IF_TRUE 209594496 0.3% 38.7%
LOAD_CONST BINARY_OP_SUBTRACT_INT 209357625 0.3% 39.0%
LOAD_FAST BINARY_OP_MULTIPLY_FLOAT 207993579 0.3% 39.4%
LOAD_CONST BINARY_SUBSCR_LIST_INT 204386197 0.3% 39.7%
LOAD_FAST LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE 201635927 0.3% 40.0%
LOAD_FAST__LOAD_FAST STORE_ATTR_INSTANCE_VALUE 199657408 0.3% 40.3%
LOAD_FAST LOAD_GLOBAL_BUILTIN 198575683 0.3% 40.6%
CONTAINS_OP POP_JUMP_IF_FALSE 198003648 0.3% 40.9%
PUSH_NULL LOAD_FAST__LOAD_FAST 197941874 0.3% 41.3%
BINARY_SUBSCR_ADAPTIVE LOAD_FAST 195250978 0.3% 41.6%
BINARY_OP_ADD_INT BUILD_SLICE 189774741 0.3% 41.9%
LOAD_CONST__LOAD_FAST LOAD_FAST 189097912 0.3% 42.2%
LOAD_FAST LOAD_ATTR_SLOT 188427656 0.3% 42.5%
GET_ITER FOR_ITER 187335887 0.3% 42.7%
COMPARE_OP_INT_JUMP LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE 186695437 0.3% 43.0%
BINARY_SUBSCR_ADAPTIVE LOAD_FAST__LOAD_FAST 186650103 0.3% 43.3%
STORE_FAST__LOAD_FAST LOAD_METHOD_NO_DICT 184023829 0.3% 43.6%
LOAD_FAST__LOAD_FAST LOAD_FAST 181134426 0.3% 43.9%
COMPARE_OP_INT_JUMP LOAD_FAST__LOAD_CONST 180894878 0.3% 44.2%
STORE_FAST JUMP_ABSOLUTE_QUICK 178466559 0.3% 44.5%
RETURN_VALUE LOAD_FAST 176952330 0.3% 44.8%
LOAD_FAST LOAD_METHOD_NO_DICT 173899184 0.3% 45.0%
BINARY_OP_ADAPTIVE STORE_FAST__LOAD_FAST 173889804 0.3% 45.3%
LOAD_FAST__LOAD_FAST PRECALL_PYFUNC 173023665 0.3% 45.6%
RESUME_QUICK LOAD_CONST__LOAD_FAST 172507222 0.3% 45.8%
PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST STORE_FAST__LOAD_FAST 168878612 0.3% 46.1%
POP_TOP LOAD_FAST 168401526 0.3% 46.4%
LOAD_FAST LOAD_ATTR_WITH_HINT 168253987 0.3% 46.6%
POP_JUMP_IF_FALSE LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE 164922149 0.3% 46.9%
BINARY_SUBSCR_LIST_INT LOAD_FAST__LOAD_FAST 164603747 0.3% 47.2%
LOAD_FAST__LOAD_FAST BINARY_SUBSCR_ADAPTIVE 164583401 0.3% 47.4%
POP_JUMP_IF_FALSE LOAD_CONST 163389663 0.3% 47.7%
STORE_SUBSCR_ADAPTIVE LOAD_FAST__LOAD_CONST 163324318 0.3% 47.9%
LOAD_FAST PRECALL_NO_KW_LEN 162928197 0.3% 48.2%
BINARY_OP_ADD_FLOAT SWAP 162454215 0.3% 48.4%
LOAD_GLOBAL_BUILTIN PRECALL_NO_KW_ISINSTANCE 162416516 0.3% 48.7%
BINARY_OP_ADD_INT LOAD_CONST 162294314 0.3% 48.9%
PRECALL_PYFUNC CALL_ADAPTIVE 161179919 0.3% 49.2%
LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE BINARY_OP_MULTIPLY_FLOAT 160999356 0.3% 49.5%
BUILD_SLICE STORE_SUBSCR_ADAPTIVE 159141313 0.3% 49.7%

Specialization stats

specialization stats by family

BINARY_SUBSCR

specialization stats for BINARY_SUBSCR family
Kind Count Ratio
unquickened 2424974 0.1%
specialization.deferred 1098488641 45.5%
specialization.deopt 276851 0.0%
hit 1297694529 53.8%
miss 14756901 0.6%

Specialization attempts

Count Ratio
Success 508359 2.9%
Failure 16923765 97.1%
Failure kind Count Ratio
array int 10149184 60.0%
list slice 3525597 20.8%
buffer int 1631360 9.6%
buffer slice 493612 2.9%
other 471735 2.8%
string int 365357 2.2%
string slice 209938 1.2%
tuple slice 71161 0.4%
sequence int 5777 0.0%
array slice 44 0.0%

STORE_SUBSCR

specialization stats for STORE_SUBSCR family
Kind Count Ratio
unquickened 760533 0.1%
specialization.deferred 523908115 56.7%
hit 399456566 43.2%

Specialization attempts

Count Ratio
Success 177955 2.1%
Failure 8199909 97.9%
Failure kind Count Ratio
array int 4081958 49.8%
list slice 2486943 30.3%
bytearray int 996227 12.1%
dict subclass no override 323168 3.9%
py simple 185399 2.3%
out of range 114916 1.4%
other 11129 0.1%
array slice 147 0.0%
py other 22 0.0%

UNPACK_SEQUENCE

specialization stats for UNPACK_SEQUENCE family
Kind Count Ratio
unquickened 140307500 21.4%
specialization.deferred 618573 0.1%
hit 515180419 78.5%

Specialization attempts

Count Ratio
Success 126868 97.3%
Failure 3482 2.7%
Failure kind Count Ratio
sequence 2946 84.6%
iterator 536 15.4%

FOR_ITER

specialization stats for FOR_ITER family
Kind Count Ratio
unquickened 1477056642 100.0%

Specialization attempts

Count Ratio
Success 0 0.0%
Failure 1477056642 100.0%
Failure kind Count Ratio
list 548674757 37.1%
range 514645278 34.8%
other 97516583 6.6%
enumerate 90049919 6.1%
set 67047094 4.5%
dict items 61144525 4.1%
tuple 58568541 4.0%
generator 29495428 2.0%
itertools 7140452 0.5%
dict keys 1029213 0.1%
string 872585 0.1%
bytes 647170 0.0%
dict values 225097 0.0%

STORE_ATTR

specialization stats for STORE_ATTR family
Kind Count Ratio
unquickened 3914198 0.6%
specialization.deferred 30194688 4.7%
specialization.deopt 124332 0.0%
hit 602151780 93.6%
miss 7105796 1.1%

Specialization attempts

Count Ratio
Success 477463 51.4%
Failure 450685 48.6%
Failure kind Count Ratio
overriding descriptor 132745 29.5%
overridden 127064 28.2%
out of range 97845 21.7%
not managed dict 36131 8.0%
method 27240 6.0%
mutable class 18669 4.1%
non object slot 9866 2.2%
property 1125 0.2%

LOAD_ATTR

specialization stats for LOAD_ATTR family
Kind Count Ratio
unquickened 14903487 0.4%
specialization.deferred 572857380 15.4%
specialization.deopt 1242226 0.0%
hit 3066207118 82.4%
miss 67716654 1.8%

Specialization attempts

Count Ratio
Success 2193715 21.4%
Failure 8075643 78.6%
Failure kind Count Ratio
overridden 2743100 34.0%
out of range 1473575 18.2%
overriding descriptor 1398076 17.3%
not managed dict 988209 12.2%
property 616956 7.6%
method 539519 6.7%
non object slot 185329 2.3%
mutable class 125167 1.5%
module attr not found 5712 0.1%

COMPARE_OP

specialization stats for COMPARE_OP family
Kind Count Ratio
unquickened 2756267 0.2%
specialization.deferred 362107232 22.9%
specialization.deopt 13675 0.0%
hit 1215170488 76.9%
miss 784064 0.0%

Specialization attempts

Count Ratio
Success 164853 2.8%
Failure 5735055 97.2%
Failure kind Count Ratio
not followed by cond jump 3781896 65.9%
float long 669073 11.7%
set 578991 10.1%
different types 202833 3.5%
bool 115534 2.0%
other 113755 2.0%
tuple 100851 1.8%
big int 74817 1.3%
bytes 39771 0.7%
baseobject 32479 0.6%
list 21204 0.4%
long float 3766 0.1%
string 85 0.0%

LOAD_GLOBAL

specialization stats for LOAD_GLOBAL family
Kind Count Ratio
unquickened 30468426 1.3%
specialization.deferred 10205038 0.4%
specialization.deopt 69603 0.0%
hit 2333447704 98.0%
miss 6483633 0.3%

Specialization attempts

Count Ratio
Success 1938217 100.0%
Failure 0 0.0%
Failure kind Count Ratio

BINARY_OP

specialization stats for BINARY_OP family
Kind Count Ratio
unquickened 2637943 0.1%
specialization.deferred 950777551 19.6%
specialization.deopt 590653 0.0%
hit 3861505770 79.7%
miss 31381439 0.6%

Specialization attempts

Count Ratio
Success 779301 5.2%
Failure 14327618 94.8%
Failure kind Count Ratio
and int 1940019 13.5%
lshift 1640286 11.4%
rshift 1448773 10.1%
true divide different types 1273330 8.9%
add other 1120554 7.8%
remainder 1055857 7.4%
floor divide 939431 6.6%
xor 890423 6.2%
true divide float 855341 6.0%
subtract different types 731836 5.1%
multiply different types 726425 5.1%
subtract other 651491 4.5%
power 331783 2.3%
or 278427 1.9%
add different types 188746 1.3%
multiply other 165104 1.2%
and other 72373 0.5%
true divide other 11904 0.1%
and different types 5515 0.0%

LOAD_METHOD

specialization stats for LOAD_METHOD family
Kind Count Ratio
unquickened 21729027 1.4%
specialization.deferred 193126811 12.3%
specialization.deopt 821279 0.1%
hit 1309044735 83.5%
miss 43905950 2.8%

Specialization attempts

Count Ratio
Success 1603926 41.3%
Failure 2280577 58.7%
Failure kind Count Ratio
no dict 897565 39.4%
instance attribute 589423 25.8%
overridden 253383 11.1%
metaclass attribute 210112 9.2%
class method obj 206887 9.1%
non overriding descriptor 41960 1.8%
builtin class method 19709 0.9%
is attr 19189 0.8%
mutable class 13566 0.6%
not descriptor 9022 0.4%
other 8450 0.4%
property 7182 0.3%
out of range 1864 0.1%
overriding descriptor 1635 0.1%
object slot 567 0.0%
non object slot 63 0.0%

PRECALL

specialization stats for PRECALL family
Kind Count Ratio
unquickened 34943790 1.0%
specialization.deferred 287968982 8.2%
specialization.deopt 53537 0.0%
hit 3167038415 90.7%
miss 3157777 0.1%

Specialization attempts

Count Ratio
Success 0 0.0%
Failure 326070549 100.0%
Failure kind Count Ratio
python class 77360964 23.7%
pycfunction 74297687 22.8%
class 66701467 20.5%
method descriptor 61024797 18.7%
pyfunction 21147992 6.5%
other 13475840 4.1%
cmethod 9461694 2.9%
bound method 2362525 0.7%
method wrapper 1868288 0.6%
pycfunction with keywords 848367 0.3%
class no vectorcall 704891 0.2%
pycfunction noargs 365061 0.1%
class mutable 326942 0.1%
bad call flags 181137 0.1%
operator wrapper 142729 0.0%
pycfunction fast with keywords 122950 0.0%
str 79833 0.0%
kwnames 13476 0.0%

CALL

specialization stats for CALL family
Kind Count Ratio
unquickened 34943790 2.1%
specialization.deferred 451683986 26.9%
specialization.deopt 811439 0.0%
hit 1147277925 68.4%
miss 43941155 2.6%

Specialization attempts

Count Ratio
Success 3524393 23.3%
Failure 11571718 76.7%
Failure kind Count Ratio
python class 1224993 10.6%
complex parameters 1212216 10.5%
pycfunction 1163117 10.1%
class 1112015 9.6%
method descriptor 994453 8.6%
kwnames 607797 5.3%
other 437152 3.8%
cmethod 295980 2.6%
method wrapper 65150 0.6%
bound method 33218 0.3%
operator wrapper 9536 0.1%

Specialization effectiveness

specialization effectiveness
Instructions Count Ratio
Basic 36887698743 58.0%
Not specialized 6547080445 10.3%
Specialized 20204806487 31.7%

Call stats

Inlined calls and frame stats
Count Ratio
Calls to PyEval_EvalDefault 612359501 28.7%
Calls to Python functions inlined 1518292115 71.3%
Frames pushed 1882612595 88.4%
Frame objects created 21613836 1.0%

Object stats

allocations, frees and dict materializatons
Count Ratio
Allocations 3905865069
Frees 3846321593
New values 70012730
Materialize dict (on request) 3021414 4.3%
Materialize dict (new key) 1972788 2.8%
Materialize dict (too big) 0 0.0%

Stats gathered on: 2022-03-03

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment