The Computer Language
23.03 Benchmarks Game

fannkuch-redux

First a few simple programs.

Then optimisations, multicore parallelism, [pdf] vector parallelism.

Last hand-written vector instructions and "unsafe" programs.

  source secs mem gz    
  Classic Fortran 38.62 10,908 599    
  OCaml #2 45.96 11,132 472    
  Swift 34.60 11,220 451    
 
 
 
× source secs mem gz cpu secs cpu load
1.0 Lua 11 min 10,804 462 11 min 0% 0% 0% 100%
1.0 Perl #3 20 min 10,840 427 20 min 100% 0% 0% 0%
1.0 Perl 30 min 10,844 457 30 min 0% 0% 100% 0%
1.0 Dart #3 42.40 10,888 546 42.40 100% 0% 0% 1%
1.0 Dart #2 60.45 10,888 504 60.45 100% 0% 0% 0%
1.0 C++ g++ #3 36.06 10,908 593 36.05 0% 0% 0% 100%
1.0 Classic Fortran 38.62 10,908 599 38.62 100% 0% 0% 0%
1.0 C++ g++ #4 9.82 10,912 1439 38.52 98% 99% 94% 99%
1.0 C++ g++ 10.39 10,912 1059 40.77 98% 100% 99% 94%
1.0 C++ g++ #2 9.51 10,912 1440 37.33 99% 99% 94% 99%
1.0 Rust #4 7.21 10,932 1020 28.34 99% 99% 100% 94%
1.0 Chapel #2 8.09 10,932 731 32.18 99% 99% 99% 99%
1.0 Rust #5 7.77 10,932 1016 30.49 99% 99% 100% 93%
1.0 Ada 2012 GNAT #3 8.23 10,936 2113 32.72 99% 99% 99% 99%
1.0 C++ g++ #5 7.99 10,936 980 31.23 93% 98% 99% 100%
1.0 Go #3 8.25 10,936 969 32.92 99% 100% 99% 99%
1.0 Matz's Ruby #2 1h 10 min 10,952 1455 4h 31 min 95% 97% 98% 96%
1.0 Rust #2 17.99 11,036 1191 70.95 96% 99% 99% 99%
1.0 Python 3 #6 15 min 11,080 385 15 min 99% 0% 0% 0%
1.0 OCaml #4 8.77 11,128 1011 35.06 99% 99% 99% 100%
1.0 Go 11.83 11,128 900 47.26 100% 99% 100% 99%
1.0 OCaml #2 45.96 11,132 472 45.96 0% 0% 0% 100%
1.0 OCaml #3 8.76 11,132 1017 34.99 99% 99% 99% 99%
1.0 OCaml 51.66 11,132 523 51.65 99% 1% 0% 0%
1.0 Classic Fortran #3 10.26 11,160 1158 40.95 99% 99% 99% 100%
1.0 Matz's Ruby 3h 16 min 11,172 384 3h 16 min 17% 1% 52% 30%
1.0 Dart #5 12.61 11,208 1220 49.72 98% 98% 99% 98%
1.0 Free Pascal 10.54 11,220 1024 42.09 100% 100% 99% 99%
1.0 Swift 34.60 11,220 451 34.59 0% 100% 0% 0%
1.0 C gcc #5 7.53 11,224 910 29.37 99% 93% 98% 100%
1.0 C gcc 42.02 11,244 508 42.02 1% 0% 100% 0%
1.0 C gcc #3 39.56 11,248 567 39.56 100% 0% 0% 0%
1.1 Perl #2 7 min 12,164 570 27 min 99% 99% 99% 100%
1.2 Go #2 11.89 12,708 896 47.47 99% 99% 99% 99%
1.2 PHP #2 187.39 12,976 441 187.38 100% 0% 0% 0%
1.2 PHP 223.52 12,988 482 223.42 0% 0% 0% 100%
1.2 Haskell GHC 294.61 13,344 559 298.11 28% 19% 31% 24%
1.2 PHP #4 54.97 13,440 1162 217.94 99% 99% 98% 100%
1.2 PHP #3 55.84 13,500 1160 222.26 99% 99% 99% 100%
1.3 Python 3 #4 285.20 14,264 950 18 min 99% 99% 100% 96%
1.4 Lisp SBCL #2 46.46 15,576 517 46.46 0% 0% 0% 100%
2.3 Ruby 24 min 24,936 384 24 min 39% 0% 60% 0%
2.7 Ruby #2 169.71 29,140 1455 10 min 96% 96% 100% 95%
2.8 Lisp SBCL #4 9.96 29,748 1527 39.01 98% 98% 98% 99%
2.8 Lisp SBCL #3 36.37 29,828 826 36.36 0% 0% 0% 100%
2.8 C# .NET #6 9.16 30,572 1068 36.34 99% 99% 99% 99%
3.3 Lisp SBCL #5 30.77 35,984 681 30.77 0% 0% 100% 0%
3.5 Erlang 74.60 37,452 1038 292.72 96% 98% 99% 99%
3.6 Java  #2 46.85 38,492 514 46.91 0% 100% 0% 0%
3.7 Java #3 40.36 39,932 1257 40.43 6% 93% 0% 1%
3.7 Java 10.71 40,324 1282 42.25 99% 98% 99% 97%
5.1 VW Smalltalk 7 min 55,112 916 8 min 90% 14% 4% 5%
7.5 Node js #5 11.08 81,124 1313 43.87 98% 99% 98% 99%
9.9 F# .NET #6 8.33 106,496 1097 32.25 97% 93% 98% 99%
10 F# .NET #5 9.75 111,368 912 38.19 97% 97% 98% 98%
17 Julia 39.10 179,144 434 39.37 0% 0% 100% 0%
C# .NET #7 Bad Output
Haskell GHC #3 Make Error
 
 
  hand-written vector instructions | "unsafe"
 
× source secs mem gz cpu secs cpu load
1.0 C++ g++ #7 14.04 10,912 1150 14.04 0% 0% 100% 0%
1.0 C++ g++ #6 3.23 10,936 1528 12.80 99% 97% 100% 99%
1.0 Rust #6 3.51 11,036 1253 13.93 99% 99% 99% 99%
1.0 Haskell GHC #5 10.35 11,044 842 41.05 99% 99% 99% 97%
1.0 Swift #3 8.24 11,220 1097 32.62 100% 98% 99% 98%
1.0 C gcc #4 14.04 11,236 1183 14.03 100% 0% 0% 0%
1.0 C gcc #2 11.12 11,236 1557 43.67 100% 98% 99% 94%
1.0 C gcc #6 2.10 11,236 1576 8.34 99% 99% 98% 100%
1.1 Haskell GHC #4 43.22 11,856 665 43.96 18% 9% 54% 19%
2.3 Haskell GHC #6 12.08 24,560 1113 47.27 99% 98% 96% 99%
2.5 Haskell GHC #2 47.31 26,764 808 131.54 69% 70% 70% 71%
2.8 C# .NET #8 2.14 30,496 1473 8.33 96% 98% 97% 97%
2.9 C# .NET #9 8.06 31,844 1225 31.90 98% 99% 98% 98%
6.4 Racket 140.73 69,084 649 140.73 0% 0% 0% 100%
6.4 Racket #2 112.85 69,308 908 112.85 100% 0% 0% 0%
6.6 Racket #3 30.68 71,424 1101 116.70 98% 95% 99% 99%
19 Julia #3 7.90 202,488 886 30.35 96% 95% 96% 97%
19 Julia #2 7.85 209,420 1067 29.81 96% 95% 94% 94%