Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between image generation and image stripping in Smalltalk?

Tags:

smalltalk

I read often of an "Image Generation" process in Smalltalk. The process seems to refer creating an image from scratch, from inside a Smalltalk.

But there is also a "Strip" process, which seems to involve removing objects to deploy a runtime.

What is the difference between both? There is any Smalltalk which supports image generation?

like image 797
user869097 Avatar asked May 18 '13 04:05

user869097


1 Answers

Term image generation often refers to process which starts from default vanilla image as shipped with installation, and loading of all code into it that is necessary for some project. This is done periodically during development to ensure that all code actually loads and works in the default image without problems.

Stripping is process that is (sometimes) done before deployment, from the image that contains all necessary code for the project, some of unused classes and methods are "stripped out" from the image. This is done to make deployed image smaller, or less dependent of external shared libraries, or for security reasons, or licensing reasons. For instance stripping might remove many classes related to the UI for the headless server. Or it might remove compiler to prevent user to change the code. In any case stripping is not exact science, since it is difficult to determine what can be removed and what not.

So with image generation you end up with the image that is larger than the one you have started with, and with stripping you end up with smaller image.

like image 112
Davorin Ruševljan Avatar answered Oct 10 '22 06:10

Davorin Ruševljan