k-nucleotide 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 Python 3 #8 234.08 642,265 525 Ruby #8 8 min 872,055 529 PHP #8 79.70 649,593 571 Node.js #8 107.03 736,874 678 Go #8 61.38 558,379 752 Java #8 79.72 1,484,460 786 Here are the crowd sourced programs — × source secs mem gz cpu secs 1.0 Perl #2 112.16 678,937 365 112.11 1.2 Ruby #2 262.22 179,548 426 262.13 1.3 Perl #4 38.15 1,101,009 483 131.14 1.4 Python 3 234.20 515,047 499 234.09 1.4 Perl #3 51.38 1,180,799 520 170.72 1.4 Python 3 #8 234.08 642,265 525 233.99 1.4 Ruby #8 8 min 872,055 529 8 min 1.5 Ruby #3 263.08 207,466 546 263.47 1.5 Racket 194.59 2,679,632 554 194.49 1.6 PHP #8 79.70 649,593 571 79.66 1.6 Ruby 87.55 478,077 583 5 min 1.7 Swift #7 225.53 649,970 607 225.47 1.7 Python 3 #9 66.67 392,184 614 235.89 1.7 Lua #2 99.19 612,901 620 99.16 1.7 Dart aot 9 min 733,049 628 9 min 1.8 Swift #8 167.99 904,810 658 167.36 1.8 Perl 35.15 1,286,410 659 127.55 1.8 Python 3 #4 76.67 523,751 663 233.07 1.9 Dart aot #8 9 min 795,816 676 9 min 1.9 Node.js #8 107.03 736,874 678 107.78 1.9 Julia 132.16 1,696,596 703 133.09 2.0 F# 39.58 932,966 713 92.45 2.0 C# naot #8 83.91 1,354,269 736 75.22 2.1 Go #8 61.38 558,379 752 62.02 2.2 Java naot #8 85.57 1,782,706 786 86.86 2.2 Ruby #7 243.79 399,401 792 244.17 2.4 Racket #4 61.86 991,015 893 61.77 2.6 Node.js #2 37.75 1,894,363 941 112.06 2.6 Erlang 1h 31 min 4,056,982 944 1h 35 min 2.6 Erlang #3 1h 29 min 1,306,636 945 1h 33 min 2.6 Julia #6 6.82 524,403 965 14.36 2.8 Node.js 39.56 1,365,475 1011 115.00 2.9 Chapel #3 5.99 190,841 1044 20.89 2.9 Haskell GHC 24.42 435,479 1067 86.37 2.9 Chapel #4 5.02 197,980 1074 17.16 3.0 Rust 21.08 161,219 1086 64.57 3.0 Pharo Smalltalk #2 8 min 671,744 1105 8 min 3.1 F# #3 13.00 1,357,251 1124 28.94 3.3 Pharo Smalltalk 9 min 671,412 1196 9 min 3.5 C++g++ #3 4.19 171,622 1280 13.94 3.5 PHP #4 25.77 270,369 1290 89.30 3.5 Lisp SBCL #2 44.39 528,470 1291 44.37 3.6 Lisp SBCL #3 44.68 528,470 1297 44.65 3.7 Rust #2 6.00 142,946 1350 15.54 3.8 Julia #7 9.91 576,082 1379 24.88 4.0 C# naot #7 48.00 593,142 1449 48.33 4.0 C++ g++ 7.04 778,510 1452 14.94 4.1 C gcc 3.58 135,234 1512 11.88 4.2 F# #4 11.38 1,356,919 1522 29.39 4.2 Dart aot #3 18.55 229,372 1526 55.86 4.2 Rust #3 3.28 142,631 1549 9.69 4.3 Go #4 9.27 144,650 1552 30.77 4.3 Rust #7 2.57 139,088 1585 8.01 4.4 Go #6 8.30 150,442 1596 30.04 4.4 Go #7 7.58 168,186 1613 28.88 4.4 Java naot #6 8.35 397,414 1614 28.29 4.4 C# naot #6 5.02 158,015 1615 12.82 4.5 C++ g++ #2 2.02 162,349 1634 6.00 4.5 Java naot #3 8.31 363,635 1642 28.17 4.6 Rust #6 2.79 165,048 1697 10.05 4.7 C# naot #4 13.01 523,211 1725 45.59 4.7 Go #3 8.20 150,413 1729 29.84 4.8 Rust #5 3.88 143,155 1745 11.53 4.8 Rust #4 6.69 142,090 1755 17.99 5.0 Node.js #3 16.44 452,764 1817 45.22 5.0 Java naot 6.25 366,531 1821 20.44 5.1 Rust #9 6.33 141,099 1850 17.45 5.2 Java naot #4 36.76 183,878 1887 36.84 5.2 F# #6 3.77 200,847 1913 11.90 5.3 F# #2 4.75 212,804 1932 16.18 5.4 F# #5 4.74 213,168 1964 16.14 5.4 Python 3 #3 46.55 674,185 1970 182.00 5.6 C# naot 3.12 160,424 2046 10.66 6.1 Java naot #5 22.53 203,649 2225 51.37 6.3 Lisp SBCL #4 15.75 168,317 2292 15.73 6.4 Lisp SBCL #5 15.84 169,165 2323 15.82 6.7 Lisp SBCL 10.80 589,226 2431 33.59 6.8 Lisp SBCL #6 8.79 536,506 2485 31.50 13 Ada 2012 GNAT #2 7.82 269,390 4911 16.64 Intel Fortran Empty Pharo Smalltalk #5 Empty Swift Empty * possible hand-written vector instructions or "unsafe" × source secs mem gz cpu secs 2.4 * OCaml 45.59 348,320 894 45.58 3.4 * OCaml #2 27.23 363,422 1247 61.88 3.8 * Swift #2 14.46 273,932 1373 55.17 4.1 * Haskell GHC #2 23.63 864,662 1492 91.36 5.0 * OCaml #3 16.17 286,568 1839 44.28 6.2 * Haskell GHC #3 35.01 557,658 2266 131.84 by secs by mem by gz by cpu secs