

Experience Report: Erlang in Acoustic Ray Tracing [pdf] - simonb
http://homepage.cs.uri.edu/faculty/hamel/pubs/icfp08.pdf

======
Bjoern
I find this paper on the first view a bit weird. Please let me explain why.
First of all Erlang has for instance here [1] proven to be viable for HPC.
Erlang is useful mostly for high scalability problems e.g. Clusters etc.

The authors claim that their pthread implementation scales better than Erlang.
This is most confusing as I suspect them to have made design errors in their
Erlang system. They wrote they "ported" it. Erlang is a SSA based FP lanugage
specifically designed for soft real-timeness and scaling out of the box. There
are even works currently to get it running under hard realtime constraints
[2]. While this is not exactly targeting high performance it is still
important to point that out. If performance is so crucial a fortran based
implementation might be better probably.

Thirdly, I suspect that the portation of their system doesn't take care of
language pitfalls like proper tail recursion etc. which would explain the
problem in scaling. (See page 1 section 3)

Other thoughts in bullet version:

\- Pseudocode is iterative style, Erlang is a FP

\- "variance was negligible" -> Error bars in Graphs would tell us that.

\- Point 6.1 actually gives me the impression that a implementation in C++
would be preferrable compared to Erlang due to the emphasis on performance

\- I think the memory issue on the last page is the key why erlang performed
so badly... "multiple invocations of the GC"

Of course regarding the memory footprint I have to agree this is clearly a
disadvantage for Erlang compared to manually tuned memory management.

Comments? :)

References:

[1] High Performance Computing in Erlang,
<http://portal.acm.org/citation.cfm?id=1411273.1411281>

[2] Tworards Hards Realtime Erlang (HARTE)
<http://www.erlang.se/workshop/2007/proceedings/05nicosi.pdf>

