2015-02-26 7:58 GMT+01:00 Marcus Denker <marcus.den...@inria.fr>:

>
> > On 25 Feb 2015, at 23:28, Thierry Goubier <thierry.goub...@gmail.com>
> wrote:
> >
> > Hi,
> >
> > I made a very simple experiment, with a MCLazyVersionInfo, which holds
> its ancestors and stepChildren in WeakArray(s), and loads it from
> repositories on demand.
> >
> > Installing it on Pharo 40511, and then flushing the Monticello package
> cache, reduces the image by around 5 MB:
> >
>
> Nice!
>
>         Marcus
>
>
And it behaves as the non-lazy one.

There are a few things to change GUI-side to avoid an unnecessary loading
of the complete ancestry of all the packages in the image, but this is
workable.

I see two ways of using it:

as an "install, flush package cache before release and gain 5MB of RAM". If
you start regularly developping (loading packages, etc...) then new
packages will revert to non-lazy version info (without: 'please wait, I'm
loading ancestry' moments).

as a permanent change in MC. The change is a bit more intrusive (need to
change how working copies are created) but, well, as long as the worked on
packages are inside the in-memory MC package cache, behavior is exactly the
same as a non-lazy version info.

As you prefer.

I added an issue:

https://pharo.fogbugz.com/default.asp?14997

Thierry

Reply via email to