Shared heap in R9C-0 ?

Kostis Sagonas <>
Mon Sep 8 18:40:29 CEST 2003

Zoltan Toth wrote:
 > A question mainly to Erlang developers:
 > In the source README file for R9B the --enable-shared-heap
 > configure option was explicitely mentioned.
 > In R9C-0 it is not mentioned, but it still works. So when starting
 > the erlang machine built like this, it prints
 > Erlang (BEAM) emulator version 5.3 [source] [hipe] [shared heap] [threads:0]
 >                                                    ^^^^^^^^^^^^^
 > According to some measurements I made, it really provides some speedup.
 > So my question is: Why is it not mentioned in the configure help or
 > the README file ?

Somebody from the Erlang/OTP team can provide some more definite
answer, but my educated guess as somebody who is involved in the
development of the shared heap system is that the reason why it is not
mentioned in the README file is that the shared heap has been promoted
from an optional to a by default available component of the R9C

In R9C, the shared heap system is built by default and the configure
option is thus not needed.  You can actually start erlang as:

       erl -shared

and you automatically get, what you previously got by configure --enable-shared-heap.

 > Is it planned to be removed ?

>From the above, I suspect the answer is NO.

 > Is it not considered stable ?

I am not sure what to say on this one... let me try the following:

  We (i.e. the HiPE team that has developed the shared heap) are not
  aware of any bugs. There might be bugs and performance anomalies in
  it, but unless Erlang programmers start using this and report their
  experiences to us, we will never find out. All I can say at this
  point is that we are committed to support this runtime system
  architecture and we welcome any feedback or user experiences.

One last comment concerning:
 > According to some measurements I made, it really provides some speedup.

This is true. In fact, (at least in theory) the shared heap can give
"arbitrary" speedups in concurrent programs that communicate through
large messages. However, beware that the garbage collector is
currently not tuned for the shared heap, so in practice they can be
slow-downs too. We are working on improving this.

In the meantime, I repeat that we really, really welcome user feedback
and programs that show speedups and slow-downs so that we can improve
this shared heap runtime system architecture further.

Kostis Sagonas

for the HiPE team -- see

More information about the erlang-questions mailing list