The Computer Language
24.09 Benchmarks Game

fannkuch-redux

First, here are a few naive un-optimised single-thread programs transliterated lowest-common-denominator style into different programming languages from the same original —

  source secs mem gz    
  Swift #8 35.13 19,444 470    
  C# .NET #8 40.51 25,256 519    
  Java #8 45.90 42,568 517    
  Go #8 46.13 19,440 500    
  Node.js #8 66.88 49,788 452    
  Dart #8 70.08 19,436 508    
  Java -Xint #8 11 min 36,720 517    
  PHP #8 25 min 19,440 477    
  Ruby yjit #8 33 min 20,736 418    
  Python 3 #8 37 min 19,312 414    
 
 
  Here are the crowd sourced programs —  
 
 
× source secs mem gz cpu secs cpu load
1.0 Rust #4 6.93 19,804 1026 27.20 100% 99% 94% 99%
1.0 C gcc #5 6.98 19,684 917 27.28 94% 100% 99% 99%
1.1 C# .NET #2 29.59 30,836 584 29.58 99% 0% 0% 0%
1.1 Rust #5 7.66 19,804 1023 29.90 99% 94% 98% 98%
1.1 Lisp SBCL #5 30.84 52,736 689 30.83 0% 0% 0% 100%
1.1 C++ g++ #5 8.00 19,712 987 31.23 98% 93% 100% 98%
1.2 F# .NET #6 8.38 31,568 1103 32.60 97% 98% 99% 93%
1.2 Go #3 8.34 19,808 975 33.31 100% 99% 100% 100%
1.3 C# .NET #6 8.67 30,968 1075 34.39 99% 99% 99% 99%
1.3 Swift #8 35.13 19,444 470 35.12 47% 0% 0% 53%
1.3 OCaml #3 8.80 19,676 1024 35.18 99% 99% 99% 100%
1.3 Rust #2 9.15 19,804 1198 35.90 100% 94% 99% 98%
1.3 Lisp SBCL #3 36.25 32,256 833 36.24 15% 84% 0% 0%
1.3 C++ g++ #4 9.26 19,688 1445 36.31 100% 98% 99% 94%
1.3 Ada 2012 GNAT #3 9.14 19,568 2120 36.40 99% 99% 99% 99%
1.3 OCaml #4 9.13 19,676 1018 36.46 99% 99% 99% 100%
1.4 C++ g++ #3 36.90 19,688 600 36.90 0% 100% 0% 0%
1.4 Lisp SBCL #4 9.39 32,256 1531 36.91 99% 98% 96% 98%
1.4 Chapel #2 9.34 19,436 737 37.22 100% 99% 99% 99%
1.4 C++ g++ #2 9.55 19,712 1446 37.53 94% 99% 98% 100%
1.4 Haskell GHC #3 9.60 19,860 1184 37.63 98% 94% 99% 100%
1.4 F# .NET #5 9.75 36,612 927 38.38 97% 97% 99% 98%
1.4 Intel Fortran #3 9.78 19,648 1164 39.00 99% 99% 99% 99%
1.5 C gcc #3 39.56 19,684 574 39.56 100% 0% 0% 0%
1.5 Java  #3 39.96 44,308 1264 40.06 99% 0% 0% 0%
1.5 Intel Fortran 40.33 19,648 608 40.33 100% 0% 0% 0%
1.5 C# .NET #8 40.51 25,256 519 40.49 100% 0% 0% 0%
1.5 Dart #3 40.86 19,936 553 40.86 0% 100% 0% 0%
1.6 Free Pascal 10.62 19,604 1057 42.30 99% 99% 99% 99%
1.6 C gcc 42.31 19,684 514 42.31 100% 0% 0% 0%
1.6 C++ g++ 10.87 19,712 1065 42.73 99% 99% 98% 96%
1.6 Java 10.85 44,612 1289 42.80 98% 98% 99% 99%
1.6 Julia 42.85 248,696 441 43.21 0% 0% 0% 100%
1.6 C# .NET #3 11.34 31,120 1117 44.67 98% 98% 98% 99%
1.7 Node.js #5 11.47 94,880 1320 45.57 99% 99% 99% 99%
1.7 OCaml #2 45.76 19,676 478 45.76 5% 94% 0% 0%
1.7 Java #2 45.77 42,552 520 45.83 0% 100% 0% 0%
1.7 Java #8 45.90 42,568 517 45.97 63% 16% 0% 21%
1.7 Go #8 46.13 19,440 500 46.24 0% 100% 0% 0%
1.8 Lisp SBCL #2 48.01 23,040 525 48.01 0% 0% 0% 100%
1.8 Go 12.29 19,808 906 49.04 100% 99% 100% 99%
1.8 Go #2 12.35 19,808 903 49.32 99% 99% 100% 99%
1.8 Dart #5 12.55 19,808 1227 49.89 99% 99% 99% 99%
1.9 OCaml 51.25 19,676 529 51.25 0% 0% 100% 0%
2.1 Dart #2 57.88 19,808 510 57.88 100% 0% 0% 0%
2.5 Node.js #8 66.88 49,788 452 66.88 89% 10% 0% 0%
2.6 Dart #8 70.08 19,436 508 70.08 0% 5% 0% 94%
3.6 F# .NET 93.67 49,764 558 99.25 2% 6% 60% 37%
7.0 PHP #2 190.06 19,804 447 190.05 4% 95% 0% 0%
8.2 PHP #3 56.00 19,804 1166 222.44 99% 99% 100% 99%
8.2 PHP #4 56.07 19,804 1168 222.96 98% 99% 99% 100%
8.3 PHP 225.15 19,804 488 225.14 0% 0% 100% 0%
9.5 Erlang 65.58 55,108 1044 258.75 99% 98% 99% 97%
11 Haskell GHC 292.65 19,804 567 298.25 25% 16% 36% 23%
17 VW Smalltalk 7 min 55,040 916 7 min 0% 100% 0% 0%
19 Ruby yjit #2 139.05 21,120 1462 8 min 91% 99% 97% 85%
22 Lua 10 min 19,652 469 10 min 100% 0% 0% 0%
38 Python 3 #6 17 min 19,312 391 17 min 0% 99% 0% 0%
44 Python 3 #4 5 min 19,312 960 19 min 100% 99% 99% 97%
50 Ruby yjit 22 min 20,864 391 22 min 100% 0% 0% 0%
50 Perl #3 22 min 19,684 433 22 min 0% 100% 0% 0%
56 PHP #8 25 min 19,440 477 25 min 23% 0% 0% 76%
65 Perl #2 7 min 19,684 577 29 min 100% 99% 99% 99%
66 Perl 30 min 19,684 463 30 min 0% 100% 0% 0%
73 Ruby yjit #8 33 min 20,736 418 33 min 97% 0% 2% 0%
83 Python 3 #8 37 min 19,312 414 37 min 100% 0% 0% 0%
425 Matz's Ruby 3h 12 min 19,856 391 3h 12 min 0% 0% 100% 0%
614 Matz's Ruby #2 1h 12 min 19,856 1462 4h 38 min 99% 93% 94% 97%
Matz's Ruby #8 Timed Out
 
 
  hand-written vector instructions | "unsafe"
 
× source secs mem gz cpu secs cpu load
0.3 C gcc #6 2.17 19,684 1582 8.56 97% 99% 99% 99%
0.3 C# .NET #5 2.22 26,180 1485 8.62 96% 97% 97% 99%
0.5 C++ g++ #6 3.26 19,712 1535 12.91 97% 100% 99% 99%
0.5 C++ g++ #7 13.96 19,712 1156 13.96 0% 0% 100% 0%
0.5 C gcc #4 14.21 19,684 1190 14.21 100% 0% 0% 0%
0.6 Rust #6 3.88 19,804 1260 15.27 100% 98% 97% 97%
1.2 Julia #2 8.39 269,736 1077 31.58 92% 94% 94% 94%
1.2 Swift #3 8.32 19,440 1103 32.99 99% 100% 98% 98%
1.3 Julia #3 9.26 269,536 896 35.30 95% 96% 94% 94%
1.3 C# .NET #9 9.08 32,348 1232 36.00 99% 99% 99% 99%
1.5 Haskell GHC #4 40.07 19,804 671 40.59 83% 0% 0% 16%
1.5 Haskell GHC #5 10.31 19,804 850 40.79 99% 96% 100% 99%
1.6 C gcc #2 10.85 19,684 1563 42.52 99% 94% 98% 100%
1.6 Haskell GHC #6 11.92 23,424 1123 44.44 91% 98% 92% 92%
4.2 Racket #2 113.58 76,220 916 113.57 1% 2% 100% 0%
4.2 Racket #3 29.58 77,848 1109 114.62 97% 99% 91% 99%
4.8 Haskell GHC #2 43.84 24,192 815 130.50 76% 75% 75% 74%
5.5 Racket 150.36 74,524 655 150.36 0% 0% 100% 0%