On Fri, Jul 19, 2002 at 09:53:32AM -0400, Stephen Pair wrote:
Would it also be possible to simply tell the system to compile everything? Thus, eliminating the need to do 'training' runs and achieve maximum performance?
No. By "simply compiling eveything" the compiler would have no chance to get enough information to do good optimizisations. Normal compilers do exactly that: They try to compile good code for *all* cases.
But a System like strongtalk is able to generate even better code for the cases that actually happen at runtime: e.g. it collects information about types ("Hey, that is a Point in 99% of all calls, so let's optimize the code for that case").
So statically compiling eveything ist no option. But you can of course ship squeak with a set of ImageSegments containing pre-trained code for all major architectures. (Or the system could load this via a Peer-To-Peer System across the net, such a thing would be usefull for patches and Modules, too).
Marcus