[erlang-questions] How small could an Erlang emulator be?
Mon Mar 12 14:11:31 CET 2007
Well before bignums and binaries etc. it was pretty small.
For a long time I struggled to keep the executable under 1.4 MB
so it would fit on one floppy.
Robert made an Erlang (the Vee) that had a reference counting GC
and it would run happily in 75KB of memory (excluding the space for
The JAM was designed with a compact byte code.
So if we threw out bignums and floats and designed a very compact object
code - (huffman) then it could be very small.
A fun student project (hint)
On 3/12/07, ok <> wrote:
> I spent last weekend reading the manual for Intel's IXP 1200 series
> Network processor.
> A seriously weird but interesting machine. It's said to be "low-
> cost", but heaven only knows what
> that means. I have spent the last 45 minutes searching the web for a
> price, to no avail.
> These are chips with
> - an ARM processor (32-bit sort-of-RISC, rather nice, really)
> - 6 "micro-engines", each of which is a 32-bit RISC-cum-
> microprogrammable core (as in, memory
> referencing is straightforward, but the gap between issuing a
> request and the thing happening is
> architecturally painfully visible), each having 4 hardware
> contexts for very fast thread switch, and
> - oodles of special-purpose stuff to interface to various buses and
> How could you make parallel programming EASY on one of these things?
> Simple: the same way you would make concurrency easy anywhere, use
> But could you? The microengines have a 2 k-instruction control store
> each (1 k-instruction in the
> oldest models; the current IXP2xxx generation have 8 x 8-thread, 4 k-
> instruction control stores).
> The current Erlang VM (BEAM) and its emulator are aimed at some mix
> of portability and speed.
> Programming something like a network processor in Erlang would
> require a very compact emulator,
> which might not be so efficient.
> Just out of idle curiosity, has anyone looked at the possibility of
> Erlang on a network processor?
> If you chucked out bignums and flonums, how small could an Erlang
> emulator be?
> erlang-questions mailing list
More information about the erlang-questions