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.