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