This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients methane, pitrou, rhettinger, serhiy.storchaka, vstinner
Date 2017-09-21.21:09:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAMpsgwYR7MF2yCy_Qd-jsFVJ0mMv09t8mGCs92Rdyfx1cj1axA@mail.gmail.com>
In-reply-to <1506012731.37.0.714609641932.issue31543@psf.upfronthosting.co.za>
Content
The most complex slots are __new__, __init__ and __call__ because they
accept keywords. It's hard to design a calling convention which optimize
all cases because of the backward compatibility. The risk is to convert a
dict to args + kwnames (tuple) and then back to a dict: two expensive and
useless conversions.

It's my 3rd or 4th attempt to optimize new/init/call :-) My previous
attempt was to add new tp_fastXXX slots to types, but again thr backward
compatibilty was a major pain.
https://bugs.python.org/issue29358

Here the scope is much small and backward compatibilty shouldn't affect us.

I will try to find a way to optimize these slots as well and complete my
patch.
History
Date User Action Args
2017-09-21 21:09:36vstinnersetrecipients: + vstinner, rhettinger, pitrou, methane, serhiy.storchaka
2017-09-21 21:09:36vstinnerlinkissue31543 messages
2017-09-21 21:09:36vstinnercreate