[Python-Dev] New calling convention to avoid temporarily tuples when calling functions (original) (raw)
Guido van Rossum guido at python.org
Mon Aug 8 18:40:23 EDT 2016
- Previous message (by thread): [Python-Dev] New calling convention to avoid temporarily tuples when calling functions
- Next message (by thread): [Python-Dev] New calling convention to avoid temporarily tuples when calling functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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>
- Previous message (by thread): [Python-Dev] New calling convention to avoid temporarily tuples when calling functions
- Next message (by thread): [Python-Dev] New calling convention to avoid temporarily tuples when calling functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]