mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	Issue #21907: Further improvments to build_pgo.bat. Patch by Ingolf Becker.
This commit is contained in:
		
							parent
							
								
									0b87831de9
								
							
						
					
					
						commit
						cb09dcacab
					
				
					 3 changed files with 23 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -98,6 +98,7 @@ Mike Bayer
 | 
			
		|||
Samuel L. Bayer
 | 
			
		||||
Donald Beaudry
 | 
			
		||||
David Beazley
 | 
			
		||||
Ingolf Becker
 | 
			
		||||
Neal Becker
 | 
			
		||||
Robin Becker
 | 
			
		||||
Torsten Becker
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,14 +7,15 @@ rem building the PGUpdate configuration while developing.
 | 
			
		|||
 | 
			
		||||
setlocal
 | 
			
		||||
set platf=Win32
 | 
			
		||||
set dir=%~dp0
 | 
			
		||||
 | 
			
		||||
rem use the performance testsuite.  This is quick and simple
 | 
			
		||||
set job1=%~dp0..\tools\pybench\pybench.py -n 1 -C 1 --with-gc
 | 
			
		||||
set path1=%~dp0..\tools\pybench
 | 
			
		||||
set job1="%dir%..\tools\pybench\pybench.py" -n 1 -C 1 --with-gc
 | 
			
		||||
set path1="%dir%..\tools\pybench"
 | 
			
		||||
 | 
			
		||||
rem or the whole testsuite for more thorough testing
 | 
			
		||||
set job2=%~dp0..\lib\test\regrtest.py
 | 
			
		||||
set path2=%~dp0..\lib
 | 
			
		||||
set job2="%dir%..\lib\test\regrtest.py"
 | 
			
		||||
set path2="%dir%..\lib"
 | 
			
		||||
 | 
			
		||||
set job=%job1%
 | 
			
		||||
set clrpath=%path1%
 | 
			
		||||
| 
						 | 
				
			
			@ -23,19 +24,25 @@ set clrpath=%path1%
 | 
			
		|||
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
 | 
			
		||||
set PGI=%dir%%platf%-pgi
 | 
			
		||||
set PGO=%dir%%platf%-pgo
 | 
			
		||||
 | 
			
		||||
rem We cannot cross compile PGO builds, as the optimization needs to be run natively
 | 
			
		||||
set vs_platf=x86
 | 
			
		||||
if "%platf%"=="x64" (set vs_platf=amd64)
 | 
			
		||||
rem Setup the environment
 | 
			
		||||
call "%VS100COMNTOOLS%..\..\VC\vcvarsall.bat" %vs_platf%
 | 
			
		||||
 | 
			
		||||
@echo on
 | 
			
		||||
rem build the instrumented version
 | 
			
		||||
call build -p %platf% -c PGInstrument
 | 
			
		||||
msbuild "%dir%pcbuild.sln" /t:Build /p:Configuration=PGInstrument /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9
 | 
			
		||||
 | 
			
		||||
rem remove .pyc files, .pgc files and execute the job
 | 
			
		||||
%PGI%\python.exe rmpyc.py "%clrpath%"
 | 
			
		||||
del %PGI%\*.pgc
 | 
			
		||||
%PGI%\python.exe "%job%"
 | 
			
		||||
"%PGI%\python.exe" "%dir%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
 | 
			
		||||
rem clean
 | 
			
		||||
if exist "%PGO%" del /s /q "%PGO%"
 | 
			
		||||
 | 
			
		||||
rem build optimized version
 | 
			
		||||
msbuild "%dir%pcbuild.sln" /t:Build /p:Configuration=PGUpdate /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <PropertyGroup Label="UserMacros">
 | 
			
		||||
    <OutDirPGI>$(SolutionDir)$(Platform)-pgi\</OutDirPGI>
 | 
			
		||||
    <OutDirPGI>$(SolutionDir)$(Platform)-pgi</OutDirPGI>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue