[Python-Dev] Profile Guided Optimization active by-default

Patrascu, Alecsandru alecsandru.patrascu at intel.com
Sat Aug 22 19:53:46 CEST 2015

Yes, the results are measured from running the benchmarks from the repo [1].

Furthermore, this optimization is generic and can handle any kind of changes in hardware or the CPython 2/3 source code. We are not adding to or modifying regrtest and our rule will be applied on the latest tests existing in the CPython repo. Since they are up to date and being easy to be executed, this proposal makes sure that users will always take benefit from them.

[1] https://hg.python.org/benchmarks/


From: Eric Snow [mailto:ericsnowcurrently at gmail.com] 
Sent: Saturday, August 22, 2015 8:26 PM
To: Patrascu, Alecsandru
Cc: Python-Dev
Subject: Re: [Python-Dev] Profile Guided Optimization active by-default

On Aug 22, 2015 9:02 AM, "Patrascu, Alecsandru" <alecsandru.patrascu at intel.com> wrote:
> For instance, as shown from attached sample performance results from the Grand Unified Python Benchmark, >20% speed up was observed.
Are you referring to the tests in the benchmarks repo? [1]
How does the real-world performance improvement compare with other languages you are targeting for optimization?
And thanks for working on this!  I have several more questions:
What sorts of future changes in CPython's code might interfere with your optimizations?
What future additions might stand to benefit?
What changes in existing code might improve optimization opportunities?
What is the added maintenance burden of the optimizations on CPython, if any?
What is the performance impact on non-Intel architectures?  What about older Intel architectures?  ...and future ones?
What is Intel's commitment to supporting these (or other) optimizations in the future?  How is the practical EOL of the optimizations managed?
Finally, +1 on adding an opt-in Makefile target rather than enabling the optimizations by default.
Thanks again!
[1] https://hg.python.org/benchmarks/

More information about the Python-Dev mailing list