blob: d28a7673002b49aaa6e90cb35410d147b4304b15 [file] [log] [blame]
Guido van Rossum360e4b82007-05-14 22:51:27 +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
Christian Heimes57dddfb2008-01-02 18:30:52 +000012set job1=..\..\tools\pybench\pybench.py -n 1 -C 1 --with-gc
13set path1=..\..\tools\pybench
Guido van Rossum360e4b82007-05-14 22:51:27 +000014
15rem or the whole testsuite for more thorough testing
Christian Heimes57dddfb2008-01-02 18:30:52 +000016set job2=..\..\lib\test\regrtest.py
17set path2=..\..\lib
Guido van Rossum360e4b82007-05-14 22:51:27 +000018
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 Heimes57dddfb2008-01-02 18:30:52 +000026set PGI=%platf%-pgi
27set PGO=%platf%-pgo
Guido van Rossum360e4b82007-05-14 22:51:27 +000028
29@echo on
30rem build the instrumented version
Christian Heimes57dddfb2008-01-02 18:30:52 +000031call build -p %platf% -c PGInstrument
Guido van Rossum360e4b82007-05-14 22:51:27 +000032
33rem remove .pyc files, .pgc files and execute the job
Christian Heimes57dddfb2008-01-02 18:30:52 +000034%PGI%\python.exe rmpyc.py %clrpath%
35del %PGI%\*.pgc
36%PGI%\python.exe %job%
Guido van Rossum360e4b82007-05-14 22:51:27 +000037
38rem finally build the optimized version
Christian Heimes57dddfb2008-01-02 18:30:52 +000039if exist %PGO% del /s /q %PGO%
40call build -p %platf% -c PGUpdate
41