Re: [Pharo-users] Ever growing image
On 3 Mar 2018, at 16:35, Benoit St-Jean via Pharo-users <pharo-users@lists.pharo.org> wrote:
From: Benoit St-Jean <bstjean@yahoo.com> Subject: Re: [Pharo-users] Ever growing image Date: 3 March 2018 at 16:35:19 CET To: pharo-users@lists.pharo.org, Hilaire <hilaire@drgeo.eu> Reply-To: Benoit St-Jean <bstjean@yahoo.com>
On a side note, being a long-time VW & VAST user, I've always felt the Image Stripper & Runtime Packager did a fairly good job at removing crap from the resulting image.
I don't recall ready anything substantial comparing the Pharo way (bootstrapping from a minimal image and adding stuff) to the VW & VAST way (removing unreferenced stuff) but this would definitely be an interesting topic to read about.
No idea if any âsubstantial" thing has been written (there are some phds around that may talk about), but main difference is very simple to explain: first approach (which was the same for Pharo before) is non-deterministic while the second is. Then, for purpose of repeatability of process (and testing, etc.) bootstrapping is better. You would not know the amount of effort made to make this possible, it required at least 2 phd works and a considerable amount of engineering effort. In our community, Pavel is the person that has the bigger experience on shrinking process images. I followed his work for years and I know the fragility of the process. Basically each new addition/removal was breaking it and needing dependency tracking, etc. Now is the opposite: you just add what you want, and you are sure the resulting image is a) healthy and b) identical when running. Esteban
----------------- Benoît St-Jean Yahoo! Messenger: bstjean Twitter: @BenLeChialeux Pinterest: benoitstjean Instagram: Chef_Benito IRC: lamneth Blogue: endormitoire.wordpress.com "A standpoint is an intellectual horizon of radius zero". (A. Einstein)
On Saturday, March 3, 2018, 9:22:06 AM EST, Hilaire <hilaire@drgeo.eu> wrote:
Le 02/03/2018 à 22:52, Marcus Denker a écrit :
we should again do some analysis where space is going⦠the Pharo7 download is now 38MB (the image, decompressed).
Situation improved :) Remember P3 was just above 20 MB
Estaban, I understand the difference between the 2 approaches my point was just to mention that I guess there are some advantages to shrink the image (as compared to bootstrapping from a minimal image) since all major vendors used that approach (and are still using it). It's just that I was curious to know if anyone knows any paper/document/study comparing the 2 approaches or explaining in detail both of them. I googled for a few hours but couldn't find anything... ----------------- Benoît St-Jean Yahoo! Messenger: bstjean Twitter: @BenLeChialeux Pinterest: benoitstjean Instagram: Chef_Benito IRC: lamneth Blogue: endormitoire.wordpress.com "A standpoint is an intellectual horizon of radius zero". (A. Einstein) On Sunday, March 4, 2018, 5:13:30 AM EST, Esteban Lorenzano <estebanlm@gmail.com> wrote: On 3 Mar 2018, at 16:35, Benoit St-Jean via Pharo-users <pharo-users@lists.pharo.org> wrote: From: Benoit St-Jean <bstjean@yahoo.com> Subject: Re: [Pharo-users] Ever growing image Date: 3 March 2018 at 16:35:19 CET To: pharo-users@lists.pharo.org, Hilaire <hilaire@drgeo.eu> Reply-To: Benoit St-Jean <bstjean@yahoo.com> On a side note, being a long-time VW & VAST user, I've always felt the Image Stripper & Runtime Packager did a fairly good job at removing crap from the resulting image. I don't recall ready anything substantial comparing the Pharo way (bootstrapping from a minimal image and adding stuff) to the VW & VAST way (removing unreferenced stuff) but this would definitely be an interesting topic to read about. No idea if any âsubstantial" thing has been written (there are some phds around that may talk about), but main difference is very simple to explain: first approach (which was the same for Pharo before) is non-deterministic while the second is. Then, for purpose of repeatability of process (and testing, etc.) bootstrapping is better. You would not know the amount of effort made to make this possible, it required at least 2 phd works and a considerable amount of engineering effort.In our community, Pavel is the person that has the bigger experience on shrinking process images. I followed his work for years and I know the fragility of the process. Basically each new addition/removal was breaking it and needing dependency tracking, etc. Now is the opposite: you just add what you want, and you are sure the resulting image is a) healthy and b) identical when running. Esteban ----------------- Benoît St-Jean Yahoo! Messenger: bstjean Twitter: @BenLeChialeux Pinterest: benoitstjean Instagram: Chef_Benito IRC: lamneth Blogue: endormitoire.wordpress.com "A standpoint is an intellectual horizon of radius zero". (A. Einstein) On Saturday, March 3, 2018, 9:22:06 AM EST, Hilaire <hilaire@drgeo.eu> wrote: Le 02/03/2018 à 22:52, Marcus Denker a écrit :
we should again do some analysis where space is going⦠the Pharo7 download is now 38MB (the image, decompressed).
Situation improved :) Remember P3 was just above 20 MB
Le 04/03/2018 à 11:13, Esteban Lorenzano a écrit :
In our community, Pavel is the person that has the bigger experience on shrinking process images. I followed his work for years and I know the fragility of the process. Basically each new addition/removal was breaking it and needing dependency tracking, etc. Now is the opposite: you just add what you want, and you are sure the resulting image is a) healthy and b) identical when running.
Indeed it is fragile. And given the latest image size, not sure it could lead to satisfactory results. -- Dr. Geo http://drgeo.eu
But the building process is working and we can incrementally create custom images. And this is what we will use in the future but we will not build the image that suits everybody needs. Stef On Sun, Mar 4, 2018 at 1:08 PM, Hilaire <hilaire@drgeo.eu> wrote:
Le 04/03/2018 à 11:13, Esteban Lorenzano a écrit :
In our community, Pavel is the person that has the bigger experience on shrinking process images. I followed his work for years and I know the fragility of the process. Basically each new addition/removal was breaking it and needing dependency tracking, etc. Now is the opposite: you just add what you want, and you are sure the resulting image is a) healthy and b) identical when running.
Indeed it is fragile. And given the latest image size, not sure it could lead to satisfactory results.
-- Dr. Geo http://drgeo.eu
On 4 March 2018 at 20:08, Hilaire <hilaire@drgeo.eu> wrote:
Le 04/03/2018 à 11:13, Esteban Lorenzano a écrit :
In our community, Pavel is the person that has the bigger experience on shrinking process images. I followed his work for years and I know the fragility of the process. Basically each new addition/removal was breaking it and needing dependency tracking, etc. Now is the opposite: you just add what you want, and you are sure the resulting image is a) healthy and b) identical when running.
Indeed it is fragile. And given the latest image size, not sure it could lead to satisfactory results.
I understood that to mean that getting a minimal image via automated stripping was more fragile than bootstrapping, and with bootstrapping we are now on a better path. And Pharo is transitioning a few tools. Nautilus-->Calypso and Morphic-->Bloc. Obviously old and new overlap for a time. So it should get better. cheers -ben
Yes and it will be a lot more than that. We have a better core. Then we will continue to make it smaller. It means that with a bunch of BaselineOf you should be able to create the Pharo that suits your needs. Now we will do it for people :). I think that copying the BaselineOf and removing some unless or not my focus package is something that people can afford. And if by accident something is not modular enough we always accept better modular code. So it will improve but again given a specific objectives people such hilaire should do it. Stef On Sun, Mar 4, 2018 at 4:12 PM, Ben Coman <btc@openinworld.com> wrote:
On 4 March 2018 at 20:08, Hilaire <hilaire@drgeo.eu> wrote:
Le 04/03/2018 à 11:13, Esteban Lorenzano a écrit :
In our community, Pavel is the person that has the bigger experience on shrinking process images. I followed his work for years and I know the fragility of the process. Basically each new addition/removal was breaking it and needing dependency tracking, etc. Now is the opposite: you just add what you want, and you are sure the resulting image is a) healthy and b) identical when running.
Indeed it is fragile. And given the latest image size, not sure it could lead to satisfactory results.
I understood that to mean that getting a minimal image via automated stripping was more fragile than bootstrapping, and with bootstrapping we are now on a better path. And Pharo is transitioning a few tools. Nautilus-->Calypso and Morphic-->Bloc. Obviously old and new overlap for a time. So it should get better.
cheers -ben
participants (5)
-
Ben Coman -
Benoit St-Jean -
Esteban Lorenzano -
Hilaire -
Stephane Ducasse