Chris,  didn't you do something about this in Squeak?  It would be nice to keep 
consistent if possible...

Eliot (phone)

On Feb 20, 2015, at 6:41 AM, Marcus Denker <[email protected]> wrote:

> Hi,
> 
> The current Pharo4 contains *a lot* of MCVersionInfo instances.
> 
> MCVersionInfo allInstances size
> 
> 11095
> 
> The hold on to strings, Date, UUID… a lot of stuff. All in all, this is 
> around 10% of the current
> image.
> 
> If you do
> 
> MCVersionInfo allInstances do: [ :each | each instVarNamed: 'ancestors' put: 
> nil ].
> 
> you image is a couple of MB smaller.
> 
> In the past, when this information started to be >8MB, we did that. With the 
> bad effect
> that we can not merge anymore across this boundary: we kill the past.
> 
> Now this information is of course continained in the last MCZ file, too (all 
> of them contain
> the complete history…)
> 
> So would the following work?
> 
> -> we set the “ancestors” of MCVersionInfo to #reload
> -> the accessor, when it sees #reload, takes the name, deduces from that the 
> package,
>     and goes to the repo to load the ancestry info from the MCZFile.
> 
> This means that e.g when saving a MCZFile, it would first re-create history 
> info and then save
> it completely (like now), yet someone who just uses the system would never 
> need to have this
> info in the image.
> 
>    Marcus

Reply via email to