[Jeremy Hylton] > ... > The scary thing about BuiltinFunctinoCalls is that the profiler shows > it spending almost 30% of its time in PyArg_ParseTuple(). It > certainly is a shame that we have this complicated, slow run-time > parsing mechanism to deal with a static property of the code, namely > how many arguments it takes and whether their types are. Special-casing the snot out of "O" looks like a winner <wink>: count format %total cumulative% ------- -------- ------ ----------- 1440897 'O' 47.45 47.45 327694 'O!' 10.79 58.24 285570 'O|i' 9.40 67.65 262168 'O!|O' 8.63 76.28 227405 'l' 7.49 83.77 146537 's#' 4.83 88.60 76779 'OO|O' 2.53 91.12 65682 '|ss' 2.16 93.29 48033 'OO' 1.58 94.87 39879 'O|O&O&' 1.31 96.18 Those are the top 10 formats passed to PyArg_ParseTuple() during the test suite, after stripping ";" and ":" decorations. fast-paths-on-the-overtired-brain-ly y'rs - tim
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4