cpython-withatomic / PCbuild / build_pgo.bat

@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 PGI=%platf%-pgi
set PGO=%platf%-pgo

@echo on
rem build the instrumented version
call build -p %platf% -c PGInstrument

rem remove .pyc files, .pgc files and execute the job
%PGI%\python.exe rmpyc.py %clrpath%
del %PGI%\*.pgc
%PGI%\python.exe %job%

rem finally build the optimized version
if exist %PGO% del /s /q %PGO%
call build -p %platf% -c PGUpdate
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.