[Python-Dev] Re: Python 2.1 slower than 2.0
Jeremy Hylton
jeremy@alum.mit.edu
Mon, 29 Jan 2001 13:04:28 -0500 (EST)
I hope another set of benchmarks isn't overkill for the list. I see
different results comparing 2.1 with 2.0 (both -O3) using pybench
0.6.
The interesting differences I see in this benchmark that I didn't see
in MAL's are:
DictCreation +15.87%
SeoncdImport +20.29%
Other curious differences, which show up in both benchmarks, include:
SpecialClassAttribute +17.91% (private variables)
SpecialInstanceAttribute +15.34% (__methods__)
Jeremy
PYBENCH 0.6
Benchmark: py21 (rounds=10, warp=20)
Tests: per run per oper. diff *
------------------------------------------------------------------------
BuiltinFunctionCalls: 305.05 ms 2.39 us +4.77%
BuiltinMethodLookup: 319.65 ms 0.61 us +2.55%
ConcatStrings: 383.70 ms 2.56 us +1.27%
CreateInstances: 463.85 ms 11.04 us +1.96%
CreateStringsWithConcat: 381.20 ms 1.91 us +2.39%
DictCreation: 508.85 ms 3.39 us +15.87%
ForLoops: 577.60 ms 57.76 us +5.65%
IfThenElse: 443.70 ms 0.66 us +1.02%
ListSlicing: 207.50 ms 59.29 us -4.18%
NestedForLoops: 315.75 ms 0.90 us +3.54%
NormalClassAttribute: 379.80 ms 0.63 us +7.39%
NormalInstanceAttribute: 385.45 ms 0.64 us +8.04%
PythonFunctionCalls: 400.00 ms 2.42 us +13.62%
PythonMethodCalls: 306.25 ms 4.08 us +5.13%
Recursion: 337.25 ms 26.98 us +19.00%
SecondImport: 301.20 ms 12.05 us +20.29%
SecondPackageImport: 298.20 ms 11.93 us +18.15%
SecondSubmoduleImport: 339.15 ms 13.57 us +11.40%
SimpleComplexArithmetic: 392.70 ms 1.79 us -10.52%
SimpleDictManipulation: 350.40 ms 1.17 us +3.87%
SimpleFloatArithmetic: 300.75 ms 0.55 us +2.04%
SimpleIntFloatArithmetic: 347.95 ms 0.53 us +9.01%
SimpleIntegerArithmetic: 356.40 ms 0.54 us +12.01%
SimpleListManipulation: 351.85 ms 1.30 us +11.33%
SimpleLongArithmetic: 309.00 ms 1.87 us -5.81%
SmallLists: 584.25 ms 2.29 us +10.20%
SmallTuples: 442.00 ms 1.84 us +10.33%
SpecialClassAttribute: 406.50 ms 0.68 us +17.91%
SpecialInstanceAttribute: 557.40 ms 0.93 us +15.34%
StringSlicing: 336.45 ms 1.92 us +9.56%
TryExcept: 650.60 ms 0.43 us +1.40%
TryRaiseExcept: 345.95 ms 23.06 us +2.70%
TupleSlicing: 266.35 ms 2.54 us +4.70%
------------------------------------------------------------------------
Average round time: 14413.00 ms +7.07%
*) measured against: py20 (rounds=10, warp=20)