[Python-3000] PyBench results of PGO build
Christian Heimes
lists at cheimes.de
Thu Nov 22 11:27:23 CET 2007
This morning I've fixed the PGO builds of PCbuild9 and compared a PGO
build with a vanilla build. The PGO builds is about 10% faster. I've
used a PyBench and an unit test run as profiling data.
Christian
-------------------------------------------------------------------------------
PYBENCH 2.0 (vanilla build)
-------------------------------------------------------------------------------
* using CPython 3.0a1+ (py3k:59110, Nov 22 2007, 05:42:09) [MSC v.1500
32 bit (Intel)]
* system check interval set to maximum: 2147483647
* using timer: time.clock
Calibrating tests. Please wait... done.
Running 3 round(s) of the suite at warp factor 10:
* Round 1 done in 12.366 seconds.
* Round 2 done in 12.358 seconds.
* Round 3 done in 12.320 seconds.
-------------------------------------------------------------------------------
Benchmark: 2007-11-22 11:18:46
-------------------------------------------------------------------------------
Rounds: 3
Warp: 10
Timer: time.clock
Machine Details:
Platform ID: Windows-XP-5.1.2600
Processor:
Python:
Implementation: CPython
Executable: c:\dev\python\py3k\PCbuild9\python.exe
Version: 3.0.0
Compiler: MSC v.1500 32 bit (Intel)
Bits: 32bit
Build: Nov 22 2007 05:42:09 (#py3k:59110)
Unicode: None
Test minimum average operation overhead
-------------------------------------------------------------------------------
BuiltinFunctionCalls: 159ms 163ms 0.32us 0.579ms
BuiltinMethodLookup: 190ms 199ms 0.19us 0.593ms
CompareFloats: 146ms 149ms 0.12us 0.680ms
CompareFloatsIntegers: 514ms 522ms 0.58us 0.053ms
CompareIntegers: 227ms 232ms 0.13us 0.915ms
CompareInternedStrings: 295ms 301ms 0.20us 2.643ms
CompareLongs: 156ms 160ms 0.15us 0.589ms
CompareStrings: 200ms 204ms 0.20us 2.052ms
ConcatStrings: 403ms 411ms 0.82us 0.985ms
CreateInstances: 274ms 312ms 2.78us 0.849ms
CreateNewInstances: 203ms 204ms 2.42us 0.647ms
CreateStringsWithConcat: 519ms 594ms 0.59us 1.213ms
DictCreation: 139ms 151ms 0.38us 1.011ms
DictWithFloatKeys: 360ms 366ms 0.41us 1.263ms
DictWithIntegerKeys: 120ms 135ms 0.11us 1.755ms
DictWithStringKeys: 147ms 154ms 0.13us 1.711ms
ForLoops: 150ms 156ms 6.23us 0.072ms
IfThenElse: 157ms 162ms 0.12us 1.271ms
ListSlicing: 214ms 241ms 17.24us 0.140ms
NestedForLoops: 197ms 200ms 0.13us -0.002ms
NormalClassAttribute: 362ms 365ms 0.30us 0.832ms
NormalInstanceAttribute: 282ms 284ms 0.24us 1.046ms
PythonFunctionCalls: 199ms 201ms 0.61us 0.503ms
PythonMethodCalls: 271ms 275ms 1.22us 0.301ms
Recursion: 336ms 364ms 7.28us 0.860ms
SecondImport: 286ms 288ms 2.88us 0.340ms
SecondPackageImport: 290ms 294ms 2.94us 0.339ms
SecondSubmoduleImport: 399ms 408ms 4.08us 0.343ms
SimpleComplexArithmetic: 205ms 209ms 0.24us 0.678ms
SimpleDictManipulation: 293ms 332ms 0.28us 0.850ms
SimpleFloatArithmetic: 181ms 183ms 0.14us 1.056ms
SimpleIntFloatArithmetic: 271ms 275ms 0.21us 0.419ms
SimpleIntegerArithmetic: 260ms 269ms 0.20us 1.013ms
SimpleListManipulation: 144ms 170ms 0.15us 1.081ms
SimpleLongArithmetic: 170ms 177ms 0.27us 0.532ms
SmallLists: 287ms 316ms 0.46us 0.625ms
SmallTuples: 257ms 261ms 0.48us 0.760ms
SpecialClassAttribute: 368ms 382ms 0.32us 0.892ms
SpecialInstanceAttribute: 292ms 295ms 0.25us 0.925ms
StringMappings: 571ms 578ms 2.29us 0.893ms
StringPredicates: 243ms 250ms 0.36us 4.530ms
StringSlicing: 474ms 487ms 0.87us 1.607ms
TryExcept: 84ms 85ms 0.04us 1.256ms
TryRaiseExcept: 272ms 280ms 4.37us 0.710ms
TupleSlicing: 257ms 306ms 1.17us 0.088ms
-------------------------------------------------------------------------------
Totals: 11824ms 12348ms
-------------------------------------------------------------------------------
PYBENCH 2.0 (PGO build)
-------------------------------------------------------------------------------
* using CPython 3.0a1+ (py3k:59110M, Nov 22 2007, 11:04:21) [MSC v.1500
32 bit (Intel)]
* system check interval set to maximum: 2147483647
* using timer: time.clock
Calibrating tests. Please wait... done.
Running 3 round(s) of the suite at warp factor 10:
* Round 1 done in 10.833 seconds.
* Round 2 done in 11.230 seconds.
* Round 3 done in 11.058 seconds.
-------------------------------------------------------------------------------
Benchmark: 2007-11-22 11:17:59
-------------------------------------------------------------------------------
Rounds: 3
Warp: 10
Timer: time.clock
Machine Details:
Platform ID: Windows-XP-5.1.2600
Processor:
Python:
Implementation: CPython
Executable: c:\dev\python\py3k\PCbuild9\Win32-pgo\python.exe
Version: 3.0.0
Compiler: MSC v.1500 32 bit (Intel)
Bits: 32bit
Build: Nov 22 2007 11:04:21 (#py3k:59110M)
Unicode: None
Test minimum average operation overhead
-------------------------------------------------------------------------------
BuiltinFunctionCalls: 139ms 142ms 0.28us 0.414ms
BuiltinMethodLookup: 188ms 196ms 0.19us 0.479ms
CompareFloats: 147ms 148ms 0.12us 0.566ms
CompareFloatsIntegers: 408ms 414ms 0.46us 0.389ms
CompareIntegers: 127ms 141ms 0.08us 0.413ms
CompareInternedStrings: 224ms 226ms 0.15us 2.195ms
CompareLongs: 120ms 121ms 0.12us 0.397ms
CompareStrings: 163ms 169ms 0.17us 1.543ms
ConcatStrings: 406ms 434ms 0.87us 1.382ms
CreateInstances: 237ms 239ms 2.13us 0.739ms
CreateNewInstances: 179ms 181ms 2.15us 0.549ms
CreateStringsWithConcat: 483ms 573ms 0.57us 1.413ms
DictCreation: 160ms 163ms 0.41us 0.542ms
DictWithFloatKeys: 351ms 360ms 0.40us 1.014ms
DictWithIntegerKeys: 117ms 120ms 0.10us 1.399ms
DictWithStringKeys: 145ms 165ms 0.14us 0.637ms
ForLoops: 134ms 153ms 6.11us 0.059ms
IfThenElse: 124ms 130ms 0.10us 1.133ms
ListSlicing: 237ms 253ms 18.04us 0.118ms
NestedForLoops: 150ms 179ms 0.12us -0.002ms
NormalClassAttribute: 376ms 391ms 0.33us 0.900ms
NormalInstanceAttribute: 257ms 283ms 0.24us 0.743ms
PythonFunctionCalls: 201ms 203ms 0.62us 0.437ms
PythonMethodCalls: 247ms 247ms 1.10us 0.245ms
Recursion: 310ms 314ms 6.27us 0.844ms
SecondImport: 262ms 284ms 2.84us 0.274ms
SecondPackageImport: 275ms 297ms 2.97us 0.262ms
SecondSubmoduleImport: 396ms 404ms 4.04us 0.280ms
SimpleComplexArithmetic: 157ms 166ms 0.19us 0.525ms
SimpleDictManipulation: 283ms 286ms 0.24us 0.751ms
SimpleFloatArithmetic: 124ms 134ms 0.10us 0.830ms
SimpleIntFloatArithmetic: 219ms 227ms 0.17us 0.877ms
SimpleIntegerArithmetic: 220ms 250ms 0.19us 0.401ms
SimpleListManipulation: 141ms 144ms 0.12us 0.868ms
SimpleLongArithmetic: 151ms 154ms 0.23us 0.408ms
SmallLists: 266ms 290ms 0.43us 0.955ms
SmallTuples: 220ms 225ms 0.42us 0.642ms
SpecialClassAttribute: 359ms 408ms 0.34us 0.749ms
SpecialInstanceAttribute: 257ms 261ms 0.22us 0.782ms
StringMappings: 348ms 351ms 1.39us 0.740ms
StringPredicates: 194ms 205ms 0.29us 4.242ms
StringSlicing: 430ms 438ms 0.78us 1.398ms
TryExcept: 69ms 72ms 0.03us 1.067ms
TryRaiseExcept: 256ms 267ms 4.18us 0.544ms
TupleSlicing: 224ms 230ms 0.88us 0.084ms
-------------------------------------------------------------------------------
Totals: 10485ms 11041ms
More information about the Python-3000
mailing list