Computer Language Shootout - concurrency

Matthias Lang matthias@REDACTED
Tue Dec 6 11:20:49 CET 2005

Peter-Henry Mander writes:

 > persuade the benchmark designers to add better and wider-ranging
 > concurrency tests, since concurrency is becomming a hot topic these
 > days with multicore and cell processors.

Is this a finger-burning recipe? Or, can I make Erlang look bad?

Example: a one-dimensional parallel sort on a 4-CPU shared-memory
machine. You break the data into four pieces and have each core sort
one piece@REDACTED If you did that in C, you'd expect a speedup of about* 4x
over a single CPU, for many useful datasets. If you did it in Erlang,
you'll get a huge slowdown. The overhead of sending the data around
between 4 nodes+ will overwhelm the concurrency win.

Maybe concurrency benchmarks are pointless. The choice of concurrency
granularity has more effect on the outcome than anything else.


Footnotes for the pedantic:

 @ I am aware that there are other parallel sorting algorithms.

 * This test can be subverted by choosing the data/hardware such 
   that it's limited by memory bandwidth. And in other ways.

 + A future, multithreaded VM might have better characteristics. Then
   again, the improvement might still not be enough.

More information about the erlang-questions mailing list