ECL



Raymond Toy wrote:
>>
>> Stavros, Ray:
>>
>> I'm uncertain what my goals might be because I don't yet know enough about
>> the subject. I was only asking what the possibilities were.
>>
>> I experiment with different things on my computer to see what I can do and
>> this looked interesting because my experience with lisp core images (not
>> much experience though) has been that they tend to be very large. I would
>> be much happier with common lisp written applications if I could get past
>> the very large core images required for executables.
>>
>
> I don't think the executables are really any smaller than the lisp images.
> And by modern standards, a lisp image isn't so large anymore.
>
>

Maybe what is in his mind is the desire for a special purpose lisp which is
just competent enough for running a CAS, but doesn't care about other
functions. This could allow to have a smaller executable at the end, and
perhaps faster, i don't know. I think this is the way reduce works, it is
based on a smaller lisp, and moreover using traditional syntax i think, not
the (((lispish))) one. Anyways, if he is looking for that, maxima is not the
appropriate place. The maxima image is of the order of 40 Megs while
maple for example takes something like 1 Meg in the command line version.
niobe% ps ux
USER     PID %CPU %MEM   VSZ   RSS  TT  STAT STARTED      TIME COMMAND

michel 49509  0,0  0,1  3548  1904   1  I+   10:29     0:00,01 ./cmaple
michel 49510  0,0  0,2  5732  3888   1  I+   10:29     0:00,03 ./mserver
-kpipe 4


The reduce binary here is only 9.6 Megs, but it links shared libraries,
in particular X11 libraries, so that reduce starts here with a larger 24 Megs
consumption
USER     PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
michel 21506   0,1  0,6  2610156  23848 s001  S+   10:41     0:02.57 ./reduce


Now maxima starts in fact with a lower memory consumption, since not all pages
of maxima.core are mapped to memory, here only 9.2 Megs
USER     PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
michel 21800   0,0  0,2  2207164   9232 s001  S+    1:26     0:00.03 sbcl
--core /usr/local/lib/maxima/5.25

So at the end of the day, one may not care too much about the size of
maxima.core. As soon as you do a big computations, the memory consumption
explodes anyway, whatever program you are using.


-- 
Michel Talon