[Pharo-project] Power of Fuel - Pharo-Kernel to Pharo-Core in 15 seconds

Pavel Krivanek pavel.krivanek at gmail.com
Tue Apr 10 12:41:48 CEST 2012


I tried to load entire Pharo-Core content into Pharo-Kernel with help
of Fuel and I was successful. It was done in 4 steps:
- load and initialize all packages up to Gofer (gofer.fuel)
- load and initialize Ring (ring.fuel)
- load rest of the Paharo-Core packages (pharo-core.fuel)
- do the initialization of Morphic and the rest of the system.
All that takes about 15 seconds on my old laptop. Normally it takes
about 12 minutes.

Of course there are several issues we have to solve permanently:
- current Fuel cannot load several packages at once but it is very
easy to enhance it.
- Fuel has some problems with Traits (registerOnLoad, rebindOnLoad,
sometimes nil category)
- the packages must be clean because Fuel raises error when it uses
unknown global variable
- Fuel must have a way how to disable initialization of loaded classes
- some packages like Morphic have extension methods in categories
named "*Morphic-something". PackageInfo ignores it and expects that
this categories are extending categories of some different package.
- it doesn't store to Changes.

If anyone will want, I send him an archive with the images and ad-hoc fixes.

-- Pavel

More information about the Pharo-project mailing list