
This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.
Created on2016-02-08 13:28 bytzot, last changed2022-04-11 14:58 byadmin. This issue is nowclosed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| pgofix-cpython2.patch | alecsandru.patrascu,2016-02-22 06:32 | review | ||
| pgofix-cpython3.patch | alecsandru.patrascu,2016-02-22 06:32 | review | ||
| Messages (8) | |||
|---|---|---|---|
| msg259842 -(view) | Author: Χρήστος Γεωργίου (Christos Georgiou) (tzot)* | Date: 2016-02-08 13:28 | |
(related to issue#24915)I discovered that `make profile-opt` does not use the profile information for the builtin-modules (e.g. arraymodule or _pickle) because in the `profile-opt` target there is the following sequence of actions: … $(MAKE) build_all_merge_profile @echo "Rebuilding with profile guided optimizations:" $(MAKE) clean $(MAKE) build_all_use_profile …The action `$(MAKE) clean` performs an `rm -rf build`, destroying among other things all the *.gcda files generated for the built-in modules.On my Linux system with gcc, a kludge to `Makefile.pre.in` that works is: … @echo "Rebuilding with profile guided optimizations:" find build -name \*.gcda -print | cpio -o >_modules.gcda.cpio # XXX $(MAKE) clean cpio -id <_modules.gcda.cpio # XXX $(MAKE) build_all_use_profile …but, like I said, it's a kludge and it's POSIX-only (-print0 can be avoided since I believe it's guaranteed that there will be no whitespace-containing-filenames).Now, if this road is to be taken, I believe the most cross-platform method available to save the profile-generated files is to use a custom python script (at this point, the local profile-generating python executable is functional) and make a tar file, which will be untared back. However, I don't like it much.I'm willing to provide any necessary patches if someone gives me a "proper" roadmap as to how to handle this issue. | |||
| msg259884 -(view) | Author: Alecsandru Patrascu (alecsandru.patrascu)* | Date: 2016-02-08 20:35 | |
Thank you for noticing and signaling this issue. Since I proposed the PGO patches, I will fix it in another patch, as I don't want it to break any builds. | |||
| msg260270 -(view) | Author: Alecsandru Patrascu (alecsandru.patrascu)* | Date: 2016-02-14 10:21 | |
I've added a fix for the PGO builds after the issue pointed out by you. Can you please test it also? | |||
| msg260659 -(view) | Author: Alecsandru Patrascu (alecsandru.patrascu)* | Date: 2016-02-22 06:32 | |
I've added the patch here also. | |||
| msg274039 -(view) | Author: Charalampos Stratakis (cstratak)* | Date: 2016-08-31 16:42 | |
Pinging here. Christos could you test the patch? | |||
| msg274676 -(view) | Author: Roundup Robot (python-dev)![]() | Date: 2016-09-06 23:58 | |
New changeset7d9cd4a0d488 by Gregory P. Smith in branch '3.5':Fixesissue26307: The profile-opt build now applys PGO to the built-inhttps://hg.python.org/cpython/rev/7d9cd4a0d488New changesetbdc7292cf87e by Gregory P. Smith in branch 'default':Fixesissue26307: The profile-opt build now applys PGO to the built-in modules.https://hg.python.org/cpython/rev/bdc7292cf87e | |||
| msg274694 -(view) | Author: Roundup Robot (python-dev)![]() | Date: 2016-09-07 01:06 | |
New changeset75dae0b2ccb3 by Gregory P. Smith in branch '2.7':Fixesissue26307: The profile-opt build now applys PGO to the built-in modules.https://hg.python.org/cpython/rev/75dae0b2ccb3 | |||
| msg274966 -(view) | Author: Gregory P. Smith (gregory.p.smith)*![]() | Date: 2016-09-08 05:33 | |
My change means that the build/ directory tree exists but won't have any files other than *.gc?? files in it after a make clean. I doubt this will bother anyone. That felt better for clean than just avoiding the removal of build/ entirely. | |||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:58:27 | admin | set | github: 70495 |
| 2016-09-08 05:33:30 | gregory.p.smith | set | status: open -> closed resolution: fixed messages: +msg274966 stage: needs patch -> commit review |
| 2016-09-07 01:06:21 | python-dev | set | messages: +msg274694 |
| 2016-09-06 23:58:45 | python-dev | set | nosy: +python-dev messages: +msg274676 |
| 2016-09-06 22:41:59 | gregory.p.smith | set | assignee:gregory.p.smith nosy: +gregory.p.smith |
| 2016-08-31 16:42:06 | cstratak | set | nosy: +cstratak messages: +msg274039 |
| 2016-02-22 06:32:54 | alecsandru.patrascu | set | files: +pgofix-cpython3.patch |
| 2016-02-22 06:32:47 | alecsandru.patrascu | set | files: +pgofix-cpython2.patch keywords: +patch messages: +msg260659 |
| 2016-02-20 20:27:59 | brett.cannon | set | stage: needs patch |
| 2016-02-14 10:21:13 | alecsandru.patrascu | set | messages: +msg260270 |
| 2016-02-08 20:35:47 | alecsandru.patrascu | set | messages: +msg259884 |
| 2016-02-08 20:30:24 | alecsandru.patrascu | set | nosy: +alecsandru.patrascu |
| 2016-02-08 13:28:26 | tzot | create | |