[issue13405] Add DTrace probes
Jesús Cea Avión
report at bugs.python.org
Sun Dec 11 23:53:50 CET 2011
Jesús Cea Avión <jcea at jcea.es> added the comment:
Same calculations for 64 bit binaries:
***** STOCK PYTHON:
-------------------------------------------------------------------------------
PYBENCH 2.1
-------------------------------------------------------------------------------
* using CPython 3.3.0a0 (default:70ba352f9586, Dec 11 2011, 23:38:26) [GCC 4.6.2]
* disabled garbage collection
* system check interval set to maximum: 2147483647
* using timer: time.time
Calibrating tests. Please wait... done.
Running 10 round(s) of the suite at warp factor 10:
* Round 1 done in 3.392 seconds.
* Round 2 done in 3.423 seconds.
* Round 3 done in 3.397 seconds.
* Round 4 done in 3.425 seconds.
* Round 5 done in 3.395 seconds.
* Round 6 done in 3.465 seconds.
* Round 7 done in 3.476 seconds.
* Round 8 done in 3.388 seconds.
* Round 9 done in 3.385 seconds.
* Round 10 done in 3.388 seconds.
-------------------------------------------------------------------------------
Benchmark: 2011-12-11 23:39:33
-------------------------------------------------------------------------------
Rounds: 10
Warp: 10
Timer: time.time
Machine Details:
Platform ID: SunOS-5.10-i86pc-i386-64bit-ELF
Processor: i386
Python:
Implementation: CPython
Executable: /home/python/cpython/python
Version: 3.3.0a0
Compiler: GCC 4.6.2
Bits: 64bit
Build: Dec 11 2011 23:38:26 (#default:70ba352f9586)
Unicode: UCS4
Test minimum average operation overhead
-------------------------------------------------------------------------------
BuiltinFunctionCalls: 58ms 61ms 0.12us 0.199ms
BuiltinMethodLookup: 38ms 39ms 0.04us 0.233ms
CompareFloats: 44ms 51ms 0.04us 0.267ms
CompareFloatsIntegers: 100ms 102ms 0.11us 0.199ms
CompareIntegers: 68ms 78ms 0.04us 0.401ms
CompareInternedStrings: 53ms 53ms 0.04us 1.015ms
CompareLongs: 38ms 45ms 0.04us 0.233ms
CompareStrings: 45ms 46ms 0.05us 0.680ms
ComplexPythonFunctionCalls: 57ms 58ms 0.29us 0.335ms
ConcatStrings: 52ms 53ms 0.11us 0.379ms
CreateInstances: 88ms 89ms 0.80us 0.331ms
CreateNewInstances: 66ms 68ms 0.80us 0.269ms
CreateStringsWithConcat: 87ms 89ms 0.09us 0.672ms
DictCreation: 46ms 47ms 0.12us 0.279ms
DictWithFloatKeys: 57ms 58ms 0.06us 0.503ms
DictWithIntegerKeys: 47ms 48ms 0.04us 0.672ms
DictWithStringKeys: 40ms 41ms 0.03us 0.672ms
ForLoops: 45ms 45ms 1.82us 0.031ms
IfThenElse: 54ms 55ms 0.04us 0.503ms
ListSlicing: 50ms 51ms 3.64us 0.042ms
NestedForLoops: 65ms 67ms 0.04us 0.002ms
NestedListComprehensions: 64ms 65ms 5.44us 0.066ms
NormalClassAttribute: 129ms 130ms 0.11us 0.363ms
NormalInstanceAttribute: 62ms 62ms 0.05us 0.365ms
PythonFunctionCalls: 49ms 50ms 0.15us 0.203ms
PythonMethodCalls: 69ms 69ms 0.31us 0.133ms
Recursion: 86ms 86ms 1.72us 0.334ms
SecondImport: 57ms 59ms 0.59us 0.131ms
SecondPackageImport: 59ms 60ms 0.60us 0.131ms
SecondSubmoduleImport: 103ms 104ms 1.04us 0.131ms
SimpleComplexArithmetic: 45ms 45ms 0.05us 0.267ms
SimpleDictManipulation: 84ms 84ms 0.07us 0.334ms
SimpleFloatArithmetic: 46ms 47ms 0.04us 0.402ms
SimpleIntFloatArithmetic: 57ms 58ms 0.04us 0.401ms
SimpleIntegerArithmetic: 57ms 57ms 0.04us 0.401ms
SimpleListComprehensions: 54ms 55ms 4.56us 0.066ms
SimpleListManipulation: 42ms 43ms 0.04us 0.506ms
SimpleLongArithmetic: 37ms 38ms 0.06us 0.199ms
SmallLists: 61ms 63ms 0.09us 0.266ms
SmallTuples: 63ms 65ms 0.12us 0.300ms
SpecialClassAttribute: 184ms 187ms 0.16us 0.368ms
SpecialInstanceAttribute: 62ms 63ms 0.05us 0.370ms
StringMappings: 206ms 211ms 0.84us 0.293ms
StringPredicates: 65ms 67ms 0.10us 1.328ms
StringSlicing: 74ms 75ms 0.13us 0.559ms
TryExcept: 36ms 36ms 0.02us 0.503ms
TryFinally: 45ms 45ms 0.28us 0.267ms
TryRaiseExcept: 27ms 27ms 0.42us 0.267ms
TupleSlicing: 72ms 73ms 0.28us 0.030ms
WithFinally: 68ms 71ms 0.44us 0.267ms
WithRaiseExcept: 73ms 76ms 0.94us 0.334ms
-------------------------------------------------------------------------------
Totals: 3333ms 3413ms
********** DTRACE CALCULATING LINENUMBER IN EVERY FUNCTION CALL:
-------------------------------------------------------------------------------
PYBENCH 2.1
-------------------------------------------------------------------------------
* using CPython 3.3.0a0 (dtrace-issue13405:552edf5be75c, Dec 11 2011, 23:43:27) [GCC 4.6.2]
* disabled garbage collection
* system check interval set to maximum: 2147483647
* using timer: time.time
Calibrating tests. Please wait... done.
Running 10 round(s) of the suite at warp factor 10:
* Round 1 done in 3.898 seconds.
* Round 2 done in 3.849 seconds.
* Round 3 done in 3.857 seconds.
* Round 4 done in 3.887 seconds.
* Round 5 done in 3.833 seconds.
* Round 6 done in 3.837 seconds.
* Round 7 done in 3.842 seconds.
* Round 8 done in 3.853 seconds.
* Round 9 done in 3.870 seconds.
* Round 10 done in 3.840 seconds.
-------------------------------------------------------------------------------
Benchmark: 2011-12-11 23:44:53
-------------------------------------------------------------------------------
Rounds: 10
Warp: 10
Timer: time.time
Machine Details:
Platform ID: SunOS-5.10-i86pc-i386-64bit-ELF
Processor: i386
Python:
Implementation: CPython
Executable: /home/python/cpython-jcea/python
Version: 3.3.0a0
Compiler: GCC 4.6.2
Bits: 64bit
Build: Dec 11 2011 23:43:27 (#dtrace-issue13405:552edf5be75c)
Unicode: UCS4
Test minimum average operation overhead
-------------------------------------------------------------------------------
BuiltinFunctionCalls: 107ms 109ms 0.21us 0.205ms
BuiltinMethodLookup: 39ms 40ms 0.04us 0.239ms
CompareFloats: 44ms 45ms 0.04us 0.274ms
CompareFloatsIntegers: 83ms 84ms 0.09us 0.204ms
CompareIntegers: 70ms 70ms 0.04us 0.413ms
CompareInternedStrings: 56ms 57ms 0.04us 1.053ms
CompareLongs: 40ms 41ms 0.04us 0.239ms
CompareStrings: 49ms 51ms 0.05us 0.700ms
ComplexPythonFunctionCalls: 74ms 77ms 0.39us 0.344ms
ConcatStrings: 54ms 54ms 0.11us 0.388ms
CreateInstances: 97ms 98ms 0.88us 0.324ms
CreateNewInstances: 73ms 74ms 0.88us 0.275ms
CreateStringsWithConcat: 89ms 90ms 0.09us 0.692ms
DictCreation: 47ms 47ms 0.12us 0.274ms
DictWithFloatKeys: 59ms 60ms 0.07us 0.519ms
DictWithIntegerKeys: 48ms 49ms 0.04us 0.693ms
DictWithStringKeys: 44ms 45ms 0.04us 0.693ms
ForLoops: 44ms 45ms 1.78us 0.031ms
IfThenElse: 59ms 59ms 0.04us 0.519ms
ListSlicing: 50ms 50ms 3.61us 0.040ms
NestedForLoops: 68ms 69ms 0.05us 0.002ms
NestedListComprehensions: 69ms 70ms 5.87us 0.068ms
NormalClassAttribute: 130ms 134ms 0.11us 0.371ms
NormalInstanceAttribute: 64ms 65ms 0.05us 0.373ms
PythonFunctionCalls: 80ms 81ms 0.25us 0.201ms
PythonMethodCalls: 102ms 103ms 0.46us 0.136ms
Recursion: 112ms 114ms 2.29us 0.343ms
SecondImport: 54ms 56ms 0.56us 0.135ms
SecondPackageImport: 54ms 56ms 0.56us 0.135ms
SecondSubmoduleImport: 99ms 101ms 1.01us 0.135ms
SimpleComplexArithmetic: 48ms 49ms 0.06us 0.274ms
SimpleDictManipulation: 137ms 139ms 0.12us 0.344ms
SimpleFloatArithmetic: 45ms 45ms 0.03us 0.413ms
SimpleIntFloatArithmetic: 57ms 59ms 0.04us 0.413ms
SimpleIntegerArithmetic: 60ms 61ms 0.05us 0.413ms
SimpleListComprehensions: 57ms 58ms 4.82us 0.067ms
SimpleListManipulation: 76ms 77ms 0.07us 0.449ms
SimpleLongArithmetic: 40ms 41ms 0.06us 0.204ms
SmallLists: 81ms 82ms 0.12us 0.274ms
SmallTuples: 71ms 72ms 0.13us 0.309ms
SpecialClassAttribute: 188ms 191ms 0.16us 0.377ms
SpecialInstanceAttribute: 63ms 64ms 0.05us 0.378ms
StringMappings: 210ms 211ms 0.84us 0.296ms
StringPredicates: 114ms 115ms 0.16us 1.408ms
StringSlicing: 77ms 78ms 0.14us 0.578ms
TryExcept: 48ms 48ms 0.02us 0.518ms
TryFinally: 93ms 99ms 0.62us 0.274ms
TryRaiseExcept: 30ms 30ms 0.47us 0.274ms
TupleSlicing: 72ms 75ms 0.28us 0.030ms
WithFinally: 81ms 82ms 0.51us 0.274ms
WithRaiseExcept: 82ms 84ms 1.05us 0.343ms
-------------------------------------------------------------------------------
Totals: 3793ms 3857ms
********* SPENDING SOME MEMORY FOR PERFORMANCE:
-------------------------------------------------------------------------------
PYBENCH 2.1
-------------------------------------------------------------------------------
* using CPython 3.3.0a0 (dtrace-issue13405:43d1a819a63d, Dec 11 2011, 23:47:52) [GCC 4.6.2]
* disabled garbage collection
* system check interval set to maximum: 2147483647
* using timer: time.time
Calibrating tests. Please wait... done.
Running 10 round(s) of the suite at warp factor 10:
* Round 1 done in 3.529 seconds.
* Round 2 done in 3.579 seconds.
* Round 3 done in 3.526 seconds.
* Round 4 done in 3.517 seconds.
* Round 5 done in 3.538 seconds.
* Round 6 done in 3.547 seconds.
* Round 7 done in 3.526 seconds.
* Round 8 done in 3.518 seconds.
* Round 9 done in 3.512 seconds.
* Round 10 done in 3.550 seconds.
-------------------------------------------------------------------------------
Benchmark: 2011-12-11 23:49:03
-------------------------------------------------------------------------------
Rounds: 10
Warp: 10
Timer: time.time
Machine Details:
Platform ID: SunOS-5.10-i86pc-i386-64bit-ELF
Processor: i386
Python:
Implementation: CPython
Executable: /home/python/cpython-jcea/python
Version: 3.3.0a0
Compiler: GCC 4.6.2
Bits: 64bit
Build: Dec 11 2011 23:47:52 (#dtrace-issue13405:43d1a819a63d)
Unicode: UCS4
Test minimum average operation overhead
-------------------------------------------------------------------------------
BuiltinFunctionCalls: 57ms 61ms 0.12us 0.203ms
BuiltinMethodLookup: 40ms 41ms 0.04us 0.237ms
CompareFloats: 45ms 46ms 0.04us 0.272ms
CompareFloatsIntegers: 85ms 85ms 0.09us 0.203ms
CompareIntegers: 69ms 69ms 0.04us 0.410ms
CompareInternedStrings: 65ms 65ms 0.04us 1.035ms
CompareLongs: 40ms 40ms 0.04us 0.237ms
CompareStrings: 47ms 50ms 0.05us 0.694ms
ComplexPythonFunctionCalls: 61ms 62ms 0.31us 0.341ms
ConcatStrings: 56ms 57ms 0.11us 0.385ms
CreateInstances: 97ms 99ms 0.88us 0.329ms
CreateNewInstances: 72ms 73ms 0.87us 0.275ms
CreateStringsWithConcat: 87ms 88ms 0.09us 0.686ms
DictCreation: 46ms 47ms 0.12us 0.272ms
DictWithFloatKeys: 59ms 60ms 0.07us 0.513ms
DictWithIntegerKeys: 49ms 50ms 0.04us 0.686ms
DictWithStringKeys: 43ms 43ms 0.04us 0.686ms
ForLoops: 43ms 44ms 1.77us 0.031ms
IfThenElse: 60ms 61ms 0.05us 0.513ms
ListSlicing: 50ms 51ms 3.65us 0.040ms
NestedForLoops: 64ms 65ms 0.04us 0.002ms
NestedListComprehensions: 66ms 67ms 5.57us 0.067ms
NormalClassAttribute: 132ms 133ms 0.11us 0.370ms
NormalInstanceAttribute: 64ms 65ms 0.05us 0.373ms
PythonFunctionCalls: 62ms 62ms 0.19us 0.203ms
PythonMethodCalls: 80ms 82ms 0.37us 0.135ms
Recursion: 105ms 106ms 2.12us 0.341ms
SecondImport: 53ms 54ms 0.54us 0.134ms
SecondPackageImport: 53ms 54ms 0.54us 0.134ms
SecondSubmoduleImport: 94ms 95ms 0.95us 0.134ms
SimpleComplexArithmetic: 48ms 48ms 0.05us 0.272ms
SimpleDictManipulation: 92ms 93ms 0.08us 0.337ms
SimpleFloatArithmetic: 46ms 46ms 0.04us 0.411ms
SimpleIntFloatArithmetic: 58ms 58ms 0.04us 0.409ms
SimpleIntegerArithmetic: 57ms 58ms 0.04us 0.409ms
SimpleListComprehensions: 55ms 57ms 4.79us 0.067ms
SimpleListManipulation: 45ms 46ms 0.04us 0.422ms
SimpleLongArithmetic: 38ms 39ms 0.06us 0.203ms
SmallLists: 62ms 64ms 0.09us 0.272ms
SmallTuples: 66ms 67ms 0.12us 0.306ms
SpecialClassAttribute: 187ms 191ms 0.16us 0.374ms
SpecialInstanceAttribute: 64ms 65ms 0.05us 0.378ms
StringMappings: 198ms 199ms 0.79us 0.295ms
StringPredicates: 68ms 69ms 0.10us 1.380ms
StringSlicing: 75ms 76ms 0.14us 0.570ms
TryExcept: 46ms 46ms 0.02us 0.513ms
TryFinally: 54ms 54ms 0.34us 0.272ms
TryRaiseExcept: 27ms 27ms 0.43us 0.272ms
TupleSlicing: 74ms 75ms 0.29us 0.031ms
WithFinally: 82ms 84ms 0.53us 0.272ms
WithRaiseExcept: 91ms 93ms 1.17us 0.341ms
-------------------------------------------------------------------------------
Totals: 3477ms 3534ms
Here the performance penalty is 13% for the version that calculates linenumbers in each function call, and 3.5% for the memory spending extra memory for performance. The extra performance hit is because, possibly, the extra C function call and C stack massaging. Something to think about.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13405>
_______________________________________
More information about the Python-bugs-list
mailing list