The Computer Language
25.03 Benchmarks Game

fannkuch-redux sorted-by "secs"

Always look at the source code.

(Lumpers and Splitters.)

Some of these programs are single-thread and some are multi-thread: compare "secs" and "cpu secs". Some of these programs are un-optimised and some are heavily optimised: sort-by "gz" source code size.

Some of these programs are "naked ffi" and some put that in a library. Some of these programs are high-level and some are hand-written vector instructions.

Always look at the source code.

  * possible hand-written vector instructions or "unsafe"
 
× source secs mem gz cpu secs
1.0 * C gcc #6 2.14 2,712 1582 8.44
1.0 * C# naot #5 2.16 6,713 1485 8.57
1.6 * C++g++ #6 3.33 5,800 1535 13.11
1.8 * Rust #6 3.81 3,985 1260 15.05
3.2 Rust #4 6.94 3,985 1026 27.12
3.4 C gcc #5 7.28 2,949 917 28.26
3.5 Rust #5 7.41 3,990 1023 28.89
3.7 C++ g++ #5 7.86 5,792 987 30.73
3.8 * C# naot #9 8.11 6,377 1232 32.33
3.8 * Swift #3 8.20 13,722 1103 32.41
3.9 Go #3 8.36 3,846 975 33.33
3.9 F# #6 8.37 41,243 1103 32.47
4.0 Chapel #2 8.46 9,650 737 33.54
4.0 * Julia #2 8.60 333,173 1077 31.97
4.1 OCaml #3 8.84 36,123 1024 35.14
4.2 C++ g++ #4 8.91 5,710 1445 35.03
4.3 OCaml #4 9.14 11,338 1018 36.44
4.3 C++ g++ #2 9.14 5,698 1446 35.85
4.3 Ada 2012 GNAT #3 9.15 7,684 2120 36.42
4.3 Rust #2 9.19 3,723 1198 36.04
4.3 Java naot 9.26 18,522 1289 36.59
4.4 Lisp SBCL #4 9.41 38,060 1531 36.94
4.4 * Julia #3 9.44 333,042 896 35.58
4.5 Intel Fortran #3 9.67 12,128 1164 38.54
4.5 Haskell GHC #3 9.69 9,445 1184 37.99
4.6 F# #5 9.75 46,322 927 38.04
4.7 C# naot #6 10.14 6,799 1075 40.45
4.8 * C gcc #2 10.18 2,695 1563 39.92
4.9 * Haskell GHC #5 10.53 9,347 850 41.69
4.9 C++ g++ 10.53 5,534 1065 41.31
5.0 Free Pascal 10.66 3,666 1057 42.37
5.2 C# naot #3 11.01 6,472 1117 43.52
5.2 Node.js #5 11.07 111,055 1320 43.74
5.6 Dart aot #5 11.93 10,613 1227 47.40
5.7 * Haskell GHC #6 12.09 27,410 1123 46.41
5.7 Go 12.27 4,903 906 49.03
5.8 Go #2 12.36 16,966 903 49.33
6.6 * C gcc #4 14.05 2,351 1190 14.04
6.6 * C++ g++ #7 14.06 2,449 1156 14.04
14 * Racket #3 30.37 129,380 1109 112.19
14 Lisp SBCL #5 30.88 58,196 689 30.86
15 C# naot #2 31.30 6,001 584 31.28
16 Java naot #3 34.41 17,514 1264 34.40
16 Swift #8 34.68 13,484 470 34.66
17 Lisp SBCL #3 36.28 37,208 833 36.26
17 C gcc #3 36.84 2,343 574 36.83
18 C++ g++ #3 37.89 2,351 600 37.88
18 C gcc #8 39.34 2,343 483 39.33
19 C gcc 39.65 2,343 514 39.64
19 * Haskell GHC #4 40.21 9,933 671 40.76
19 Intel Fortran 40.21 2,179 608 40.20
19 Dart aot #3 40.60 8,757 553 40.60
20 Julia 42.57 309,928 441 42.59
21 C# naot #8 44.63 6,091 519 44.62
21 * Haskell GHC #2 44.79 28,713 815 131.11
21 OCaml #2 45.79 4,784 478 45.78
22 Go #8 46.15 3,207 500 46.27
22 Java naot #2 46.96 16,175 520 46.95
22 Lisp SBCL #2 48.05 27,795 525 48.02
24 OCaml 51.28 4,796 529 51.27
24 Java naot #8 51.93 16,269 517 51.92
27 Dart aot #2 57.48 8,950 510 57.47
27 Node.js #8 58.32 64,094 452 58.30
28 Dart aot #8 60.61 8,954 508 60.60
31 Erlang 65.23 64,389 1044 256.69
53 * Racket #2 113.47 126,419 916 113.40
61 PHP #4 130.83 19,780 1168 8 min
62 PHP #3 133.01 19,767 1166 8 min
66 * Racket 141.45 126,550 655 141.38
70 F# 149.70 46,936 558 107.42
72 Ruby #2 154.32 23,679 1462 9 min
136 Haskell GHC 291.63 15,524 567 5 min
146 Python 3 #4 5 min 28,701 960 20 min
202 Perl #2 7 min 16,654 577 28 min
217 PHP #2 7 min 16,339 447 7 min
225 Pharo Smalltalk 8 min 143,667 871 8 min
277 PHP 9 min 16,400 488 9 min
283 Lua 10 min 3,330 469 10 min
397 PHP #8 14 min 16,364 458 14 min
442 Python 3 #6 15 min 11,874 391 15 min
597 Perl #3 21 min 7,512 433 21 min
673 Ruby 23 min 17,695 391 23 min
  Perl 30 min 7,524 463 30 min
  Ruby #8 34 min 17,691 418 34 min
  Python 3 #8 40 min 11,874 414 40 min