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.<p>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.<p>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)<p>Other thoughts in bullet version:<p>- Pseudocode is iterative style, Erlang is a FP<p>- "variance was negligible" -> Error bars in Graphs would tell us that.<p>- 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<p>- I think the memory issue on the last page is the key why erlang performed so badly... "multiple invocations of the GC"<p>Of course regarding the memory footprint I have to agree this is clearly a disadvantage for Erlang compared to manually tuned memory management.<p>Comments? :)<p>References:<p>[1] High Performance Computing in Erlang, <a href="http://portal.acm.org/citation.cfm?id=1411273.1411281" rel="nofollow">http://portal.acm.org/citation.cfm?id=1411273.1411281</a><p>[2] Tworards Hards Realtime Erlang (HARTE) <a href="http://www.erlang.se/workshop/2007/proceedings/05nicosi.pdf" rel="nofollow">http://www.erlang.se/workshop/2007/proceedings/05nicosi.pdf</a>