[ZODB-Dev] More timing data

Greg Ward gward@mems-exchange.org
Wed, 11 Dec 2002 11:54:20 -0500


Got some more timing data on open/close of FileStorage, with and without
an index file.  My goal was to compare ZODB 3.1b3 (currently in use on
our web site), ZODB 3.1 (what we *should* be using ;-), and current CVS
trunk:

Executive summary: current CVS is 60% *slower* than 3.1 at opening a
FileStorage with no .index file, and 12% slower at opening one with an
.index file.  Haven't checked memory consumption.

Here's the data (ignoring 3.1b3; it's close enough to 3.1 that it
doesn't matter):

                             elapsed            CPU
trunk: open w/o index            35              31
       close w/o index            2.0             1.7
       open w/ index             27              24.5
       close w/ index             1.9             1.7

3.1:   open w/o index            21.0            19.3
       close w/o index            2.4             2.2
       open w/ index             23.6            22.0
       close w/ index             2.7             2.4

"elapsed" means elapsed wall-clock time as reported by time.time().

"CPU" means user-space CPU time as reported by resource.getrusage().

All times are eyeball averages of 3 runs; quoted precision roughly
reflects observed variance.

All tests were done with Python 2.2.2 under Linux 2.4.20-rc1 on an 800
MHz Athlon with 256 MB of RAM and an expensive, noisy (and therefore
presumably fast) SCSI disk.

Right now I'm not sure whether to keep digging on the 3.1 branch or the
trunk.  Jeremy, if I find some low-hanging fruit that speeds things up
noticeably, would that justify a 3.1.x release?  

-- 
Greg Ward - software developer                gward@mems-exchange.org
MEMS Exchange                            http://www.mems-exchange.org