Cache relevant to Squeak code? (was: RE: Skip Lists?!)

Tim Rowledge tim at sumeru.stanford.edu
Wed Oct 3 04:34:32 UTC 2001


danielv at netvision.net.il wrote:

> It's a very interesting article, and it got me thinking -
> Should I be bothered about making Squeak data structures I use fit
> nicely in a cache?

Well it was done a long time ago, but Mario Wolckzco's PhD thesis (I'm
sure somebody can provide a URL) tackled this problem in a pretty
serious way some ten years ago. The basic conclusion was that a cache
less than 128Mb was hardly worth the effort. Generally the referential
locality of a Smalltalk program is terrible and the CPU cache is
generally too small to be worth trying to worry about. Well generated
and optimised translated methods can take some advantage of the
instruction cache but even there you have to be careful of varying cache
sizes, line lengths, replacement algorithms, and enough other things to
make your head spin.

My advice is to work in the field of super fast main memories and get us
to a sensible state where the CPU needs no cache because all the memory
is at full speed. I'd rather have a 600MHz cpu with fullspeed memory
than a multi GHz cpu with 133MHz memory..... but if you can offer me a
multi GHz cpu with full speed memory that would be even better :-)






More information about the Squeak-dev mailing list