[Pharo-dev] Large images reasons [WAS] Re: [Pharo-users] Pharo 2.0 with Seaside + DBXTalk + GlorpDBX + Magritte 3 + TWBS is getting slower and slower

Eliot Miranda eliot.miranda at gmail.com
Fri Aug 2 20:13:25 EDT 2013


Hi Marcus,

On Thu, Aug 1, 2013 at 12:33 AM, Marcus Denker <marcus.denker at inria.fr> wrote:
>
> On Aug 1, 2013, at 8:56 AM, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
>
>> since years marcus is telling that MC storing ancestor information is doomed but we do not have something to really replace it.
>>
>
> This is yet another thing.
>
> Monticello keep all history data of all package in image, this is not a cache. When you delete it, your package loses
> it's history and you can not merge anymore.
>
> MCVersionInfo allInstances do: [ :each | each instVarNamed: 'ancestors' put: nil ].

When I looked at this I noticed that there was lots of duplicate
entries in the ancestry list.  I *think* this happens on merge.  I
think one ends up with each of the ancestries of the merged packages
after a merge, i.e. when merging near the head one effectively doubles
the ancestry.  I think Monticello should unique the ancestry, either
after a merge, or better still, before saving.  This I think will
shrink the space taken by ancestry significantly.

I have some code handy if you'd like, but its not a hard thing to do.

>
> We did that on Pharo2 release and it saved 8MB (nearly a third of the image).
>
>         Marcus



-- 
best,
Eliot




More information about the Pharo-dev mailing list