global variables as structure in VM.
John M McIntosh
johnmci at smalltalkconsulting.com
Fri Apr 5 23:31:44 UTC 2002
>These performance figures are quite interesting. I think it's possible
>that this change would also improve performance on register-poor machines
>such as the 68K, which never ran Squeak as fast as it should have
>(based on the relative performance of a set of C benchmarks).
>What does this change do for performance under OS 9? How about
>Windows and *nix? I'm wondering if this could be made an option
>at VM generation time to allow folks to do some experiments on other
There is no benefit under os-9 or 68k bsd for moving to a global structure.
I'm 98% sure globals are addressed based on pc+displacement. So
actually the setup to get to the point of structure start + offset is
higher that the current code.
This is a different story under ppc because of how code and data
segments are addressed at runtime.
Alas the GCC 68K compiler is *way* more efficient than CW, but we
can't get there from here. Other than installing some flavor of
Bsd/Aux/BSD on your 68K machine if you want a dedicated 68k squeak
machine. That of course might be a viable choice if you want to run
squeak as efficiently as possible on that type of hardware. A long
time back I mentioned squeak under os8.1
did 859,845 + 40,106. but under linux 2.0.38 it
did 1,219,512 + 58,368.
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
More information about the Squeak-dev