What is the difference between creating images and taking images in Smalltalk?

I often read The Image Generation Process in Smalltalk. It seems that the process refers to creating an image from scratch, from within Smalltalk.

But there is also the Strip process, which seems to include removing objects to deploy the runtime.

What is the difference between the two? Is there a Smalltalk that supports imaging?

+6
source share
1 answer

Sophisticated image generation often refers to a process that starts with the default vanilla image that comes with the installation and loads all the code into it that is needed for a project. This is done periodically during development to ensure that all code is loaded and works on the default image without any problems.

Removal is a process that (sometimes) is performed before deployment, from an image containing all the necessary code for the project, some of the unused classes and methods are "removed" from the image. This is done in order to make the expanded image smaller or less dependent on external shared libraries or for security or licensing reasons. For example, removal can remove many of the user interface classes associated with the headless server. Or he can remove the compiler so that the user cannot change the code. In any case, stripping is not an exact science, since it is difficult to determine what can be removed and what cannot.

Thus, when generating images, you will get an image that is larger than the one you started with, and with sweeping you will get a smaller image.

+1
source

Source: https://habr.com/ru/post/945312/


All Articles