[erlang-questions] Erlang vs Clojure

Robin Bhattacharyya <>
Mon Nov 26 10:53:30 CET 2007


I would not expect high performance local concurrency out the the JVM
either, but this Clojure project seems to take what I think is a novel
approach to concurrency:

Actors are just references to immutable data structures which can be
mutated in a software transactional memory context.

Messages are just methods that run in the STM processed on a
conventional thread pool.

You could have 10s of millions of these cheap actors, and have one or
more threads per native core, and start grinding through the messages.

It looks like a simple and elegant way to achieve massive local
concurrency on a conventional JVM running on conventional hardware.

Combined with lisp's code as data, this project could lead to some
novel applications.

Robin


On Nov 26, 2007 1:43 AM, Charles Forsyth <> wrote:
> >The thought of running on the JVM makes me feel both sick and
> >bloated...but strangely I am warming up to the idea.
>
> >The ErlangVM enables distributed concurrency, Closure on the JVM is
> >optimizing for local concurrency.
>
> >Granted that I am not building fault tolerant telecom switches, but in
> >my case, massive local concurrency might be all that I need.  With
>
> if you expect to get high-performance concurrency from a JVM
> i expect you to be disappointed.  the Erlang implementation
> guarantees cheap processes everywhere it exists.  by contrast,
> you get whatever your particular JVM gives you, which might not
> be much, and it will vary from platform to platform.
> if it works for you, though ...
> i'd be particularly interested if you find JVMs that
> offer ``massive local concurrency''.
>



More information about the erlang-questions mailing list