The Computer Language
25.03 Benchmarks Game

n-body sorted-by "secs"

Always look at the source code.

(Lumpers and Splitters.)

Some of these programs are single-thread and some are multi-thread: compare "secs" and "cpu secs". Some of these programs are un-optimised and some are heavily optimised: sort-by "gz" source code size.

Some of these programs are "naked ffi" and some put that in a library. Some of these programs are high-level and some are hand-written vector instructions.

Always look at the source code.

  * possible hand-written vector instructions or "unsafe"
 
× source secs mem gz cpu secs
1.0 * C gcc #9 2.10 2,482 1639 2.10
1.0 * C++g++ #0 2.15 2,417 1933 2.15
1.0 * Rust #9 2.19 3,023 1881 2.19
1.5 * C# naot #9 3.13 6,087 2480 3.12
1.5 * Rust #7 3.24 2,937 1759 3.23
1.6 Intel Fortran #5 3.39 2,146 1669 3.38
1.6 Rust #3 3.46 2,937 1774 3.46
1.7 Chapel #3 3.61 9,953 983 3.58
1.7 Rust #2 3.65 3,031 1809 3.65
1.8 * C# naot #4 3.70 6,078 2137 3.69
1.8 Julia #5 3.80 345,874 1129 3.83
1.9 * C gcc #4 4.06 2,499 1398 4.06
1.9 * C++ g++ #7 4.09 5,124 1815 4.09
2.1 Rust #6 4.37 3,031 1796 4.37
2.1 Intel Fortran #2 4.46 2,146 1507 4.46
2.2 Intel Fortran 4.55 2,142 1400 4.55
2.2 Chapel #4 4.69 9,826 1027 4.66
2.2 Intel Fortran #3 4.72 2,154 1311 4.72
2.3 * C# naot #7 4.74 6,091 1715 4.73
2.3 * C# naot #6 4.77 6,115 1754 4.76
2.4 C gcc #6 4.98 2,482 1186 4.98
2.4 Intel Fortran #6 4.99 2,052 1530 4.99
2.4 * F# #6 5.01 43,221 1395 4.99
2.4 * Rust #5 5.02 3,035 2224 5.02
2.4 Rust #4 5.13 3,039 1810 5.13
2.5 C++ g++ #9 5.15 2,486 1536 5.15
2.5 C gcc #2 5.20 2,490 1270 5.20
2.5 C gcc 5.23 2,486 1179 5.23
2.5 C gcc #3 5.24 2,482 1214 5.24
2.5 C++ g++ #3 5.33 2,482 1402 5.33
2.6 * C gcc #5 5.44 2,494 1436 5.44
2.6 * Swift #3 5.45 24,928 1688 5.44
2.6 * C++ g++ #4 5.46 2,482 1434 5.45
2.6 * Swift #4 5.48 24,846 1361 5.47
2.6 * Swift #5 5.52 24,928 1372 5.50
2.6 Rust 5.52 3,027 1483 5.51
2.6 * Swift #7 5.53 24,932 1333 5.51
2.6 C gcc #8 5.54 2,486 1195 5.53
2.7 Chapel #2 5.74 9,679 977 5.72
2.8 Swift #6 5.82 12,956 1213 5.80
2.8 * F# #5 5.85 43,524 1363 5.83
2.8 Ada 2012 GNAT #3 5.88 5,972 1758 5.88
2.9 C++ g++ #2 6.02 2,490 1524 6.01
2.9 Java naot #4 6.02 20,296 1495 6.02
3.0 Free Pascal #2 6.31 586 1345 6.30
3.0 Free Pascal 6.32 582 1331 6.31
3.0 C++ g++ #5 6.33 2,478 1544 6.33
3.0 Go #3 6.39 3,191 1207 6.40
3.1 Haskell GHC #2 6.41 10,072 1888 6.51
3.2 C++ g++ 6.62 2,499 1666 6.62
3.2 Swift #8 6.66 12,804 1285 6.65
3.2 C# naot #3 6.67 6,095 1311 6.66
3.2 Java naot #2 6.77 19,952 1430 6.76
3.2 Java naot #3 6.77 19,923 1436 6.76
3.2 Dart aot #6 6.79 8,950 1318 6.78
3.2 C# naot #2 6.81 5,898 1339 6.80
3.3 C gcc #7 6.89 2,490 1250 6.89
3.3 C++ g++ #6 6.94 2,499 1674 6.93
3.3 F# #4 6.95 43,553 1296 6.92
3.3 OCaml 6.95 4,043 1255 6.95
3.3 F# #3 6.99 41,685 1624 6.96
3.3 Go 7.02 3,228 1316 7.03
3.3 C# naot #8 7.02 5,833 1335 7.01
3.3 Go #2 7.04 3,203 1222 7.05
3.4 Julia #4 7.19 414,929 1168 7.23
3.4 Free Pascal #3 7.20 590 1441 7.18
3.4 * Haskell GHC 7.21 9,781 1713 7.31
3.4 Java naot #5 7.23 19,972 1435 7.22
3.5 Dart aot #8 7.25 9,093 1268 7.25
3.5 Java naot 7.26 24,383 1437 7.26
3.5 Java naot #8 7.30 19,862 1322 7.29
3.5 F# #2 7.36 43,639 1387 7.34
3.5 C# naot 7.46 6,124 1424 7.45
3.5 C# naot #0 7.46 6,107 1342 7.45
3.6 Ada 2012 GNAT 7.65 5,984 1624 7.64
3.7 Lisp SBCL #2 7.83 27,808 1408 7.81
3.8 Swift 7.89 12,812 1210 7.88
3.8 Julia #3 8.07 415,089 1548 8.11
4.1 Node.js #6 8.55 67,244 1274 8.54
4.1 Dart aot #2 8.63 8,950 1273 8.62
4.2 F# 8.77 46,506 1272 8.04
4.3 * Ada 2012 GNAT #5 9.01 5,960 2452 9.01
4.4 Lisp SBCL 9.28 27,554 1373 9.27
4.6 Go #8 9.60 3,191 1224 9.63
4.6 Node.js #8 9.63 66,695 1173 9.62
4.7 Dart aot #3 9.91 8,954 1413 9.91
4.8 * Ada 2012 GNAT #2 10.15 5,984 2623 10.15
6.8 * Racket #2 14.34 129,397 1695 14.28
14 Julia #2 28.68 414,970 1084 28.81
19 Racket 40.86 129,057 1503 40.80
49 Erlang #3 103.81 64,164 1405 103.77
55 Pharo Smalltalk 114.75 143,004 1801 115.45
79 Ruby #3 166.67 18,346 1169 166.60
82 Ruby #2 172.30 18,043 1143 172.23
97 PHP #3 204.10 16,425 1088 204.03
103 Lua #2 216.21 3,269 1200 216.17
103 Lua #4 216.59 3,273 1312 216.55
115 PHP #8 242.35 16,507 1245 242.27
116 Lua 244.50 3,273 1207 244.45
137 Swift #9 287.37 24,793 1532 287.31
152 Ruby #8 5 min 18,350 1160 5 min
177 Python 3 6 min 12,198 1201 6 min
210 Python 3 #2 7 min 12,554 1247 7 min
215 Perl #2 7 min 8,741 1431 7 min
252 Python 3 #8 8 min 12,497 1172 8 min
366 Ruby #7 12 min 18,326 1139 12 min
Intel Fortran #4 Bad Output