[squeak-dev] ditching Monticello objects.

Ken G. Brown kbrown at mac.com
Fri Feb 13 04:55:49 UTC 2009


Also from Ramon Leon:
Squeak Smalltalk Image Maintenance
<http://onsmalltalk.com/squeak-smalltalk-image-maintenance>

Ken G. Brown


At 4:01 AM -0800 2/12/09, squeak-dev-request at lists.squeakfoundation.org apparently wrote:
>Date: Wed, 11 Feb 2009 21:13:50 -0800
>From: John M McIntosh <johnmci at smalltalkconsulting.com>
>Subject: Re: [squeak-dev] ditching Monticello objects.
>To: Keith Hodges <keith_hodges at yahoo.co.uk>
>Cc: The general-purpose Squeak developers list
>	<squeak-dev at lists.squeakfoundation.org>
>Message-ID:
>	<B07FF75B-07C4-4C3F-ABB9-E6397B70AC73 at smalltalkconsulting.com>
>Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
>
>Ok, well I did
>
>I've been collecting lists of pruning methods so..
>
>	ScrollBar initializeImagesCache.
>	GradientFillStyle initPixelRampCache.
>	NaturalLanguageFormTranslator classPool at: #CachedTranslations put: 
>nil.
>	NaturalLanguageTranslator resetCaches.
>	PartsBin clearThumbnailCache.
>	PaintBoxMorph classPool	at: #ColorChart put: nil.
>	PaintBoxMorph classPool at: #Prototype put: nil.
>	ImageMorph classPool at: #DefaultForm put: (Form extent: 1 at 1 depth: 1).
>	Utilities classPool at: #ScrapsBook put: nil.
>	Project allInstancesDo: [ :each | each setThumbnail: nil ].
>	ScriptingSystem stripGraphicsForExternalRelease.
>	ProjectHistory currentHistory initialize.
>	Utilities zapUpdateDownloader.
>	Smalltalk forgetDoIts.
>	Behavior flushObsoleteSubclasses.
>	CommandHistory allInstancesDo: #initialize.
>	ChangeSorter removeChangeSetsNamedSuchThat: [ :each | true ].
>	ChangeSet resetCurrentToNewUnnamedChangeSet.
>	MethodChangeRecord allInstancesDo: [ :x | x noteNewMethod: nil ].
>	RequiredSelectors initialize.
>	ProvidedSelectors initialize.
>	LocalSends initialize.
>	SendCaches initializeAllInstances.
>	Utilities cleanseOtherworldlySteppers.
>	Smalltalk organization removeEmptyCategories.
>	Browser initialize.
>	SMSqueakMap default purge.
>	SystemBrowser removeObsolete.
>	TheWorldMenu removeObsolete.
>	AppRegistry removeObsolete.
>	FileServices removeObsolete.
>	MCFileBasedRepository flushAllCaches.
>	MCDefinition clearInstances.
>	Undeclared removeUnreferencedKeys.
>	Smalltalk flushClassNameCache.
>	3 timesRepeat: [ Smalltalk garbageCollect. Symbol compactSymbolTable ].
>	Set rehashAllSets.
>	Smalltalk garbageCollect.
>
>
>
>I added these ones.
>
>	ChangeSorter initializeChangeSetCategories.
>	MCWorkingCopy inspect.
>	MCRepositoryGroup inspect.
>	MCCacheRepository inspect.
>
>and cleaned up the class instance variables & any class vars via the 
>inspect.
>
>That removed all the MC packages and MC http repositories from the MC 
>Browser
>
>gave me back 4 megabytes of image space.
>
>Well brute force, still 4 mb wonderful to get back this late in the 
>project.
>
>
>On 11-Feb-09, at 6:18 PM, Keith Hodges wrote:
>
>> John M McIntosh wrote:
>>> I'm building an image for a limited memory hardware platform.
>>>
>>> At the point here where I want to *deploy* things and I can see that
>>> various parts of Monticello
>>> are consuming well over a megabyte of memory to retain MCVersionInfo
>>> instances, MCMethodDefinition(s), time stamps, uuids, etc etc
>>>
>>> I'm wondering if anyone has some code to strip all that out thus
>>> returning I suspect a couple of MB back for more constructive usage?
>> You may want to look into the cleanUp/freeSomeSpace conventions. MC1.5
>> has a few implemented. There are many more available from
>> http://bugs.squeak.org/view.php?id=7244
>>
>> Keith
>
>--
>=
>=
>=
>========================================================================
>John M. McIntosh <johnmci at smalltalkconsulting.com>
>Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
>=
>=
>=
>========================================================================




More information about the Squeak-dev mailing list