On 6 January 2014 20:56, Colin Putney colin@wiresong.com wrote:
Hi folks,
What's the state of the art in shrinking these days?
I'm starting a new web project with Squeak, and I want to create a smallish base image that I can use to build up images for development and deployment. It doesn't have to be absolutely minimal, just unloading unnecessary code and cleaning up the registries, clearing caches etc would fine.
I tried "Smalltalk shrinkAndCleanDesktop", but it complains about obsolete behaviours still being present, so I guess there's some bit rot there.
Suggestions?
Tobias Pape's the person to most recently attempt to shrink the image: I'd start by seeing what he stubbed his toes against. Tobias found that MC packages don't unload in the correct way: they do call a class's #unload (but only because MCClassDefinitions call their class's #removeFromSystem), but only do so after the class's methods have all been unloaded. That means that often the machinery needed to unload the class has already been unloaded. It looks... a bit messy to get things to work properly, possibly involving faking SystemChangeNotifier notifications of method removals.
frank
Colin