260k is really nice for a small kernel!
On Tue, Aug 1, 2017 at 1:13 PM, Pavel Krivanek <pavel.kriva...@gmail.com> wrote: > > > 2017-08-01 12:57 GMT+02:00 philippe.b...@highoctane.be > <philippe.b...@gmail.com>: >> >> Massive. >> >> What is in the super small image? > > > It is not super small. Currently it has about 5.3MB but it can be probably > less if we will do some cleaning before the image saving. The size was not > the priority but we are getting there. > We already have an experimental reduced image with Hermes that is able to be > bootstrapped under 2 minutes. The minimal system based on the current > code-base that is able to be bootstrapped has about 260kB. > > -- Pavel > > >> >> Is Hermes going to be a generic binary content loader? >> >> Phil >> >> On Aug 1, 2017 12:36, "Stephane Ducasse" <stepharo.s...@gmail.com> wrote: >>> >>> Hi Pavel >>> >>> This is super excellent! IMPRESSIVE. An image without the compiler and >>> a reloadable compiler. >>> Super cool. >>> >>> Stef >>> >>> >>> On Tue, Aug 1, 2017 at 11:57 AM, Pavel Krivanek >>> <pavel.kriva...@gmail.com> wrote: >>> > Hello, >>> > >>> > we are checking a huge pull request #177 >>> > (https://github.com/pharo-project/pharo/pull/177) that will change some >>> > basics of the bootstrap process: >>> > >>> > Now we will bootstrap a smaller image that will not include >>> > compiler/parser. >>> > Compiler and related packages are exported and loaded using a binary >>> > exporter named Hermes. >>> > The compiler is then used to load FileSystem and Monticello. The rest >>> > of the >>> > bootstrap process will be the same as before. >>> > As the result we will have faster bootstrap and better system >>> > modularization >>> > and possibilities. >>> > >>> > It required some modularization efforts: >>> > >>> > - simplified initialization scripts >>> > - Use Zinc converters and encoders instead of FilePathEncoder and old >>> > TextConverter >>> > - Use Stdio instead of FileStream >>> > - Using File instead of FileSystem >>> > - Deprecated FileStream & childs (Moved to Deprecated70) >>> > - Extracted Path classes to their on package: FileSystem-Path >>> > - Moved OpalEncoders to their own package. They are required by the >>> > runtime >>> > (not only for compilation) >>> > - Introduced AsciiCharset in the kernel to answer to #isLetter >>> > #isUppercase >>> > and so on without requiring full Unicode tables from the beginning >>> > - Cleaning up a bit the full exception logging infrastructure (streams, >>> > transcript, files, stack printing...) >>> > - Split Ring methods required for system navigation to the >>> > Ring-Navigation >>> > package >>> > - Remove usages of #translated in the kernel >>> > - Refactored the bootstrapping classes to remove duplications >>> > - Cleaning up dependencies in CompiledMethod>>printOn: >>> > - fix path printing >>> > >>> > We need to merge these changes at once and of course it can cause some >>> > conflicts with the existing pull requests or external code. Anyway, we >>> > need >>> > to merge it as soon as possible. >>> > >>> > So please, try to look at the PR and test the resultant image [1] to >>> > avoid >>> > some major problems. >>> > >>> > [1] >>> > >>> > https://ci.inria.fr/pharo/view/7.0/job/70-PR-Check-Load/lastSuccessfulBuild/artifact/bootstrap-cache/Pharo7.0-32bit-9c0691d.zip >>> > >>> > Cheers, >>> > -- Pavel >>> > >>> >