[Python-Dev] Python Benchmarks

M.-A. Lemburg mal at egenix.com
Tue Jun 6 19:54:26 CEST 2006


FWIW, these are my findings on the various timing strategies:

* Windows:

  time.time()
    - not usable; I get timings with an error interval of roughly 30%

  GetProcessTimes()
    - not usable; I get timings with an error interval of up to 100%
      with differences in steps of 15.626ms

  time.clock()
    - error interval of less than 10%; overall < 0.5%

* Linux:

  time.clock()
    - not usable; I get timings with error interval of about 30%
      with differences in steps of 100ms

  time.time()
    - error interval of less than 10%; overall < 0.5%

  resource.getrusage()
    - error interval of less than 10%; overall < 0.5%
      with differences in steps of 10ms

  clock_gettime()
    - these don't appear to work on my box; even though
      clock_getres() returns a promising 1ns.

All measurements were done on AMD64 boxes, using Linux 2.6
and WinXP Pro with Python 2.4. pybench 2.0 was used (which is
not yet checked in) and the warp factor was set to a value that
gave benchmark rounds times of between 2.5 and 3.5 seconds,
ie. short test run-times.

Overall, time.clock() on Windows and time.time() on Linux appear
to give the best repeatability of tests, so I'll make those the
defaults in pybench 2.0.

In short: Tim wins, I lose.

Was a nice experiment, though ;-)

One interesting difference I found while testing on Windows
vs. Linux is that the StringMappings test have quite a different
run-time on both systems: around 2500ms on Windows vs. 590ms
on Linux (on Python 2.4). UnicodeMappings doesn't show such
a signficant difference.

Perhaps the sprint changed this ?!

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Jun 06 2006)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::


More information about the Python-Dev mailing list