[erlang-questions] Erlang vs Clojure
Wed Nov 28 03:23:48 CET 2007
A small point about JVM concurrency performance.
I had the pleasure of talking to James Gosling one to one, for a
couple of hours, about three years ago, in Bangalore.
He was presenting a talk about his current and on-going work on Java.
He said he spent much of his time on strategic Java projects.
He very excited about a research JVM which was being built and tested
for use in hard realtime, the project he talked about as specifically
for process control in a power plant.
Anyway, in his initial presentation (after which we chatted) he
showed stats from the research JVM that indicated good support for
many thousands of threads (I accept, still well behind the Erlang VM,
but I'd need more detail to judge how far behind) with interrupt
response times with a jitter of less than 4 micro-seconds (I am sure
this was at least response to timer events, and may have been to
other interrupt sources).
I am certain I asked about garbage collection, and he said that the 4
micro-seconds was not an overall average, but was 'realtime', and it
included garbage collection.
I don't recall many more details other than the company involved in
the process control project (who I feel I should not disclose as he
was tired, jet lagged, home sick for his kids, and maybe a little
Anyway, I don't assume that the normally resource-expensive JVM
approach to threads is the only practical solution. There is likely
significant investment in fixing some of those Java problems.
PS - I apologise that I haven't followed it up. I remember at the
time feeling I should not expect to see anything for a year or more.
I may try digging some time next week (when I return from my lovely
Thai holiday, the weather is beautiful here, much warmer than
Stockholm EUC, and booze and food are cheaper too :-)
> Date: Mon, 26 Nov 2007 09:43:18 +0000
> From: Charles Forsyth <>
> Subject: Re: [erlang-questions] Erlang vs Clojure
>> 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