The Computer Language
25.02 Benchmarks Game

n-body

First, here are half-a-dozen naive un-optimised single-thread #8 programs transliterated line-by-line literal style into different programming languages from the same original —

  source secs mem gz  
  C gcc #8 5.54 2,486 1195  
  Python 3 #8 8 min 12,497 1172  
  PHP #8 242.35 16,507 1245  
  Ruby #8 5 min 18,350 1160  
  Java #8 7.61 60,953 1322  
  Node.js #8 9.65 65,671 1173  
 
 
  Here are the crowd sourced programs —  
 
 
× source secs mem gz cpu secs
1.0 Free Pascal 6.32 582 1331 6.31
1.0 Free Pascal #2 6.31 586 1345 6.30
1.0 Free Pascal #3 7.20 590 1441 7.18
3.5 Intel Fortran #6 4.99 2,052 1530 4.99
3.7 Intel Fortran 4.55 2,142 1400 4.55
3.7 Intel Fortran #2 4.46 2,146 1507 4.46
3.7 Intel Fortran #5 3.39 2,146 1669 3.38
3.7 Intel Fortran #3 4.72 2,154 1311 4.72
4.3 C++g++ #5 6.33 2,478 1544 6.33
4.3 C gcc #6 4.98 2,482 1186 4.98
4.3 C gcc #3 5.24 2,482 1214 5.24
4.3 C++ g++ #3 5.33 2,482 1402 5.33
4.3 C gcc 5.23 2,486 1179 5.23
4.3 C gcc #8 5.54 2,486 1195 5.53
4.3 C++ g++ #9 5.15 2,486 1536 5.15
4.3 C gcc #7 6.89 2,490 1250 6.89
4.3 C gcc #2 5.20 2,490 1270 5.20
4.3 C++ g++ #6 6.94 2,499 1674 6.93
4.3 C++ g++ 6.62 2,499 1666 6.62
5.0 Rust #3 3.46 2,937 1774 3.46
5.2 Rust 5.52 3,027 1483 5.51
5.2 Rust #2 3.65 3,031 1809 3.65
5.2 Rust #4 5.13 3,039 1810 5.13
5.5 Go #3 6.39 3,191 1207 6.40
5.5 Go #8 9.60 3,191 1224 9.63
5.5 Go #2 7.04 3,203 1222 7.05
5.5 Go 7.02 3,228 1316 7.03
5.6 Lua 251.60 3,281 1207 251.54
5.6 Lua #4 225.31 3,285 1312 225.26
5.7 Lua #2 220.15 3,289 1200 219.71
7.0 OCaml 6.95 4,043 1255 6.95
10 C# naot #8 7.02 5,833 1335 7.01
10 C# naot #2 6.81 5,898 1339 6.80
10 Ada 2012 GNAT #3 5.88 5,972 1758 5.88
10 Ada 2012 GNAT 7.65 5,984 1624 7.64
10 C# naot #3 6.67 6,095 1311 6.66
11 C# naot #0 7.46 6,107 1342 7.45
11 C# naot 7.46 6,124 1424 7.45
15 Dart aot #8 7.50 8,684 1268 7.50
15 Dart aot #2 8.92 8,688 1273 8.91
15 Dart aot #3 11.08 8,692 1413 11.08
15 Perl #2 7 min 8,741 1431 7 min
15 Dart aot #6 6.98 8,950 1318 6.98
16 Chapel #4 4.68 9,568 1027 4.65
17 Chapel #3 3.61 9,720 983 3.59
17 Chapel #2 5.74 9,929 977 5.71
17 Haskell GHC #2 6.42 9,982 1888 6.51
21 Python 3 6 min 12,198 1201 6 min
21 Python 3 #8 8 min 12,497 1172 8 min
22 Python 3 #2 7 min 12,554 1247 7 min
22 Swift #8 6.66 12,808 1285 6.65
22 Swift 7.89 12,808 1210 7.88
22 Swift #6 5.81 12,947 1213 5.80
28 PHP #3 204.10 16,425 1088 204.03
28 PHP #8 242.35 16,507 1245 242.27
31 Ruby #2 172.30 18,043 1143 172.23
32 Ruby #7 12 min 18,326 1139 12 min
32 Ruby #3 166.67 18,346 1169 166.60
32 Ruby #8 5 min 18,350 1160 5 min
34 Java naot #8 7.30 19,862 1322 7.29
34 Java naot #3 6.77 19,923 1436 6.76
34 Java naot #2 6.77 19,952 1430 6.76
34 Java naot #5 7.23 19,972 1435 7.22
35 Java naot #4 6.02 20,296 1495 6.02
42 Java naot 7.26 24,383 1437 7.26
43 Swift #9 287.49 24,867 1532 287.44
47 Lisp SBCL 9.28 27,554 1373 9.27
48 Lisp SBCL #2 7.83 27,808 1408 7.81
72 F# #3 6.99 41,685 1624 6.96
75 F# #4 6.95 43,553 1296 6.92
75 F# #2 7.36 43,639 1387 7.34
80 F# 8.77 46,506 1272 8.04
110 Erlang #3 103.81 64,164 1405 103.77
113 Node.js #8 9.65 65,671 1173 9.64
114 Node.js #6 8.60 66,097 1274 8.59
222 Racket 40.86 129,057 1503 40.80
246 Pharo Smalltalk 114.75 143,004 1801 115.45
595 Julia #5 3.80 345,936 1129 3.83
714 Julia #2 28.79 415,015 1084 28.92
714 Julia #4 7.17 415,039 1168 7.21
714 Julia #3 8.05 415,158 1548 8.09
Intel Fortran #4 Bad Output
 
 
  * possible hand-written vector instructions or "unsafe"
 
× source secs mem gz cpu secs
4.2 * C++ g++ #0 2.15 2,417 1933 2.15
4.3 * C++ g++ #4 5.46 2,482 1434 5.45
4.3 * C gcc #9 2.10 2,482 1639 2.10
4.3 * C++ g++ #2 6.02 2,490 1524 6.01
4.3 * C gcc #5 5.44 2,494 1436 5.44
4.3 * C gcc #4 4.06 2,499 1398 4.06
5.0 * Rust #7 3.24 2,937 1759 3.23
5.2 * Rust #9 2.19 3,023 1881 2.19
5.2 * Rust #6 4.37 3,031 1796 4.37
5.2 * Rust #5 5.02 3,035 2224 5.02
8.8 * C++ g++ #7 4.09 5,124 1815 4.09
10 * Ada 2012 GNAT #5 9.01 5,960 2452 9.01
10 * Ada 2012 GNAT #2 10.15 5,984 2623 10.15
10 * C# naot #4 3.70 6,078 2137 3.69
10 * C# naot #9 3.13 6,087 2480 3.12
10 * C# naot #7 4.74 6,091 1715 4.73
11 * C# naot #6 4.77 6,115 1754 4.76
18 * Haskell GHC 7.20 10,256 1713 7.31
43 * Swift #3 5.46 25,002 1688 5.44
43 * Swift #5 5.52 25,010 1372 5.51
43 * Swift #7 5.53 25,010 1333 5.51
43 * Swift #4 5.49 25,010 1361 5.47
74 * F# #6 5.01 43,221 1395 4.99
75 * F# #5 5.85 43,524 1363 5.83
222 * Racket #2 14.34 129,397 1695 14.28