Squeak SmalltalkJoker Squeak Smalltalk : Image VM OS Application : prevnext Shrinking Image MVC Tools 3 0 1 2MB

I have modified shrinking process for image 3.0. I have prepared a patch 
which removes Morphic references from source codes.

The result is cca 1.2 MB large compact image with Squeak kernel and basic 
MVC tools. It has NO OBSOLETE CLASSES!!!

Resulting image includes full source codes and class orgranization so it 
is easy to use and it's prepared for next shrinking steps (abandonSources, 
zapOrganization...).

Installation: Open - MVC project - enter into it - open file list - fileIn 
file shrink.st You will have to press 'yes' several times and enter your 
initials. Wait a while (Squeak recompiles all classes)

Problems:

- This image doesn't contain hundreds of useful methods
- Some removed messages have still record in class organization
- This is quite old image, but we have well documented sequence of update 
  changes Maybe it's not the right starting point for making fully updated 
  small image 'cos the amount of updates is formidable. Though it's clear 
  we need very small reference image (maybe without Morphic) for making 
  production images.

Pavel

> Problems:
> - This image doesn't contain hundreds of useful methods

Yes, that is the price that we have to pay for shrinking. We can use the 
holdForShrink to preserve methods that we do not want to loose. I find the 
holdForShrink protocol very beautiful. (There is a differnt shrink script 
on the swiki which uses a method in SystemDictionary to enumerate the 
names of all messages that must not be deleted from the image, but the 
class-wise holdForShrink is much more convenient to maintain.)

> - Some removed messages have still record in class organization

Yes, the method SystemDictionary>>removeAllUnsentMessages removes the 
messages with Behavior>>removeSelectorSimply: a method that does not 
remove the method from the class organizer. Attached you find a change set 
that you should merge with your file  MajorShrink.cs It adds code to 
update the class organization after shrinking. This removes the names of 
all removed methods from the class organizers.

This update is also necessary when you want to do a condenseSource: Source 
condensation will fail when the class organizations are not fully in synch 
with the class descriptions.

With that change set I was able to do a Smalltalk condenseSources

Greetings, Boris

"Lic. Edgar J. De Cleene" <edgardec2001_at_yahoo.com.ar> wrote:
> I have to tell I having SqueakLightServer a while time available.
>
> That is 3.6 to MVC plus Comanche and HttpView plus remote Smalltalk
> comands from regular 3.7.

How big is that image?

I have a 1.7 MB 3.2 MVC-only image, and a 2.3 MB 3.4 MVC-only image. I'm 
currently using the 3.4 image with MaClientServer on my PDA, talking to my 
main development image (3.7 full Morphic).

I have a simple update to the code browser that lets me send updated 
methods to the PDA over MaClientServer, directly from the browser. I've 
been trying on and off to build a simple 4 MB Morphic 3.7 image, but so 
far I'm only down to 8.3 MB. There are still lots of obsolete classes in 
that image, and I'm chipping away at them.

Later, Jon

Jon: For MVC it's 2.6 Mb . For a Morphic 3.6 Mb, 3.6 clean downsizing 
demo, you have another long time work announced to this list. It's one 
Risk derivative game (TEG in Argentina) tested in Mac and Windows what 
could play 3 player (one in server image, two on clients machines), sealed 
as RTS app. (demo)

You can download it on our site 
http://ar.groups.yahoo.com/group/squeakRos/ what follows yahoo groups , so 
you must have yahoo account to subscribe and then any could download this 
and others projects.

Jon: For MVC it's 2.6 Mb . For a Morphic 3.6 Mb, 3.6 clean downsizing 
demo, you have another long time work announced to this list. It's one 
Risk derivative game (TEG in Argentina) tested in Mac and Windows what 
could play 3 player (one in server image, two on clients machines), sealed 
as RTS app. (demo)

You can download it on our site 
http://ar.groups.yahoo.com/group/squeakRos/ what follows yahoo groups , so 
you must have yahoo account to subscribe and then any could download this 
and others projects.