sbocq / multicore-benchmarks

A collection of multicore benchmarks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

multicore-benchmarks

A collection of multicore benchmarks

Runtimes/Languages/Libraries

Latest Results

Megaphone: 24-cores 64-bit (AMD Opteron 6174, 2.2 GHz per core)

Thread-Ring

Ref: Halen, J., Karlsson, R., and Nilsson, M. - Performance measurements of threads in Java and processes in Erlang.

thread-ring%throughput.plt

Sources:

Chameneos-Redux

Ref: Kaiser, C., and Pradat-Peyre, J. - Chameneos, a concurrency game for Java, Ada and others. - Int. Conf. ACS/IEEE AICCSA (2003).

chameneos-redux%throughput.plt

Sources:

Prime-Sieve (N=150000)

Ref: [Kahn, G., and Macqueen, D. - Coroutines and Networks of Parallel Processes. - In Information Processing ’77: Proceedings of the IFIP Congress. North-Holland, 1977, pp. 993–998.](Coroutines and Networks of Parallel Processes)

prime-sieve%throughput.plt

Sources:

Running The Benchmarks

JVM

The JVM benchmarks are located in the JVM directory. They are run with sbt like this:

  1. $ cd JVM
  2. $ sbt run
  3. Select benchmarks.Runner

All the .dat files with the timings and the Gnuplot files will be generated in the reports sub-directory.

Google Go

The Google Go benchmarks are located in the Go directory. They are run using the ./runAll.sh script that will generate .dat files with the timings in the same directory. Unfortunately, contrariliy to the JVM benchmarks, other columns like the throughput must be post-processed using a spreadsheet program like Gnumeric.

About

A collection of multicore benchmarks


Languages

Language:Scala 62.0%Language:Go 34.5%Language:Shell 3.5%