[Python-Dev] Silly little benchmark
Tim Peters
tim.one@home.com
Tue, 10 Jul 2001 03:33:09 -0400
[Skip Montanaro]
> ...
> I came up with the following "benchmarks":
>
> for i in xrange(100000): pass
> for i in xrange(100000): x = 1
> for i in xrange(100000): x = ``1`+`2``
>
> user mode times on my computer (sys mode was always 0.0) were
>
> Python 1.6 Python 2.1 change
> pass 0.12 0.20 1.67x
> x = 1 0.17 0.30 1.76x
> x = ``1`+`2`` 1.60 2.13 1.33x
Please don't post stuff with hard tab characters (I took them out by hand so
this wasn't an unreadable mess).
> Startup times (python -S -c 'pass') are 0.0 for both versions on
> my 'puter. It appears loop execution overhead has gotten substantially
> worse between 1.6 and 2.1.
AFAIK, nothing relevant changed between 1.6 and 2.1. Anyone else? Indeed,
AFIAK, *nothing* plausibly relevant about about for-loops or xrange has
changed since 1.5 (when some general eval-loop speedups got done).
> ...
> but it would seem a good time to reserve a minor version for mostly
> performance improvements. 2.3 perhaps?
The loop speedup in 2.2 requires changes in the PVM as well as adopting the
iterator protocol. If you've got some *easy* performance improvements,
sure, but then I have to wonder why you've been holding them back <wink>.