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