Re: delivery - how small?
On 01 Jun 2004, at 18:20, tarvydas wrote:
> How small is the smallest delivery? Under LWW, the code below results
> in an
> executable of about 4M.
>
> Are there any tricks that I'm missing to squeeze the size down?
>
> Something similar, under Microsoft C (linked with static libs, not
> DLL's)
> results in a 400K executable (and this fact is repeatedly pointed out
> to me
> by my c-weenie colleagues).
>
> I don't have an "intuition" as to what makes up the 4M of delivered
> lisp
> executable - if anyone can elaborate, I'd be interested to know.
On my system (LWM, PowerBook, Mac OS X) delivering the Othello example
results in a 7MB executable which compresses to a 1.4MB othello.tar.bz2
for distribution - I think this is excellent. Standard applications on
my system like the Safari browser (14 MB), the Mail client (4MB), the
QuickTime Player (11 MB), the RealOne Player (14Mb), to name a few, are
in the same order of magnitude concerning application size. Memory
consumption is comparable as well (order of magnitude-wise).
Granted, a native Cocoa tool can be as small as a few hundred KB,
starts instantly and consumes a small amount of memory.
You have to think of a delivered LW app as a Java application that
ships with its own (somewhat stripped) Java runtime.
Compared to Java, LW apps use less memory and start up faster.
It would be possible to have some generic LW shell installed on your
system and ship LW apps as compiled FASL files that are loaded and
executed into that shell. Those compiled files would be much smaller
than a complete delivered LW app. Running multiple of those apps would
be more efficient.
Ultimately, it all depends on what you are trying to build and for what
audience.
Sven