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 <rep...@bugs.python.org> <http://bugs.python.org/issue26058> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com