fannkuch-redux First, here are a few naive un-optimised single-thread #8 programs transliterated lowest-common-denominator style into different programming languages from the same original — source secs mem gz Python 3 #8 37 min 19,312 414 Ruby yjit #8 33 min 20,736 418 Node.js #8 58.06 51,484 452 Swift #8 35.13 19,444 470 PHP #8 28 min 19,700 477 Intel C #8 42.86 19,492 483 C gcc #8 39.33 19,492 483 C clang #8 36.39 19,492 483 Go #8 46.13 19,440 500 Dart #8 70.09 19,620 508 Java -Xint #8 11 min 36,720 517 Java #8 45.90 42,568 517 C# .NET #8 43.80 28,760 519 Here are the crowd sourced programs — × source secs mem gz cpu secs cpu load 1.0 Python 3 #6 17 min 19,312 391 17 min 0% 99% 0% 0% 1.0 Ruby yjit 22 min 20,864 391 22 min 100% 0% 0% 0% 1.0 Matz's Ruby 3h 12 min 19,856 391 3h 12 min 0% 0% 100% 0% 1.1 Python 3 #8 37 min 19,312 414 37 min 100% 0% 0% 0% 1.1 Ruby yjit #8 33 min 20,736 418 33 min 97% 0% 2% 0% 1.1 Perl #3 22 min 19,684 433 22 min 0% 100% 0% 0% 1.1 Julia 42.59 226,292 441 42.67 64% 35% 0% 0% 1.1 PHP #2 7 min 19,700 447 7 min 44% 54% 0% 0% 1.2 Node.js #8 58.06 51,484 452 58.05 50% 49% 0% 0% 1.2 Perl 30 min 19,684 463 30 min 0% 100% 0% 0% 1.2 Lua 10 min 19,652 469 10 min 100% 0% 0% 0% 1.2 Swift #8 35.13 19,444 470 35.12 47% 0% 0% 53% 1.2 PHP #8 28 min 19,700 477 28 min 47% 51% 0% 0% 1.2 OCaml #2 45.76 19,676 478 45.76 5% 94% 0% 0% 1.2 C gcc #8 39.33 19,492 483 39.32 52% 48% 0% 0% 1.2 PHP 9 min 19,700 488 9 min 50% 48% 0% 1% 1.3 Go #8 46.13 19,440 500 46.24 0% 100% 0% 0% 1.3 Dart #8 70.09 19,620 508 70.09 34% 36% 14% 14% 1.3 Dart #2 57.81 19,620 510 57.80 39% 35% 0% 25% 1.3 C gcc 39.61 19,704 514 39.60 47% 27% 26% 0% 1.3 Java #8 45.90 42,568 517 45.97 63% 16% 0% 21% 1.3 C# .NET #8 43.80 28,760 519 43.78 37% 45% 17% 0% 1.3 Java #2 45.77 42,552 520 45.83 0% 100% 0% 0% 1.3 Lisp SBCL #2 48.01 23,040 525 48.01 0% 0% 0% 100% 1.4 OCaml 51.25 19,676 529 51.25 0% 0% 100% 0% 1.4 Dart #3 40.88 19,620 553 40.88 75% 25% 0% 0% 1.4 F# .NET 99.33 40,016 558 98.70 4% 14% 13% 67% 1.5 Haskell GHC 292.65 19,804 567 298.25 25% 16% 36% 23% 1.5 C gcc #3 36.80 19,704 574 36.79 0% 100% 0% 0% 1.5 Perl #2 7 min 19,684 577 29 min 100% 99% 99% 99% 1.5 C# .NET #2 30.38 28,804 584 30.37 66% 25% 8% 0% 1.5 C++ g++ #3 37.88 19,760 600 37.87 54% 46% 0% 0% 1.6 Intel Fortran 40.33 19,648 608 40.33 100% 0% 0% 0% 1.8 Lisp SBCL #5 30.84 52,736 689 30.83 0% 0% 0% 100% 1.9 Chapel #2 9.34 19,436 737 37.22 100% 99% 99% 99% 2.1 Lisp SBCL #3 36.25 32,256 833 36.24 15% 84% 0% 0% 2.3 Go #2 12.35 19,808 903 49.32 99% 99% 100% 99% 2.3 Go 12.29 19,808 906 49.04 100% 99% 100% 99% 2.3 VW Smalltalk 7 min 55,040 916 7 min 0% 100% 0% 0% 2.3 C gcc #5 7.29 19,704 917 28.25 100% 98% 93% 97% 2.4 F# .NET #5 9.74 39,392 927 38.29 98% 99% 98% 97% 2.5 Python 3 #4 5 min 19,312 960 19 min 100% 99% 99% 97% 2.5 Go #3 8.34 19,808 975 33.31 100% 99% 100% 100% 2.5 C++ g++ #5 7.85 19,760 987 30.68 99% 100% 99% 93% 2.6 OCaml #4 9.13 19,676 1018 36.46 99% 99% 99% 100% 2.6 Rust #5 7.66 19,804 1023 29.90 99% 94% 98% 98% 2.6 OCaml #3 8.80 19,676 1024 35.18 99% 99% 99% 100% 2.6 Rust #4 6.93 19,804 1026 27.20 100% 99% 94% 99% 2.7 Erlang 65.58 55,108 1044 258.75 99% 98% 99% 97% 2.7 Free Pascal 10.62 19,604 1057 42.30 99% 99% 99% 99% 2.7 C++ g++ 10.49 19,760 1065 41.21 99% 98% 95% 100% 2.7 C# .NET #6 9.93 29,272 1075 39.49 99% 99% 99% 99% 2.8 F# .NET #6 8.34 34,272 1103 32.44 99% 98% 98% 93% 2.9 C# .NET #3 11.01 29,020 1117 43.46 99% 98% 98% 99% 3.0 Intel Fortran #3 9.78 19,648 1164 39.00 99% 99% 99% 99% 3.0 PHP #3 129.55 19,700 1166 8 min 99% 98% 99% 100% 3.0 PHP #4 128.28 19,700 1168 8 min 99% 99% 99% 100% 3.0 Haskell GHC #3 9.60 19,860 1184 37.63 98% 94% 99% 100% 3.1 Rust #2 9.15 19,804 1198 35.90 100% 94% 99% 98% 3.1 Dart #5 12.55 19,620 1227 49.81 99% 99% 99% 99% 3.2 Java #3 39.96 44,308 1264 40.06 99% 0% 0% 0% 3.3 Java 10.85 44,612 1289 42.80 98% 98% 99% 99% 3.4 Node.js #5 11.05 101,616 1320 43.85 99% 99% 99% 99% 3.7 C++ g++ #4 8.92 19,760 1445 35.00 100% 99% 94% 98% 3.7 C++ g++ #2 9.13 19,760 1446 35.73 98% 99% 100% 94% 3.7 Matz's Ruby #2 1h 12 min 19,856 1462 4h 38 min 99% 93% 94% 97% 3.7 Ruby yjit #2 139.05 21,120 1462 8 min 91% 99% 97% 85% 3.9 Lisp SBCL #4 9.39 32,256 1531 36.91 99% 98% 96% 98% 5.4 Ada 2012 GNAT #3 9.15 19,772 2120 36.38 98% 99% 99% 99% Matz's Ruby #8 Timed Out * possible hand-written vector instructions | "unsafe" × source secs mem gz cpu secs cpu load 1.7 * Racket 150.36 74,524 655 150.36 0% 0% 100% 0% 1.7 * Haskell GHC #4 40.07 19,804 671 40.59 83% 0% 0% 16% 2.1 * Haskell GHC #2 43.84 24,192 815 130.50 76% 75% 75% 74% 2.2 * Haskell GHC #5 10.31 19,804 850 40.79 99% 96% 100% 99% 2.3 * Julia #3 9.33 248,484 896 35.56 94% 95% 95% 95% 2.3 * Racket #2 113.58 76,220 916 113.57 1% 2% 100% 0% 2.8 * Julia #2 8.49 251,248 1077 31.91 95% 92% 93% 94% 2.8 * Swift #3 8.32 19,440 1103 32.99 99% 100% 98% 98% 2.8 * Racket #3 29.58 77,848 1109 114.62 97% 99% 91% 99% 2.9 * Haskell GHC #6 11.92 23,424 1123 44.44 91% 98% 92% 92% 3.0 * C++ g++ #7 14.03 19,760 1156 14.03 39% 0% 0% 60% 3.0 * C gcc #4 14.04 19,704 1190 14.03 10% 0% 0% 90% 3.2 * C# .NET #9 8.40 29,608 1232 33.33 99% 99% 99% 99% 3.2 * Rust #6 3.88 19,804 1260 15.27 100% 98% 97% 97% 3.8 * C# .NET #5 2.27 29,584 1485 8.79 96% 96% 96% 99% 3.9 * C++ g++ #6 3.31 19,760 1535 13.11 99% 99% 100% 97% 4.0 * C gcc #2 10.19 19,704 1563 39.99 100% 94% 99% 99% 4.0 * C gcc #6 2.14 19,704 1582 8.43 100% 98% 99% 99% by secs by mem by gz by cpu secs