Message45281
This patch rejigs the optimizations for certain kinds
of function call -- easy Python functions, METH_O
functions and so on.
It also extends the "easy Python function" optimization
to handle default arguments.
It adds a tp_pythoncall field to type objects, with the
signature of the ceval.c local static function do_call
(which is now exported and called PyEval_DoCall). This
field is filled out in the function and method
constructors appropriately.
What do you think? Makes little performance difference
(0.5% improvement in pystone on one machine), but I
think I prefer this arrangement. It generalizes
better, for one thing.
The patch is a little untidy at present -- some code
duplication and it utterly mangles the function call
statistics code -- but these should be shallow. |
|
Date |
User |
Action |
Args |
2007-08-23 15:32:00 | admin | link | issue876193 messages |
2007-08-23 15:32:00 | admin | create | |
|