How big is the measured performance difference?

Each chart bar shows how many times more Time or how many times more Memory one unidentified ↓ n-body program used, compared to the benchmark program that used least Time or the program that used least Memory.

 n-body benchmark N=50,000,000

This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ≈ CPU Load.

Compare how much Memory the n-body programs used - sort Memory KB. Compare how much Code the benchmark programs used - sort Code B

Column × shows how many times more each program used compared to the benchmark program that used least.

    sort sort sort sort
  ×   Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
1.0ATS #2 21.9721.985161920  0% 0% 0% 100%
1.0Scala 22.6022.6018,2681420  0% 0% 0% 100%
1.0Java 6 steady state #2 22.7722.7715,3201498  0% 0% 100% 0%
1.0Java 6 -server #2 22.9322.9415,4481424  0% 0% 0% 100%
1.0C++ GNU g++ #4 22.9822.999361428  0% 100% 0% 0%
1.0GNU gcc #5 23.0623.064761429  0% 100% 0% 0%
1.1Ada 2005 GNAT #2 24.3124.311,5201723  0% 0% 100% 0%
1.1Ada 2005 GNAT 25.1425.151,5161608  0% 0% 0% 100%
1.1GNU gcc 25.2625.264801173  0% 0% 100% 0%
1.2GNU gcc #2 26.0026.014801263  0% 100% 0% 0%
1.4Haskell GHC 30.7930.802,0641687  0% 100% 0% 0%
1.5OCaml 32.3032.317961239  0% 0% 0% 100%
1.5Go 6g 8g 32.6932.697721310  0% 0% 0% 100%
1.6Pascal Free Pascal 34.9534.952001308  0% 0% 0% 100%
1.7C# Mono #2 37.3937.405,7321410  0% 0% 100% 0%
1.9F# Mono 41.6541.118,4441373  0% 34% 65% 1%
2.1C# Mono 46.8246.835,7281403  0% 0% 100% 0%
2.8Scheme PLT #2 60.9260.9216,5521692  0% 0% 100% 0%
8.0Scheme PLT 175.73175.7315,1681558  0% 0% 0% 100%
12Java 6 -Xint #2 254.63254.7012,7081424  100% 0% 0% 0%

 n-body benchmark : Double-precision N-body simulation

ndiff -abserr 1.0e-8 program output N = 1000 with this output file to check your program is correct before contributing.

Each program should model the orbits of Jovian planets, using the same simple symplectic-integrator - see the Java program.

For background information see N-body problem. Useful symplectic integrators are freely available, for example the HNBody Symplectic Integration Package.

Thanks to Mark C. Lewis for this benchmark.

Revised BSD license

  Home   Flawed   Fastest   License   Help