I'll note the cache is very efficient, someone a few years back attempted to make some changes and make the cache much much bigger In testing on various platforms we could not show any improvement in the standard benchmarks to justify the additional memory requirements.
On 16-May-06, at 11:54 AM, Michael Haupt wrote:
Hi Andreas,
On 5/16/06, Andreas Raab andreas.raab@gmx.de wrote:
Your observation is incorrect. The superclass' method dictionary will not be copied. What you see in ClassBuilder is that the method dictionary of an "old version" of the class is being copied. This is necessary to support class migration, e.g., adding and removing variables in a class or one of its superclasses.
indeed; Tim Rowledge has pointed this out on the Squeak-dev list already. Next time I'll look a little closer. :-)
So, the only optimisation that is performed for method lookups is the method cache in the Interpreter, right? Is it correct that its size is initialised to 512 entries (I'm not sure; I found that in InterpreterSimulator)?
Are there other optimisations that one could implement, e.g., as a first step in Squeak VM hacking? Not that I had myself in mind... ;-)
Best,
Michael
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com 1-800-477-2659 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===