[Zope-ZEO] ZEO 0.2 timing results

Greg Ward gward@mems-exchange.org
Wed, 10 May 2000 17:53:29 -0400


Hi all --

OK, I have some preliminary timing results with ZEO 0.2.  There's good
news and bad news.  The bad news is that Jim's claim of "70%
improvement" is way off; the good news is that I'm seeing more on the
order of a *25-fold* improvement in write speed.  I won't even bother
with the arithmetic to turn that into a percentage -- what's the use?

In my message of May 2, I reported the following with the ZODB from Zope
2.1.5 and ZEO 0.1:

task:                   in-memory       ZODB             ZEO
create users/groups     0.04            0.15            4.90
commit users/groups     0.01            0.06            5.12
convert processes       2.20            3.34            3.42
commit processes        0.01            7.86          260.00
query processes         0.66            1.19           20.00
generate sequences      1.20            1.25            2.80
commit sequences        0.00            1.76          207.00
query sequences         0.00            0.00            0.07

(See http://lists.zope.org/pipermail/zope-zeo/2000-May/000003.html for
context and explanations.)  Note that the "create users/groups" step
there had some spurious commits, so was unfair to ZEO 0.1; that has
since been corrected.

Today I re-ran the timing scripts with ZEO 0.1, and then ran them again
with ZEO 0.2.  Of course, the ZODB underlying each was different: again,
Zope 2.1.5 under ZEO 0.1, but the current CVS ZODB under ZEO 0.2.  I
should rerun the ZODB tests to compare Zope 2.1.5 and the current CVS,
but that's a second-order issue right now.

task:                  ZEO 0.1        ZEO 0.2
create users/groups       0.10          0.1
commit users/groups       8.5           0.28
convert processes         3.3           3.2
commit processes        265            12.6
query processes           1.3           1.1
generate sequences        1.2           1.2
commit sequences        206             7.0
query sequences           0.04          0.00

All times are eyeball averages of elapsed real time in seconds.  For ZEO
0.1, I ran two trials; for ZEO 0.2, I did three, just for the hell of
it.  I don't think any fancy statistics are needed to pick out the
differences: commits are from *20 to 30 times* faster with ZEO 0.2 over
ZEO 0.1.

Hot dog!  Way to go, Jim -- this is exactly I was hoping and praying to
see.  Time to do some larger trials and see how ZEO stands up to tens or
hundreds of thousands of objects.

        Greg
-- 
Greg Ward - software developer                gward@mems-exchange.org
MEMS Exchange / CNRI                           voice: +1-703-262-5376
Reston, Virginia, USA                            fax: +1-703-262-5367