Cache and Squeak Performance

Maloney johnm at wdi.disney.com
Fri Feb 13 18:02:16 UTC 1998


Mark Guzdial wrote:
>I've been trying to get a sense of the relative speed of the various
>machines that I'm using as PWS/Swiki servers...

Thanks for collecting these timings, Mark! Of course, one shouldn't
draw too many conclusions from a single benchmark, but I've run
a benchmark suite on a number of different Smalltalk's, and this
particular benchmark tends to be a good predictor of the average
performance of that entire suite. (The suite I mention was specifically
designed to test the raw computation speed of various Smalltalk VM's;
thus, it does not measure display and character drawing speeds,
nor does it measure the efficiency of the class libraries.)

I keep a stripped down Squeak image and VM on a floppy
disk and bring it to the computer store when I want to see how
fast a new model of computer is. The two benchmarks I run are
"10 benchmark" and "26 benchFib". As NISHIHARA-san noted,
the new PPC 750 chip is really, really fast! If anyone is
considering a Mac, Apple's new G3 computers (including the laptop)
are all awesome Squeak machines. They are about three times
as fast as my 110 MHz 8100. I believe much of the speed improvement
is due to the new "backside" cache design and faster memory bus.

Another interesting recent discovery--thanks to experiments done by
Bruce Bennett--is that Mac's based on the 68040 chip run Squeak over
four times faster than those based on the 68030 or 68020 chips.
Again, the difference is due to the fact that the 68040 has 8K
of on-chip cache whereas the 68030 has only 64 *words* of cache
and the 68020 has no cache at all.

The moral of the story is that Squeak is extremely hungry for
memory cycles. If you have a machine without a second level cache,
it will probably run Squeak faster if you add one. No guarantees,
though; try it before laying out real cash for cache. :->

	-- John

P.S. If anyone is able to compare the performance of Squeak on
two machines that differ only in the presence or amount of level-two
cache, I'd love to know what the performance difference is.





More information about the Squeak-dev mailing list