1@echo off
2rem A batch program to build PGO (Profile guided optimization) by first
3rem building instrumented binaries, then running the testsuite, and
4rem finally building the optimized code.
5rem Note, after the first instrumented run, one can just keep on
6rem building the PGUpdate configuration while developing.
7
8setlocal
9set platf=Win32
10
11rem use the performance testsuite.  This is quick and simple
12set job1=..\..\tools\pybench\pybench.py -n 1 -C 1 --with-gc
13set path1=..\..\tools\pybench
14
15rem or the whole testsuite for more thorough testing
16set job2=..\..\lib\test\regrtest.py
17set path2=..\..\lib
18
19set job=%job1%
20set clrpath=%path1%
21
22:CheckOpts
23if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts
24if "%1"=="-2" (set job=%job2%) & (set clrpath=%path2%) & shift & goto CheckOpts
25
26set PGI=%platf%-pgi
27set PGO=%platf%-pgo
28
29@echo on
30rem build the instrumented version
31call build -p %platf% -c PGInstrument
32
33rem remove .pyc files, .pgc files and execute the job
34%PGI%\python.exe rmpyc.py %clrpath%
35del %PGI%\*.pgc
36%PGI%\python.exe %job%
37
38rem finally build the optimized version
39if exist %PGO% del /s /q %PGO%
40call build -p %platf% -c PGUpdate
41
42