[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Erlang challenge
Steve Dekorte wrote:
> In one of the LL conference videos, the author of Erlang proposes a
> concurrency challenge - something along the lines of "see how many
> threads you language can deal with before it has problems". Has anyone
> compiled a list of results for this test using various languages? What
> was the bar set by Erlang?
Don't know about a list. There are some details of the test, showing a
comparison between Erlang and Java, with source code for both languages,
Another person who has done this test is Marc Feeley, author of Gambit-C, a
Scheme compiler which generates C code. Feeley described his test results
in a message on the Erlang mailing list, here:
He tested up to 900,000 threads on a P4 with 1GB RAM, with performance
similar to Erlang's. The implementation given in the above message uses
Gambit's make-thread function, which is part of a very efficient preemptive
threading implementation, built on top of first-class Scheme continuations.
Feeley has developed an Erlang to Scheme compiler, ETOS, available here:
Not to belabor a point or anything :), but Feeley's use of Scheme is along
the same lines I was talking about yesterday, in characterizing Scheme as a
language assembly language.
Feeley touches on this when discussing Gambit's continuation-based threading
implementation, in this message:
http://srfi.schemers.org/srfi-18/mail-archive/msg00024.html . He says
"Call/cc gives unequaled power and flexibility for compiling the control
constructs of other languages into Scheme, which I think is one of Scheme's
most important applications (I have already used Scheme to compile Erlang,
and am now using it to compile Java, and I know other users of Gambit have
done similar compilers)."
Not bad, for a scripting language...