The Computer Language
Benchmarks Game

fannkuch-redux

We accept something intermediate between chaos and rigidity — enough flex & slop & play to allow for Haskell programs that are not just mechanically translated from Fortran; enough similarity in the basic workloads & tested results.

Programming language advocates and curious programmers have contributed new programs and introduced newer techniques. Look at the slower simple sequential programs, and  look at the parallel programs written for multicore, and  look at the low-level programs written for SIMD. Always look at the source code.

× source secs mem gz busy cpu load
1.0 C gcc #5 8.75 948 910 34.50 100% 100% 100% 95%
1.2 Swift #3 10.11 8,048 1097 40.10 98% 100% 99% 100%
1.2 Ada 2012 GNAT #3 10.26 4,488 2113 40.91 100% 100% 100% 99%
1.2 Rust #5 10.62 944 1016 41.73 100% 93% 100% 100%
1.2 C++ g++ #5 10.69 1,896 980 42.28 100% 100% 96% 100%
1.3 Julia #2 11.12 188,240 1067 41.08 87% 91% 99% 93%
1.3 Rust #4 11.13 944 1020 43.64 100% 93% 100% 100%
1.3 Rust #3 11.13 940 1020 43.57 100% 92% 100% 99%
1.3 C# aot #9 11.14 32,076 1225 44.18 99% 99% 99% 99%
1.3 C# .NET Core #9 11.14 31,952 1225 44.17 99% 99% 99% 99%
1.4 Fortran Intel #3 12.54 10,980 1158 50.06 100% 100% 100% 100%
1.5 Rust #2 13.32 1,072 1191 52.12 99% 98% 100% 94%
1.6 Java  14.33 34,888 1282 56.56 99% 98% 99% 98%
1.6 Java OpenJ9 14.38 54,828 1282 56.49 99% 97% 97% 100%
1.7 C# .NET Core #8 15.02 31,464 1243 59.71 99% 99% 99% 100%
1.7 C# aot #8 15.02 31,340 1243 59.72 99% 100% 99% 99%
1.8 Lisp SBCL #4 15.52 33,216 1527 60.18 100% 99% 92% 98%
1.8 Chapel 15.53 4,548 728 61.90 100% 100% 99% 100%
1.8 C gcc #2 15.57 960 1557 61.01 98% 95% 100% 99%
1.8 C++ g++ #4 16.05 2,132 1439 62.83 100% 100% 93% 98%
1.9 OCaml #3 16.39 28,836 1017 65.51 100% 100% 100% 100%
1.9 C# aot #7 16.43 31,192 1189 65.33 99% 99% 99% 100%
1.9 C# .NET Core #7 16.50 31,284 1189 65.39 99% 99% 99% 100%
1.9 OCaml #4 16.58 19,948 1004 66.22 100% 100% 100% 100%
1.9 F# .NET Core #8 16.75 34,468 949 64.96 98% 97% 99% 95%
1.9 F# .NET Core #7 16.85 34,692 953 65.34 94% 98% 98% 99%
1.9 F# .NET Core #9 16.88 35,228 924 65.60 98% 97% 99% 95%
2.0 C++ g++ #2 17.23 2,184 1440 67.24 93% 100% 100% 98%
2.0 C# aot #6 17.47 31,328 1068 69.52 99% 100% 100% 99%
2.0 C# .NET Core #6 17.53 31,240 1068 69.57 99% 99% 99% 99%
2.0 Go 17.56 1,524 900 70.00 100% 100% 100% 100%
2.0 Go #2 17.57 11,420 896 70.06 100% 100% 100% 100%
2.0 F# .NET Core #6 17.85 33,864 1025 69.59 98% 98% 99% 95%
2.1 Free Pascal 17.95 1,860 1050 71.73 100% 100% 100% 100%
2.1 C++ g++ 18.21 1,976 1059 70.98 94% 99% 100% 97%
2.1 Haskell GHC #5 18.37 4,352 842 72.54 96% 100% 100% 100%
2.1 C# aot #5 18.54 31,656 1049 71.81 91% 99% 100% 98%
2.1 Haskell GHC #6 18.58 4,336 1113 72.78 99% 96% 97% 100%
2.1 C# .NET Core #5 18.60 31,636 1049 71.84 98% 99% 99% 91%
2.1 C# aot #4 18.73 31,056 1172 73.75 98% 99% 98% 99%
2.1 C# .NET Core #4 18.75 30,980 1172 74.04 99% 99% 99% 98%
2.3 F# .NET Core #5 19.82 34,812 912 77.25 97% 98% 96% 99%
2.3 C# aot #3 20.42 30,892 1096 80.71 100% 99% 98% 98%
2.4 C# .NET Core #3 20.62 30,972 1096 81.07 99% 99% 97% 98%
2.8 Node js #2 24.14 52,860 1316 95.71 99% 99% 99% 99%
2.8 F# .NET Core #3 24.27 35,016 945 88.15 83% 84% 99% 98%
2.9 C gcc #4 25.60 844 1183 26.11 100% 1% 0% 1%
3.0 C++ g++ #7 26.57 844 1150 26.90 0% 100% 1% 0%
6.0 Lisp SBCL #5 52.61 49,964 681 53.14 1% 0% 0% 100%
6.3 Java OpenJ9 #3 54.82 56,020 1257 56.01 1% 31% 70% 0%
6.3 Julia 55.18 161,116 434 56.11 0% 1% 100% 0%
7.1 Java #3 62.00 34,332 1257 63.04 100% 0% 0% 2%
7.1 C# aot #2 62.29 31,172 564 63.24 79% 1% 22% 0%
7.1 C gcc #3 62.36 848 567 63.03 61% 40% 0% 0%
7.1 C# .NET Core #2 62.37 31,024 564 63.12 0% 74% 27% 0%
7.6 F# .NET Core #4 66.26 32,852 612 66.94 1% 0% 0% 100%
7.7 Lisp SBCL #3 66.98 32,828 826 67.76 100% 1% 1% 0%
7.8 Swift 68.47 6,676 451 69.43 70% 1% 1% 30%
7.9 C gcc 69.53 784 508 69.94 0% 0% 21% 79%
8.1 Haskell GHC #4 70.49 3,468 665 280.95 100% 100% 100% 100%
8.2 Fortran Intel 71.55 1,984 599 72.39 0% 1% 0% 100%
8.2 C++ g++ #3 71.91 848 593 73.48 1% 1% 100% 0%
8.5 Java #2 74.36 35,036 514 75.02 1% 0% 100% 0%
8.5 Node js #4 74.67 31,816 473 75.90 1% 0% 100% 1%
8.5 TypeScript #4 74.68 31,936 495 75.17 100% 0% 0% 0%
9.0 C# aot 78.84 31,148 520 79.93 1% 35% 65% 0%
9.0 C# .NET Core 78.92 31,128 520 83.79 39% 39% 6% 22%
9.6 OCaml #2 84.38 2,920 473 84.91 1% 100% 0% 0%
9.8 Erlang HiPE 85.39 24,184 1038 5 min 97% 100% 100% 100%
10 Lisp SBCL #2 86.68 19,100 517 88.02 1% 2% 98% 1%
10 F# .NET Core #2 86.74 33,360 548 87.60 1% 0% 0% 100%
10 Java OpenJ9 #2 87.80 56,704 514 89.47 1% 100% 1% 1%
10 Racket #3 91.45 34,768 1101 5 min 92% 100% 90% 90%
11 Node js 92.85 31,920 471 94.03 100% 0% 0% 1%
11 OCaml 96.94 2,764 524 97.99 0% 1% 100% 0%
11 Dart #2 96.95 112,672 495 98.57 0% 1% 100% 1%
11 Haskell GHC #2 100.03 9,472 808 5 min 75% 75% 75% 76%
12 Racket CS #3 108.91 83,564 1101 7 min 98% 99% 98% 100%
14 TypeScript #3 121.80 31,840 454 123.46 0% 1% 1% 100%
14 Dart snapshot #2 124.03 79,588 495 125.19 0% 0% 0% 100%
15 TypeScript #2 135.23 31,772 445 140.21 0% 2% 2% 100%
19 Dart aot #2 168.76 12,976 495 171.50 100% 1% 1% 0%
19 Dart exe #2 168.87 12,192 495 178.42 11% 44% 7% 44%
24 PHP #3 206.72 22,548 1160 13 min 99% 99% 99% 100%
25 F# .NET Core 218.39 44,160 551 227.56 42% 30% 30% 3%
34 Racket #2 293.86 34,596 908 297.75 0% 64% 36% 1%
37 Racket 5 min 34,652 649 5 min 1% 1% 2% 100%
50 Racket CS 7 min 81,672 649 7 min 0% 76% 0% 25%
52 Haskell GHC 7 min 6,080 559 9 min 56% 39% 9% 20%
53 JRuby #2 7 min 758,116 1432 29 min 96% 95% 98% 95%
53 Racket CS #2 7 min 82,432 908 7 min 54% 20% 27% 1%
61 Python 3 #4 8 min 47,236 950 35 min 99% 97% 99% 99%
64 Ruby #2 9 min 14,492 1454 35 min 100% 95% 97% 92%
64 Perl #2 9 min 11,872 570 37 min 100% 100% 100% 100%
82 VW Smalltalk 11 min 55,084 916 12 min 33% 13% 55% 0%
83 Pharo Smalltalk 12 min 104,160 865 12 min 10% 24% 67% 1%
89 PHP #2 12 min 7,808 441 13 min 0% 35% 65% 1%
97 JRuby 14 min 767,424 384 14 min 46% 1% 1% 55%
144 PHP 21 min 7,980 482 21 min 29% 39% 30% 3%
151 Lua 21 min 1,340 462 22 min 0% 100% 1% 1%
190 Ruby 27 min 15,772 384 28 min 2% 100% 0% 2%
199 Perl #3 29 min 4,948 427 29 min 95% 1% 1% 5%
229 Python 3 #6 33 min 7,552 385 33 min 17% 49% 32% 2%
261 Perl 38 min 4,896 457 38 min 67% 16% 13% 6%
  Matz's Ruby 5h 30 min 4,736 384 5h 34 min 23% 8% 29% 40%
Haskell GHC #3 Make Error
Matz's Ruby #2 Failed