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

Stéphane Ducasse stephane.ducasse at inria.fr
Sat Aug 3 04:42:56 EDT 2013


On Aug 3, 2013, at 2:13 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> 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.

Can you send it so that we have a look?

Tx

> 
>> 
>> 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