homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients vstinner
Date 2016年01月09日.09:34:10
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1452332052.18.0.384050047213.issue26058@psf.upfronthosting.co.za>
In-reply-to
Content
Result of pybench on Dict microbenchmarks:
 DictCreation: 44ms 49ms -10.5% 44ms 49ms -10.7%
 DictWithFloatKeys: 35ms 35ms -0.5% 35ms 35ms -1.0%
 DictWithIntegerKeys: 28ms 28ms -1.2% 28ms 29ms -2.3%
 DictWithStringKeys: 26ms 27ms -3.2% 26ms 28ms -4.8%
 SimpleDictManipulation: 52ms 53ms -0.7% 53ms 53ms -0.4%
Hum, as usuall, pybench doesn't seem reliable at all: I expect worse performance with the patch since it adds "version++" in dict.__setimte__(). I don't really trust pybench, results seem to have a lot of noise :-/
Maybe I'm not using pybench correctly? I used:
$ make distclean; ./configure && make
$ ./python Tools/pybench/pybench.py -f pybench.default
$ patch -p1 < dict_version.patch
$ ./python Tools/pybench/pybench.py -f pybench.dictversion
$ ./python Tools/pybench/pybench.py -s pybench.dictversion -c pybench.default
Full output:
-------------------------------------------------------------------------------
PYBENCH 2.1
-------------------------------------------------------------------------------
* using CPython 3.6.0a0 (default:53271aa4d84c+, Jan 9 2016, 10:27:40) [GCC 5.1.1 20150618 (Red Hat 5.1.1-4)]
* 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.dictversion
-------------------------------------------------------------------------------
 Rounds: 10
 Warp: 10
 Timer: time.perf_counter
 Machine Details:
 Platform ID: Linux-4.2.5-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.1.1 20150618 (Red Hat 5.1.1-4)
 Bits: 64bit
 Build: Jan 9 2016 10:27:40 (#default:53271aa4d84c+)
 Unicode: UCS4
-------------------------------------------------------------------------------
Comparing with: pybench.default
-------------------------------------------------------------------------------
 Rounds: 10
 Warp: 10
 Timer: time.perf_counter
 Machine Details:
 Platform ID: Linux-4.2.5-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.1.1 20150618 (Red Hat 5.1.1-4)
 Bits: 64bit
 Build: Jan 9 2016 10:21:57 (#default:53271aa4d84c)
 Unicode: UCS4
Test minimum run-time average run-time
 this other diff this other diff
-------------------------------------------------------------------------------
 BuiltinFunctionCalls: 42ms 42ms +0.1% 43ms 43ms -0.9%
 BuiltinMethodLookup: 26ms 25ms +5.7% 26ms 25ms +5.1%
 CompareFloats: 27ms 27ms -0.9% 27ms 28ms -4.2%
 CompareFloatsIntegers: 60ms 63ms -3.3% 61ms 65ms -6.8%
 CompareIntegers: 41ms 38ms +7.9% 41ms 38ms +7.2%
 CompareInternedStrings: 30ms 28ms +5.7% 30ms 28ms +5.0%
 CompareLongs: 24ms 22ms +8.6% 24ms 22ms +8.5%
 CompareStrings: 22ms 22ms +0.3% 23ms 24ms -6.6%
 ComplexPythonFunctionCalls: 43ms 42ms +1.2% 43ms 45ms -5.2%
 ConcatStrings: 29ms 32ms -11.0% 29ms 33ms -13.6%
 CreateInstances: 45ms 45ms +0.3% 46ms 46ms -0.4%
 CreateNewInstances: 34ms 34ms +0.6% 35ms 34ms +0.7%
 CreateStringsWithConcat: 58ms 58ms +0.1% 58ms 58ms -0.1%
 DictCreation: 44ms 49ms -10.5% 44ms 49ms -10.7%
 DictWithFloatKeys: 35ms 35ms -0.5% 35ms 35ms -1.0%
 DictWithIntegerKeys: 28ms 28ms -1.2% 28ms 29ms -2.3%
 DictWithStringKeys: 26ms 27ms -3.2% 26ms 28ms -4.8%
 ForLoops: 22ms 22ms +0.4% 22ms 22ms +0.6%
 IfThenElse: 34ms 34ms +0.9% 34ms 34ms +0.8%
 ListSlicing: 34ms 34ms -0.2% 34ms 34ms -0.1%
 NestedForLoops: 37ms 36ms +2.1% 37ms 36ms +2.1%
 NestedListComprehensions: 36ms 35ms +1.4% 36ms 36ms +1.8%
 NormalClassAttribute: 75ms 77ms -2.5% 75ms 77ms -2.3%
 NormalInstanceAttribute: 37ms 37ms +2.2% 38ms 37ms +2.5%
 PythonFunctionCalls: 37ms 36ms +1.8% 37ms 37ms +1.6%
 PythonMethodCalls: 50ms 47ms +5.5% 50ms 48ms +4.5%
 Recursion: 61ms 61ms -0.2% 61ms 62ms -0.2%
 SecondImport: 35ms 36ms -2.9% 35ms 37ms -3.3%
 SecondPackageImport: 37ms 37ms -0.3% 37ms 37ms -0.4%
 SecondSubmoduleImport: 89ms 87ms +2.1% 90ms 88ms +1.6%
 SimpleComplexArithmetic: 23ms 23ms +0.0% 24ms 24ms -0.1%
 SimpleDictManipulation: 52ms 53ms -0.7% 53ms 53ms -0.4%
 SimpleFloatArithmetic: 25ms 25ms -1.2% 25ms 25ms -1.0%
 SimpleIntFloatArithmetic: 32ms 32ms -0.3% 32ms 32ms -1.1%
 SimpleIntegerArithmetic: 32ms 32ms -0.6% 32ms 32ms -0.3%
 SimpleListComprehensions: 29ms 28ms +2.3% 30ms 29ms +3.2%
 SimpleListManipulation: 27ms 28ms -1.3% 28ms 28ms -1.4%
 SimpleLongArithmetic: 22ms 22ms +3.6% 23ms 22ms +4.4%
 SmallLists: 38ms 38ms -1.9% 38ms 41ms -7.0%
 SmallTuples: 47ms 44ms +7.8% 47ms 44ms +7.5%
 SpecialClassAttribute: 75ms 73ms +2.3% 75ms 73ms +2.2%
 SpecialInstanceAttribute: 38ms 39ms -1.8% 38ms 39ms -2.1%
 StringMappings: 84ms 83ms +0.8% 84ms 84ms +0.5%
 StringPredicates: 49ms 49ms -0.6% 49ms 49ms -1.0%
 StringSlicing: 42ms 42ms +0.8% 42ms 42ms +0.7%
 TryExcept: 25ms 25ms -0.4% 25ms 25ms -0.8%
 TryFinally: 31ms 31ms +1.1% 32ms 31ms +1.4%
 TryRaiseExcept: 12ms 12ms -0.8% 12ms 12ms -1.4%
 TupleSlicing: 43ms 43ms +0.1% 43ms 43ms -0.6%
 WithFinally: 49ms 50ms -0.9% 49ms 50ms -0.9%
 WithRaiseExcept: 39ms 39ms -0.6% 39ms 40ms -1.6%
-------------------------------------------------------------------------------
Totals: 2011ms 2006ms +0.2% 2025ms 2035ms -0.5%
(this=pybench.dictversion, other=pybench.default)
History
Date User Action Args
2016年01月09日 09:34:12vstinnersetrecipients: + vstinner
2016年01月09日 09:34:12vstinnersetmessageid: <1452332052.18.0.384050047213.issue26058@psf.upfronthosting.co.za>
2016年01月09日 09:34:12vstinnerlinkissue26058 messages
2016年01月09日 09:34:10vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /