Minimal images [was: Re: [ANN] Spaghetti Tracer (0.4)]

Dan Ingalls Dan at SqueakLand.org
Mon Nov 4 22:22:55 UTC 2002


"Andreas Raab" <Andreas.Raab at gmx.de>  wrote...

>Dan,
>
> > This is an interesting question.  I've been thinking about it
>> recently while contemplating the ST72 and ST76 kernels (which
>> are both under 100k of source).
>
>It's relatively simple to make a rough cut at 300-400k in Squeak "as a
>useful small system", e.g., without doing a lot of careful crafting and
>still be able to do about everything you can imagine. At this size you
>end up with basically the following stuff:
>a) Kernel (Object, Boolean, Behavior, Class etc)
>b) Processes (Process, Delay, ProcessorScheduler etc)
>c) Execution (CompiledMethod, Contexts, Exceptions)
>d) Magnitudes
>e) Collections (the basic ones; String, BA, Set, Dict, Array, OC etc)
>f) Streams (the basic internal ones)
>g) Files (directories, streams)
>h) Compiler

Certainly.  Back in August of 1997, I took a run at this and got an image that was 240k.  I can send it to anyone who is interested (it was called "tiny.image" and I think it is on the UIUC server).  It had pretty much the above classes (it could do fileIns), and also just enough graphics to present a scrolling window (Class Transcripter in current Squeak) in which you could type, execute and print expressions.  Here's an excerpt from the message and readme file that I sent out to the squeak list at that time...
-----------------
The end result of the headless shrink procedure is a Squeak image that is 246K in size, containing 110 classes and 1771 methods.  These include the core classes and methods for Numbers, Collections, Compiler and File System, so that you can still open files, execute simple fileIns and save or quit.



More information about the Squeak-dev mailing list