ECL



The density of modern instruction code is much less than in 1982.  Also, the
cons cells have gotten a lot larger.  Finally, the libraries for talking to
the operating system have gotten a lot larger.

We've almost reached the tipping point again, where an 'interpreter' would
make sense.  The 'interpreter' would run completely in a cache, where the
hardware would essentially 'compile it on the fly' into less compact, but
more easily executed instructions.  Such an interpreter would run faster,
because it would avoid much of the instruction fetch overhead.

Also, better coding of cons cells would make better use of the data caches.

The reason why this works is that fetching from non-cache is 1-2 orders of
magnitude more expensive than fetching from a cache.  You have plenty of
time to decode even relatively complex encoding of cons cells.

If you could somehow utilize modern 'GPU' (Graphics Processing Units) to aid
in the execution of code -- e.g., in garbage collection, array processing,
etc. -- you could speed things up by factors of 100x.  Even laptops costing
less than $1000 today have pretty powerful graphics capabilities, which now
process 32-bit IEEE floats.

At 06:07 AM 11/15/2011, Stavros Macrakis wrote:
>On Tue, Nov 15, 2011 at 07:32, Michel Talon <talon at lpthe.jussieu.fr> wrote:
>...The maxima image is of the order of 40 Megs...
>
>It is a mystery to me why Maxima takes so much memory (on Windows it's 16 MB, but that's still a lot).  After all, Macsyma in 1982 (which is 90% of what Maxima is today) ran in something like 150kW (36-bit).  One Cons cell took one word; assuming 8-byte Cons cells, and assuming proportional expansion of machine code (which seems excessive), that's the equivalent of 1.2 MB.
>
>Then again, MacLisp took something like 50kW and a GCL command line takes 5.6 MB -- don't know how much of that is extra Common Lisp functionality, how much is 'optional' components being preloaded (the compiler? documentation?), how much is less economical coding style (MacLisp was written in very tight assembler), and how much is simply larger default heap size.
>
>The good news is of course that by *current* standards, 16MB is tiny; the trivial game FreeCell takes 100MB (!).  I can buy 8GB RAM for $50, and it is 1000x faster than the Macsyma group's 2MB RAM that cost $100,000+.
>
>            -s