[Python-Dev] explanations for more pybench slowdowns (original) (raw)
Tim Peters tim.one@home.com
Sun, 20 May 2001 09:09:50 -0400
- Previous message: [Python-Dev] explanations for more pybench slowdowns
- Next message: [Python-Dev] explanations for more pybench slowdowns
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Jeremy Hylton]
... The scary thing about BuiltinFunctinoCalls is that the profiler shows it spending almost 30% of its time in PyArgParseTuple(). 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 :
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
- Previous message: [Python-Dev] explanations for more pybench slowdowns
- Next message: [Python-Dev] explanations for more pybench slowdowns
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]