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

> On 25 Feb 2015, at 23:28, Thierry Goubier <thierry.goubier@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