@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 folder=%platf%PGO | |
@echo on | |
rem build the instrumented version | |
call build -r -p %platf% -c PGInstrument | |
rem remove .pyc files, .pgc files and execute the job | |
%folder%\python.exe rmpyc.py %clrpath% | |
del %folder%\*.pgc | |
%folder%\python.exe %job% | |
rem finally build the optimized version | |
call build -r -p %platf% -c PGUpdate |