[squeak-dev] About unloading of packages in the most recent Squeak 4.1 trunk

Levente Uzonyi leves at elte.hu
Mon Aug 23 22:04:12 UTC 2010


On Mon, 23 Aug 2010, Casey Ransberger wrote:

> Levente: totally. I mainly just wanted
>
> a) image can start on Cog w/o segfaulting
>
> b) doesn't need a long lengthy set of updates before being caught up with trunk
>
> The cleanup methods will be run before we ship anyway:)

That's ok, but these prebuilt images could be a bit smaller this way.


Levente

>
> On Aug 23, 2010, at 4:29 AM, Levente Uzonyi <leves at elte.hu> wrote:
>
>> On Mon, 23 Aug 2010, Hannes Hirzel wrote:
>>
>>> On 8/23/10, Tobias Pape <Das.Linux at gmx.de> wrote:
>>>>
>>>> Am 2010-08-23 um 11:14 schrieb Tobias Pape:
>>>>
>>>>> Hi,
>>>>>
>>>>> Am 2010-08-23 um 11:06 schrieb Hannes Hirzel:
>>>>>
>>>>>> and tried
>>>>>>  SmalltalkImage unloadAllKnownPackages
>>>>>
>>>>> Do
>>>>>    Smalltalk unloadAllKnownPackages
>>>>>
>>>>> instead, since Smalltalk is the sole instance
>>>>> of SmalltalkImage.
>>>
>>> Thank you for point this out.
>>>
>>> In fact Smalltalk is the global variable which references
>>>     SmalltalkImage current
>>>
>>> So I can do as well
>>>
>>>     SmalltalkImage current unloadAllKnownPackages
>>>
>>>
>>> Which I did
>>>
>>> Squeak4.2-10382-alpha.image went from 16998KB
>>
>> Hm, I think Casey forgot to do [Smalltalk cleanUp: false] before saving the image. Doing that saves 2.8MB.
>>
>>
>> Levente
>>
>>>
>>> down to
>>> 10277kB
>>> (file sizes measured on Windows machine)
>>>
>>>>> So Long,
>>>>>    -Tobias
>>>>>
>>>
>>>
>>>
>>>> Addendum:
>>>> It works.
>>>>    resulting file size: 10411140, about 10,4 MB.
>>>> Nice.
>>>>
>>>> Btw, this script probably needs updating, The Help
>>>> browser, eg, does not get unloaded (same for TrueType)
>>>
>>> Yes, I tried it for the HelpSystem
>>>
>>> I added three more entries to the literal array in the method
>>>
>>> "Go unloading"
>>>    #(    'ReleaseBuilder' 'ScriptLoader'
>>>        '311Deprecated' '39Deprecated'
>>>        'Universes' 'SMLoader' 'SMBase' 'Installer-Core'
>>>        'VersionNumberTests' 'VersionNumber'
>>>        'Services-Base' 'PreferenceBrowser' 'Nebraska'
>>>        'ToolBuilder-MVC' 'ST80'
>>>        'CollectionsTests' 'GraphicsTests' 'KernelTests'  'MorphicTests'
>>>        'MultilingualTests' 'NetworkTests' 'ToolsTests' 'TraitsTests'
>>>        'SystemChangeNotification-Tests' 'FlexibleVocabularies'
>>>        'EToys' 'Protocols' 'XML-Parser' 'Tests' 'SUnitGUI',
>>> 'HelpSystem-Core', 'HelpSystem-Tests', 'HelpSystem-Project'
>>>    ) do:[:pkgName| (MCPackage named: pkgName) unload].
>>>
>>>
>>> The image is now
>>> 10174kB (=100kB less10277kB).
>>>
>>> Probably not worth the effort at this time.
>>>
>>> Questions
>>> 1)  Which are the packages which are big and easy to unload.....?
>>> 2) Who does an attempt to unload the TrueType?
>>>
>>>
>>> --Hannes
>>>
>>>
>>
>
>



More information about the Squeak-dev mailing list