[issue26058] PEP 509: Add ma_version to PyDictObject
STINNER Victor
report at bugs.python.org
Wed Jan 13 05:41:19 EST 2016
STINNER Victor added the comment:
I'm not a big fan of pybench (it looks unstable and so not reliable), but here are results with dict_version-4.patch.
I used more loops and a lower warp factor to get more reliable tests (I hope):
./python Tools/pybench/pybench.py -f pybench.orig -w 2 -C 100 -n 25
./python.patched Tools/pybench/pybench.py -f pybench.dictver -w 2 -C 100 -n 25
./python Tools/pybench/pybench.py -s pybench.dictver -c pybench.orig
-------------------------------------------------------------------------------
PYBENCH 2.1
-------------------------------------------------------------------------------
* using CPython 3.6.0a0 (default:77d24f51effc+, Jan 13 2016, 11:27:53) [GCC 5.3.1 20151207 (Red Hat 5.3.1-2)]
* disabled garbage collection
* system check interval set to maximum: 2147483647
* using timer: time.perf_counter
* timer: resolution=1e-09, implementation=clock_gettime(CLOCK_MONOTONIC)
-------------------------------------------------------------------------------
Benchmark: pybench.dictver
-------------------------------------------------------------------------------
Rounds: 25
Warp: 2
Timer: time.perf_counter
Machine Details:
Platform ID: Linux-4.2.8-300.fc23.x86_64-x86_64-with-fedora-23-Twenty_Three
Processor: x86_64
Python:
Implementation: CPython
Executable: /home/haypo/prog/python/default/python
Version: 3.6.0a0
Compiler: GCC 5.3.1 20151207 (Red Hat 5.3.1-2)
Bits: 64bit
Build: Jan 13 2016 11:27:53 (#default:77d24f51effc+)
Unicode: UCS4
-------------------------------------------------------------------------------
Comparing with: pybench.orig
-------------------------------------------------------------------------------
Rounds: 25
Warp: 2
Timer: time.perf_counter
Machine Details:
Platform ID: Linux-4.2.8-300.fc23.x86_64-x86_64-with-fedora-23-Twenty_Three
Processor: x86_64
Python:
Implementation: CPython
Executable: /home/haypo/prog/python/default/python
Version: 3.6.0a0
Compiler: GCC 5.3.1 20151207 (Red Hat 5.3.1-2)
Bits: 64bit
Build: Jan 13 2016 11:14:50 (#default:77d24f51effc)
Unicode: UCS4
Test minimum run-time average run-time
this other diff this other diff
-------------------------------------------------------------------------------
BuiltinFunctionCalls: 230ms 229ms +0.4% 241ms 230ms +5.1%
BuiltinMethodLookup: 130ms 132ms -1.2% 135ms 134ms +0.4%
CompareFloats: 147ms 149ms -1.4% 151ms 149ms +1.2%
CompareFloatsIntegers: 330ms 333ms -0.8% 347ms 335ms +3.6%
CompareIntegers: 214ms 209ms +2.5% 223ms 209ms +6.5%
CompareInternedStrings: 160ms 145ms +10.8% 170ms 145ms +16.9%
CompareLongs: 121ms 120ms +0.2% 124ms 120ms +3.4%
CompareStrings: 132ms 131ms +0.7% 138ms 132ms +4.8%
ComplexPythonFunctionCalls: 233ms 235ms -0.7% 241ms 238ms +1.1%
ConcatStrings: 166ms 165ms +0.3% 177ms 167ms +6.0%
CreateInstances: 240ms 247ms -3.1% 253ms 249ms +1.5%
CreateNewInstances: 178ms 186ms -4.2% 188ms 188ms +0.1%
CreateStringsWithConcat: 315ms 316ms -0.5% 331ms 318ms +4.3%
DictCreation: 254ms 236ms +7.8% 262ms 237ms +10.5%
DictWithFloatKeys: 211ms 199ms +6.1% 219ms 201ms +8.9%
DictWithIntegerKeys: 171ms 163ms +5.4% 180ms 166ms +9.0%
DictWithStringKeys: 163ms 142ms +14.5% 170ms 144ms +17.7%
ForLoops: 121ms 121ms -0.3% 125ms 124ms +0.9%
IfThenElse: 179ms 178ms +0.7% 185ms 178ms +3.6%
ListSlicing: 194ms 193ms +0.4% 198ms 194ms +2.2%
NestedForLoops: 212ms 210ms +1.2% 220ms 210ms +4.6%
NestedListComprehensions: 205ms 212ms -3.3% 218ms 215ms +1.5%
NormalClassAttribute: 429ms 407ms +5.5% 446ms 408ms +9.3%
NormalInstanceAttribute: 212ms 206ms +2.8% 226ms 209ms +8.0%
PythonFunctionCalls: 208ms 210ms -1.4% 215ms 212ms +1.2%
PythonMethodCalls: 275ms 253ms +8.7% 293ms 255ms +14.9%
Recursion: 333ms 328ms +1.4% 366ms 329ms +11.0%
SecondImport: 190ms 188ms +0.8% 201ms 188ms +6.7%
SecondPackageImport: 195ms 192ms +1.8% 214ms 192ms +11.7%
SecondSubmoduleImport: 472ms 447ms +5.7% 502ms 455ms +10.3%
SimpleComplexArithmetic: 141ms 138ms +2.1% 146ms 139ms +5.2%
SimpleDictManipulation: 287ms 288ms -0.3% 313ms 290ms +8.0%
SimpleFloatArithmetic: 138ms 137ms +0.7% 151ms 140ms +7.9%
SimpleIntFloatArithmetic: 172ms 180ms -4.3% 182ms 181ms +0.4%
SimpleIntegerArithmetic: 172ms 169ms +1.9% 184ms 170ms +8.1%
SimpleListComprehensions: 166ms 167ms -0.7% 179ms 173ms +3.3%
SimpleListManipulation: 159ms 153ms +3.9% 166ms 155ms +7.6%
SimpleLongArithmetic: 118ms 117ms +1.2% 123ms 118ms +4.3%
SmallLists: 210ms 204ms +2.8% 221ms 205ms +7.3%
SmallTuples: 244ms 252ms -3.1% 255ms 256ms -0.2%
SpecialClassAttribute: 424ms 416ms +1.8% 442ms 419ms +5.5%
SpecialInstanceAttribute: 214ms 211ms +1.3% 223ms 214ms +4.5%
StringMappings: 442ms 446ms -0.8% 460ms 447ms +2.9%
StringPredicates: 259ms 258ms +0.2% 281ms 260ms +8.2%
StringSlicing: 218ms 220ms -1.2% 228ms 221ms +3.3%
TryExcept: 130ms 135ms -3.9% 134ms 136ms -1.4%
TryFinally: 173ms 171ms +0.9% 180ms 172ms +4.4%
TryRaiseExcept: 62ms 63ms -1.2% 63ms 63ms +0.9%
TupleSlicing: 223ms 224ms -0.3% 251ms 232ms +8.0%
WithFinally: 263ms 264ms -0.4% 280ms 265ms +5.4%
WithRaiseExcept: 205ms 203ms +0.7% 215ms 204ms +5.5%
-------------------------------------------------------------------------------
Totals: 11040ms 10900ms +1.3% 11635ms 10991ms +5.9%
(this=pybench.dictver, other=pybench.orig)
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26058>
_______________________________________
More information about the Python-bugs-list
mailing list