Bug 613046

Summary: RFE: Add profile guided optimization to our builds of Python 3
Product: [Fedora] Fedora Reporter: Dave Malcolm <dmalcolm>
Component: python3Assignee: Charalampos Stratakis <cstratak>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: amcnabb, dmalcolm, ivazqueznet, james.antill, jonathansteffan, samuel-rhbugs, tomspur
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: python3-3.6.1-6.fc26 python3-3.5.3-6.fc25 python3-3.5.3-6.fc24 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 613045 Environment:
Last Closed: 2017-05-14 20:18:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 613045    
Bug Blocks:    

Description Dave Malcolm 2010-07-09 15:30:59 UTC
+++ This bug was initially created as a clone of Bug #613045 +++

gcc 4.5 apparently adds "profile guided optimization", which, as I understand it uses information from previous runs of the DSOs to determine the relative frequency with which each branch is taken.

Python has a good benchmarking suite, which simulates real-world workloads.
See http://hg.python.org/benchmarks/
From the README.txt: "This project is intended to be an authoritative source of benchmarks for all 5 Python implementations. The focus is on real-world benchmarks, rather than 6 synthetic benchmarks, using whole applications when possible."

It may be worth integrating this into the build somehow.  It's not clear to me whether we can cache the data, or if we need to actually run the benchmarking suite during the build, then rebuild.

We should also use the benchmarking suite to measure performance, and see what impact pgo actually has.

Comment 1 Dave Malcolm 2010-07-09 15:33:23 UTC
See http://hg.python.org/benchmarks/file/tip/make_perf3.sh for a script that ports the suite to python 3.

Comment 2 Fedora Admin XMLRPC Client 2013-05-10 04:58:30 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 3 Fedora Admin XMLRPC Client 2015-05-12 12:01:39 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 4 Fedora Admin XMLRPC Client 2016-01-29 13:07:02 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 5 Charalampos Stratakis 2016-09-09 12:13:58 UTC
A lot of thing are being refined currently upstream for that. With python 3.6, 3.5.3 and 2.7.13 a new configure flag will be added (--with-optimizations) which will enable the PGO along with other optimizations as well.

Comment 6 Fedora Update System 2017-05-09 18:48:19 UTC
python3-3.6.1-6.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-1e3062e0d6

Comment 7 Fedora Update System 2017-05-10 16:59:19 UTC
python3-3.5.3-6.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-0d1532b6af

Comment 8 Fedora Update System 2017-05-11 11:56:55 UTC
python3-3.5.3-6.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-830e540c85

Comment 9 Fedora Update System 2017-05-12 02:12:04 UTC
python3-3.6.1-6.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-1e3062e0d6

Comment 10 Fedora Update System 2017-05-12 13:35:56 UTC
python3-3.5.3-6.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-0d1532b6af

Comment 11 Fedora Update System 2017-05-12 22:35:01 UTC
python3-3.5.3-6.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-830e540c85

Comment 12 Fedora Update System 2017-05-14 20:18:36 UTC
python3-3.6.1-6.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2017-05-15 04:36:17 UTC
python3-3.5.3-6.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2017-05-18 20:59:56 UTC
python3-3.5.3-6.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.