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 steve.dower
Recipients Mark.Shannon, carljm, corona10, dino.viehland, eelizondo, gregory.p.smith, nascheme, pablogsal, pitrou, shihai1991, steve.dower, tim.peters, vstinner
Date 2020-04-20.13:40:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1587390036.26.0.141955258043.issue40255@roundup.psfhosted.org>
In-reply-to
Content
> But micro-benchmarks may tell you things which are not true in the real-world (for example an easily-predicted branch)

This is true, though this branch should be more easily predictable because INCREF/DECREF are inlined. If there were only one function doing the branch it'd be different.

Wouldn't even surprise me if PGO made different optimisations to this in certain functions. Anything that normally operates on a code object, for example, is almost always going to take the branch when everything is imported early and before immortalisation.

We also have the real world app that is Instagram. If they say that this has shown an improvement in their app, I'm inclined to believe that it's not reliant on a microbenchmark (other controlled circumstances, sure, but not a microbenchmark ;) ).
History
Date User Action Args
2020-04-20 13:40:36steve.dowersetrecipients: + steve.dower, tim.peters, nascheme, gregory.p.smith, pitrou, vstinner, carljm, dino.viehland, Mark.Shannon, corona10, pablogsal, eelizondo, shihai1991
2020-04-20 13:40:36steve.dowersetmessageid: <1587390036.26.0.141955258043.issue40255@roundup.psfhosted.org>
2020-04-20 13:40:36steve.dowerlinkissue40255 messages
2020-04-20 13:40:36steve.dowercreate