blob: 0c0a473b2c45ad7e873d96f6409942964eeba114 [file] [log] [blame]
Christian Heimesbfd49852007-11-20 09:34:16 +00001@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
Christian Heimesc139a9b2007-11-22 10:25:50 +000026set PGI=%platf%-pgi
27set PGO=%platf%-pgo
Christian Heimesbfd49852007-11-20 09:34:16 +000028
29@echo on
30rem build the instrumented version
Christian Heimesc139a9b2007-11-22 10:25:50 +000031call build -p %platf% -c PGInstrument
Christian Heimesbfd49852007-11-20 09:34:16 +000032
33rem remove .pyc files, .pgc files and execute the job
Christian Heimesc139a9b2007-11-22 10:25:50 +000034%PGI%\python.exe rmpyc.py %clrpath%
35del %PGI%\*.pgc
36%PGI%\python.exe %job%
Christian Heimesbfd49852007-11-20 09:34:16 +000037
38rem finally build the optimized version
Christian Heimesc139a9b2007-11-22 10:25:50 +000039if exist %PGO% del /s /q %PGO%
40call build -p %platf% -c PGUpdate
Christian Heimesbfd49852007-11-20 09:34:16 +000041