[Python-Dev] New calling convention to avoid temporarily tuples when calling functions
Guido van Rossum
guido at python.org
Mon Aug 8 18:40:23 EDT 2016
On Mon, Aug 8, 2016 at 3:25 PM, Victor Stinner <victor.stinner at gmail.com>
wrote:
> tl;dr I found a way to make CPython 3.6 faster and I validated that
> there is no performance regression.
But is there a performance improvement?
> I'm requesting approval of core
> developers to start pushing changes.
>
> In 2014 during a lunch at Pycon, Larry Hasting told me that he would
> like to get rid of temporary tuples to call functions in Python. In
> Python, positional arguments are passed as a tuple to C functions:
> "PyObject *args". Larry wrote Argument Clinic which gives more control
> on how C functions are called. But I guess that Larry didn't have time
> to finish his implementation, since he didn't publish a patch.
>
Hm, I agree that those tuples are probably expensive. I recall that
IronPython boasted faster Python calls by doing something closer to the
platform (in their case I'm guessing C# or the CLR :-).
Is this perhaps something that could wait until the Core devs sprint in a
few weeks? (I presume you're coming?!)
--
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20160808/ff25fd34/attachment.html>
More information about the Python-Dev
mailing list