[comp.windows.x] size of extention language vs power

gjc@mitech.com (07/21/90)

In article <5626@hplabsz.HPL.HP.COM>, mayer@hplabsz.HPL.HP.COM (Niels Mayer) writes:
> In article <C+M4_C2@xds13.ferranti.com> peter@ficc.ferranti.com (Peter da Silva) writes:
>>Xlisp is a fairly sizable chunk to start building into window programs. 
> 
> I don't see David Betz's xlisp as being that sizeable a chunk, given the
> amount of functionality it gives. The xlisp binary used by winterp is not
> that big:
> 
> -rwxr-xr-x   1 root     other     159744 Jun 20 19:49 /usr/local/bin/xlisp
> 
> (Especially when you compare it to the whopping size of X11/Xt/Motif)

Very true. But you can go a bit smaller with Scheme:

USER$DISK:[GJC.SIOD]SIOD.EXE;27    40

Thats 20480 bytes. Actually that is considerably smaller, 1/7'th the size
of your xlisp executable. 

Take small application, for example HEXCALC, and ask how much executable
code is in the application itself, vs how much is in some additional
support it uses, in this case some athena widgets, XAW and XMU.

Executable code in HEXCALC, compiled under VMS, listing of PSECT $CODE

HEXCALC      (       4591.)
VPANED       (       7020.)
BOX          (       2762.)
COMMAND      (       1875.)
FORM         (       2388.)
GRIP         (        127.)
SIMPLE       (        606.)
LABEL        (       3085.)
COMPAT       (        184.)
GRAYPIXMAP   (        509.)
STRTOJUST    (        192.)
STRTOWIDG    (        506.)
LOWER        (        192.)
----------------------------
$TOTAL       (      24052.)

The athena widgets and support take about 20Kbytes, which is a bit more
than the 16Kbytes taken by the Scheme library code in SIOD.
So adding a scheme interpreter to something like this would take it
from 24K to 40K, which is almost doubling in size, but not too bad.

However, adding over 100K bytes would take it from 24K to 120K,
and a factor of 6 might put some people off.

-gjc