[Zope] Pystones & Zope Performance
Matthew T. Kromer
matt@zope.com
Fri, 05 Apr 2002 15:18:49 -0500
For all concerned:
Pystones are an excellent predictor of Zope performance. The pystone
program is typically located in $PYTHONPATH/tests/pystone.py -- you run
this with your favorite version of Python to get an indicator of how
fast your particular system can process Python instructions.
Here's a few sample systems I use, all using Python 2.1 as a benchmark
python:
Intel Celeron 400: 4651 pystones [11.63 * Mhz]
UltraSPARC IIe 500: 5556 pystones [11.11 * Mhz]
Intel Celeron 500: 5714 pystones [11.43 * Mhz]
PowerPC G4 500: 6289 pystones [12.58 * Mhz]
Intel Celeron 500: 6849 pystones [13.69 * Mhz] (optimized
Python)
Intel Pentium III 1Ghz: 12048 pystones [12.05 * Mhz]
AMD Athlon XP 2000+: 25756 pystones [15.67 * Mhz, 12.88 *
Rating] (ActiveState python)
Note that this isn't a very highly scientific sampling; I haven't done
lots of averaging and smoothing and data washing, etc. Pystones are
pretty closely tied to clock speed (duh!) but are perturbed by CPU and
compiler. I tend to accept a figure of roughly 12 * Mhz as a fairly
accurate predictor of Python performance.
Zope, being an enormous Python program, is highly sensitive to how fast
Python can interpret. Thus, you'll find that Zope speeds scale up with
CPU speeds.
It is probably worth pointing out that the architecture of the CPU isn't
nearly as dominant as its clock speed; a UltraSPARC or a PowerPC G4 does
not perform much differently than a Pentium or Athlon.
It also shows (for you Athlon fans out there) that the Athlon marketing
number is fairly accurate with respect to the equivalent Intel
performance, i.e. Athlons get about 22% more work done per clock than a
Pentium III -- I don't have any Pentium IVs around to test with.
I doubt any of this is earth shattering news. The primary conclusion I
would draw from this is that you want to optimize clock rate over any
other factor for good Zope performance. When considering fitting Zope
to various vendor hardware, consider the cost per cycle; SPARC suffers
here considerably.
--
Matt Kromer
Zope Corporation http://www.zope.com/