| @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. | |
| setlocal | |
| set platf=Win32 | |
| rem use the performance testsuite. This is quick and simple | |
| set job1=..\..\tools\pybench\pybench.py -n 1 -C 1 --with-gc | |
| set path1=..\..\tools\pybench | |
| rem or the whole testsuite for more thorough testing | |
| set job2=..\..\lib\test\regrtest.py | |
| set path2=..\..\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 | |
| set PGI=%platf%-pgi | |
| set PGO=%platf%-pgo | |
| @echo on | |
| rem build the instrumented version | |
| call build -p %platf% -c PGInstrument | |
| rem remove .pyc files, .pgc files and execute the job | |
| %PGI%\python.exe rmpyc.py %clrpath% | |
| del %PGI%\*.pgc | |
| %PGI%\python.exe %job% | |
| rem finally build the optimized version | |
| if exist %PGO% del /s /q %PGO% | |
| call build -p %platf% -c PGUpdate | |