[Seaside] i am dreaming of ...

goran at krampe.se goran at krampe.se
Thu Oct 20 13:21:09 UTC 2005


Hi!

Dave Mason <dmason at sarg.ryerson.ca> wrote:
> I had asked this on squeakdev, but got no reply.  As it's relevant to
> this conversation, I'll ask again here.
> 
> Does anybody besides me think it would be convenient to have a method to
> drop a cleaned-up image file from a development environment?
[SNIP]

This is what is commonly referred to as "image stripping" and their are
tons of various recipes floating around. It is tricky, but can be useful
- and if you are so inclined "fun" to experiment with. A lot of people
have prepared smallish images in various shapes and forms that can then
be used by others as a starting point on top of which you then load your
components.

This is a bottom-up "image building" process (instead of stripping) and
generally much easier to control over time. It is also the approach that
the current Squeak community is gradually working towards by breaking
things out of the image refactoring things so that it can also be
reinstalled back in, thus approaching this issue in a step by step
top-down fashion.

Spoon is an extreme way of instead breaking things out without yet
focusing on being able to immediately get it back in - the goal is to
reach a small nucleus and then from that start to build up again. Spoon
is already very, very small and for the future a lot of us hope we can
leverage Spoon for the regular Squeak distribution. Craig may disagree
with my description, btw. :)
 
> Does any such thing exist already?  This is not a trivial project

Yes, but to make things simpler you should probably pick one of the
smallish images and build your way up from there. The one Pavel has been
producing (another reply) is a bit on the small side if you aren't
experienced, it doesn't have networking for example. There are others
out there, you can begin surfing here:

	http://minnow.cc.gatech.edu/squeak/2182

This looks nice for example:
	http://bgaertner.gmxhome.de/Shrink36.html

> (because of dynamic typing and dynamic dispatch), but it's probably
> quite doable.  The next piece of research following this is to compile
> that image to native code, which would make it even easier to deploy on
> web server farms.

Compilation really does not have any affect on deployment AFAICT - the
simplest Squeak app consists of *two files only* - one statically
compiled VM executable with all plugins internal (no libraries
whatsoever, like the win32 VM is by default) and one image file which
the VM reads on startup. You don't need anything else.

Theoretically you could go one step further and embed the image inside
the VM (has been done) thus getting a single "executable" - but it
doesn't solve any "real world" problem.

Disregarding the deployment issue the main factor for looking at
compiling Smalltalk into native machine code is of course speed. The
Exupery project led by Bryce Kampjes is exactly that, but it does not
aim to "get rid" of the image, in fact it runs inside the image - but it
promises really good performance improvements.

KomHttpServer (which I maintain) has been discussed as a potential first
target of experimenting with Exupery to see if it can give us a real
world advantage over the regular VM.

> Thanks for any pointers or comments.
> 
> ../Dave

regards, Göran


More information about the Seaside mailing list