forked from python/cpython
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Issue python#25348: Add --pgo and --pgo-job flags to PCbuild\build.bat
- Loading branch information
Showing
3 changed files
with
61 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,6 @@ | ||
@echo off | ||
rem A batch program to build PGO (Profile guided optimization) by first | ||
rem building instrumented binaries, then running the testsuite, and | ||
rem finally building the optimized code. | ||
rem Note, after the first instrumented run, one can just keep on | ||
rem building the PGUpdate configuration while developing. | ||
echo.DeprecationWarning: | ||
echo. This script is deprecated, use `build.bat --pgo` instead. | ||
echo. | ||
|
||
setlocal | ||
set platf=Win32 | ||
set parallel=/m | ||
set dir=%~dp0 | ||
|
||
rem use the performance testsuite. This is quick and simple | ||
set job1="%dir%..\tools\pybench\pybench.py" -n 1 -C 1 --with-gc | ||
set path1="%dir%..\tools\pybench" | ||
|
||
rem or the whole testsuite for more thorough testing | ||
set job2="%dir%..\lib\test\regrtest.py" | ||
set path2="%dir%..\lib" | ||
|
||
set job=%job1% | ||
set clrpath=%path1% | ||
|
||
:CheckOpts | ||
if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts | ||
if "%1"=="-2" (set job=%job2%) & (set clrpath=%path2%) & shift & goto CheckOpts | ||
if "%1"=="-M" (set parallel=) & shift & goto CheckOpts | ||
|
||
|
||
rem We cannot cross compile PGO builds, as the optimization needs to be run natively | ||
set vs_platf=x86 | ||
set PGO=%dir%win32-pgo | ||
|
||
if "%platf%"=="x64" (set vs_platf=amd64) & (set PGO=%dir%amd64-pgo) | ||
rem Setup the environment | ||
call "%dir%env.bat" %vs_platf% | ||
|
||
|
||
rem build the instrumented version | ||
msbuild "%dir%pcbuild.proj" %parallel% /t:Build /p:Configuration=PGInstrument /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9 | ||
|
||
rem remove .pyc files, .pgc files and execute the job | ||
"%PGO%\python.exe" "%dir%rmpyc.py" %clrpath% | ||
del "%PGO%\*.pgc" | ||
"%PGO%\python.exe" %job% | ||
|
||
rem build optimized version | ||
msbuild "%dir%pcbuild.proj" %parallel% /t:Build /p:Configuration=PGUpdate /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9 | ||
call "%~dp0build.bat" --pgo %* |