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 methane
Recipients Marco Sulla, Mark.Shannon, methane, serhiy.storchaka
Date 2020-10-31.13:01:10
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1604149270.74.0.642152242488.issue41835@roundup.psfhosted.org>
In-reply-to
Content
> Both changes add significant amount of code (100 and 85 lines correspondingly). Even if they speed up a particular case of dict constructor it is not common use case.

You are right, but please wait.

Marco is new contributor and he can write correct C code for now.
So I am searching some parts which can be optimized by his code before rejecting it.

* bpo-42126, GH-22911: I can make dict display (aka. dict literal) 50% faster. But it introduce additional complexity to compiler and ceval. So I will reject it unless I find real world code using dict display in performance critical part.

* _PyStack_AsDict (https://github.com/methane/cpython/pull/25): I thought this is performance critical function. But I could not see significant performance gain in pyperformance.

* _PyEval_EvalCode (https://github.com/python/cpython/blob/master/Python/ceval.c#L4465): I am still not sure we can assume there are no duplicated keyword argument here. If we can assume it, we can optimize calling function receiving **kwds argument.

These three parts are all I found. I will reject this issue after I failed to optimize _PyEval_EvalCode.
History
Date User Action Args
2020-10-31 13:01:10methanesetrecipients: + methane, Mark.Shannon, serhiy.storchaka, Marco Sulla
2020-10-31 13:01:10methanesetmessageid: <1604149270.74.0.642152242488.issue41835@roundup.psfhosted.org>
2020-10-31 13:01:10methanelinkissue41835 messages
2020-10-31 13:01:10methanecreate