x64 Ubuntu : Intel® Q6600® quad-core |
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.
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.0 | ATS #2 | 21.97 | 21.98 | 516 | 1920 | 0% 0% 0% 100% |
| 1.0 | Scala | 22.60 | 22.60 | 18,268 | 1420 | 0% 0% 0% 100% |
| 1.0 | Java 6 steady state #2 | 22.77 | 22.77 | 15,320 | 1498 | 0% 0% 100% 0% |
| 1.0 | Java 6 -server #2 | 22.93 | 22.94 | 15,448 | 1424 | 0% 0% 0% 100% |
| 1.0 | C++ GNU g++ #4 | 22.98 | 22.99 | 936 | 1428 | 0% 100% 0% 0% |
| 1.0 | C GNU gcc #5 | 23.06 | 23.06 | 476 | 1429 | 0% 100% 0% 0% |
| 1.1 | Ada 2005 GNAT #2 | 24.31 | 24.31 | 1,520 | 1723 | 0% 0% 100% 0% |
| 1.1 | Ada 2005 GNAT | 25.14 | 25.15 | 1,516 | 1608 | 0% 0% 0% 100% |
| 1.1 | C GNU gcc | 25.26 | 25.26 | 480 | 1173 | 0% 0% 100% 0% |
| 1.2 | C GNU gcc #2 | 26.00 | 26.01 | 480 | 1263 | 0% 100% 0% 0% |
| 1.4 | Haskell GHC | 30.79 | 30.80 | 2,064 | 1687 | 0% 100% 0% 0% |
| 1.5 | OCaml | 32.30 | 32.31 | 796 | 1239 | 0% 0% 0% 100% |
| 1.5 | Go 6g 8g | 32.69 | 32.69 | 772 | 1310 | 0% 0% 0% 100% |
| 1.6 | Pascal Free Pascal | 34.95 | 34.95 | 200 | 1308 | 0% 0% 0% 100% |
| 1.7 | C# Mono #2 | 37.39 | 37.40 | 5,732 | 1410 | 0% 0% 100% 0% |
| 1.9 | F# Mono | 41.65 | 41.11 | 8,444 | 1373 | 0% 34% 65% 1% |
| 2.1 | C# Mono | 46.82 | 46.83 | 5,728 | 1403 | 0% 0% 100% 0% |
| 2.8 | Scheme PLT #2 | 60.92 | 60.92 | 16,552 | 1692 | 0% 0% 100% 0% |
| 8.0 | Scheme PLT | 175.73 | 175.73 | 15,168 | 1558 | 0% 0% 0% 100% |
| 12 | Java 6 -Xint #2 | 254.63 | 254.70 | 12,708 | 1424 | 100% 0% 0% 0% |
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.