You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Windows: build with "build_pgo.bat -2" fails to optimize python.dll #61867
Version: 2.7.4 (and any prior 2.7-version. not tested with 3.x)
Compiler: VS 2008 Professional
If I compile Python using the batch
PCbuild\build_pgo.bat -2
Visual Studio fails to correctly collect profile information for the project "python27.dll". As a result, no real optimisation takes place.
The command "build_pgo.bat -2" runs the full test suite (..\lib\test\regrtest.py) to collect profile data. Experiments show, that several test cases (i.e. test_os and test_subprocess) break the collection of profile data. Probably the failure is related to the creation of sub-processes. I consider it a Visual Studio bug.
To work around this issue I created a list of good test cases and patched build_pgo.bat to run only the tests from this list.
I think I'd rather see a blacklist than a whitelist; it should be much shorter and can be passed to regrtest with the "-x" option within build_pgo.bat.
Since we officially discourage PGO with VS 2008 and 2010 (due to compiler bugs) anyway, marking this as low priority.
akruis commented on Oct 13, 2014
akruismannequin
MannequinAuthor
More actions
It's indeed a very low priority issue.
You mention VS2008 and VS2010 PGO compiler bugs. I'm aware of the VS 2010 bugs, but I didn't observe any VS 2008 PGO bug with Python 2.7. Are you aware of any publicly available bug reports?
About the black/white list. I started with a black list, but then I switched to a white list for the following reason: the goal of running the test suite is to generate a reasonable profile. It is not a goal to test anything. Therefore both white list and black listing is possible.
I consider it more likely that a newly added test breaks the PGO build than that an existing test will be modified in a breaking way. Therefore I consider the while list superior for this particular application.
Activity
akruis commentedon Apr 8, 2013
Version: 2.7.4 (and any prior 2.7-version. not tested with 3.x)
Compiler: VS 2008 Professional
If I compile Python using the batch
Visual Studio fails to correctly collect profile information for the project "python27.dll". As a result, no real optimisation takes place.
The command "build_pgo.bat -2" runs the full test suite (..\lib\test\regrtest.py) to collect profile data. Experiments show, that several test cases (i.e. test_os and test_subprocess) break the collection of profile data. Probably the failure is related to the creation of sub-processes. I consider it a Visual Studio bug.
To work around this issue I created a list of good test cases and patched build_pgo.bat to run only the tests from this list.
BreamoreBoy commentedon Jul 19, 2014
See also bpo-21907.
zware commentedon Oct 11, 2014
I think I'd rather see a blacklist than a whitelist; it should be much shorter and can be passed to regrtest with the "-x" option within build_pgo.bat.
Since we officially discourage PGO with VS 2008 and 2010 (due to compiler bugs) anyway, marking this as low priority.
akruis commentedon Oct 13, 2014
It's indeed a very low priority issue.
You mention VS2008 and VS2010 PGO compiler bugs. I'm aware of the VS 2010 bugs, but I didn't observe any VS 2008 PGO bug with Python 2.7. Are you aware of any publicly available bug reports?
About the black/white list. I started with a black list, but then I switched to a white list for the following reason: the goal of running the test suite is to generate a reasonable profile. It is not a goal to test anything. Therefore both white list and black listing is possible.
I consider it more likely that a newly added test breaks the PGO build than that an existing test will be modified in a breaking way. Therefore I consider the while list superior for this particular application.
But as you already stated, it is low prio.