A collection of multicore benchmarks
Megaphone: 24-cores 64-bit (AMD Opteron 6174, 2.2 GHz per core)
Sources:
- Molecule: ThreadRing.scala
- Go: thread-ring.go
Sources:
- Molecule: ChameneosReduxWord.scala, ChameneosReduxCore.scala
- Go: thread-ring.go
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)
Sources:
- Molecule: PrimeSieve.scala
- Go: prime-sieve.go
The JVM benchmarks are located in the JVM
directory. They are run with sbt like this:
$ cd JVM
$ sbt run
- Select
benchmarks.Runner
All the .dat
files with the timings and the Gnuplot files will be generated in the reports
sub-directory.
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.