[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 at gmail.com
Fri Aug 2 20:13:25 EDT 2013
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).
More information about the Pharo-dev