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