Don't forget there is no requirement to shrink an image along package boundaries. Did you try, for example, removing TestCase and all subclasses? That would cut across package boundaries but so what?
You can't unload Morphic but I'll bet you could dump a whole host of Morph subclasses. PaintBoxMorph, BouncingAtomsMorph, SoundRecorder, WaveEditor, PianoKeyboard, ScorePlayer, Storyboard, EventRecorder, Kedama and subclasses, etc., etc. etc.
I think "running with a modified system" is one of Smalltalk's greatest and least appreciated strengths.
On Tue, Jan 7, 2014 at 7:27 AM, Colin Putney colin@wiresong.com wrote:
On Mon, Jan 6, 2014 at 9:15 PM, Eliot Miranda eliot.miranda@gmail.com wrote:
So it looks like the shrink works. It doesn't do much, though. My image goes from 20.9MB, down to 20.3MB.
and (just to check) you've already done Smalltalk unloadReloadablePackages? I managed to get down to a 12 Mb minimal trunk but I had to hack fix a lot of MNUs. Basically we have work to do to make those packages really unload.
Yup, #unloadReloadablePackages is part of #shrink. I was able to get down to about 19MB with no problems by unloading test packages. When I moved on to unloading production code that I don't need, I started getting MNUs too. I'll keep hacking at it until I see diminishing returns.
Thanks!
Colin