Squat progress report

Dan Ingalls Dan at SqueakLand.org
Wed Mar 5 06:00:33 UTC 2003


>	I've got a 600KB Flow-enabled snapshot; I think it could be 100KB,
>we'll see. I'm using the simulator/tracer, as well as good old-fashioned
>shrinking.

You go, guy...

>	I'm still waiting to hear from others who are working in this general
>area (ideas, results, anything really). There were Alejandro's recent
>messages, but also rumors about related work by Andreas and Dan.

Craig -

I don't know about the rumors.  The closest work I've done to this recently is the ugly but effective real-time tracer manifest in "ImageSegment discoverActiveClasses" and related methods.  This lets you run an entire system at full speed and then report what classes were actually used.  All others can be (in some sense) safely discarded if you only want to be able to do what you did during the benchmark.  It does this by nilling out the method dictionaries of almost all the classes (as the comment says, "gag me with a spoon" ;-), and then restoring any that cause faults.  When you're done, obviously, the ones that haven't been restored have not been touched, and can be thrown away.  If you throw out all these "inactive" classes, then removeUnsentMessages typically is able to get rid of lots more methods.

Now if you were asking about small images that have been made in the past, it's true that both Andreas and I have made small ones.  Mini.image, on the servers, is not much over 500k and includes a full development environment.  Since it can reconstruct and browse over 800k of source code by decompilation, we used to boast that it was like source code compression with a full-featured development environment thrown in for free.  The other  small image I built is called tiny.image.  I think it's on some server, but I've had trouble finding the VM that works with it.  Anyway, it was 136k, and it included just enough graphics and text to put up a transcript, and just enough other stuff (numbers, collections, strings, streams, files, compiler) so it could do a fileIn.  If this is still of interest, I can put it back on the front burner (I went mostly off-line shortly after this topic came up in the fall).

Ciao
	- Dan



More information about the Squeak-dev mailing list