The Computer Language
25.03 Benchmarks Game

binary-trees sorted-by "gz"

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 Python 3 #2 100.49 281,829 344 100.42
1.1 Ruby #4 47.09 489,144 371 47.03
1.1 Julia #4 14.42 550,064 378 15.75
1.1 Ruby 48.14 487,592 383 48.08
1.1 Ruby #2 48.03 487,801 385 47.96
1.2 Julia #5 21.83 1,336,107 396 61.36
1.2 Perl 258.70 617,132 401 258.64
1.2 Ruby #3 49.67 523,936 407 49.60
1.2 Lua #2 142.32 1,043,743 418 142.27
1.2 Racket #2 9.20 385,794 422 9.15
1.2 Erlang 10.97 501,953 426 11.13
1.2 PHP #2 93.90 771,146 429 93.85
1.3 Julia #2 12.65 552,669 430 13.72
1.3 PHP #3 69.00 948,552 434 68.95
1.3 PHP 90.45 771,105 457 90.40
1.3 Node.js #7 16.07 1,128,059 458 28.42
1.4 OCaml #5 7.78 228,925 468 7.78
1.4 * Racket #3 6.22 278,237 480 6.16
1.4 Python 3 #4 33.37 460,771 481 121.26
1.4 Racket 15.19 608,461 482 15.13
1.4 Erlang #2 5.08 500,834 485 13.56
1.4 Go 32.05 243,114 488 59.77
1.4 Dart aot #6 11.72 474,780 488 16.18
1.4 Chapel #4 7.29 495,682 489 26.60
1.4 Chapel #3 8.63 313,868 494 25.90
1.4 Haskell GHC #2 12.84 274,993 498 14.62
1.5 Haskell GHC 12.58 702,763 500 14.29
1.5 C++g++ #2 22.77 274,080 514 22.76
1.5 F# 14.36 938,693 517 14.94
1.5 F# #7 8.98 1,127,907 527 22.38
1.5 Go #7 32.57 241,345 531 61.36
1.6 Java naot #6 5.12 299,389 535 5.11
1.6 Haskell GHC #3 6.97 697,176 544 15.86
1.6 Java naot #3 4.85 290,574 546 4.85
1.6 Java naot #2 5.15 299,610 558 5.15
1.6 Haskell GHC #5 7.22 684,757 567 15.49
1.7 Lisp SBCL 9.60 665,092 595 9.58
1.7 Python 3 34.85 445,649 597 122.94
1.7 Haskell GHC #6 3.92 246,542 601 7.63
1.8 Go #6 27.93 416,195 618 29.26
1.9 Julia #3 7.40 564,216 640 19.51
1.9 Chapel #5 2.09 1,825,436 646 7.30
1.9 Perl #3 110.03 2,260,713 655 6 min
1.9 C gcc 21.21 272,065 660 21.21
1.9 C# naot 6.80 2,819,092 668 18.71
1.9 Python 3 #5 35.37 806,117 669 125.53
1.9 Lua #4 47.56 2,055,766 670 176.34
2.0 Go #2 14.21 635,613 672 56.53
2.0 Pharo Smalltalk 35.22 399,409 673 35.41
2.0 C# naot #3 6.71 2,829,128 688 17.67
2.0 Lua #3 82.05 1,753,616 690 163.72
2.1 C# naot #7 6.22 1,115,476 706 16.92
2.1 C# naot #2 6.22 1,018,946 717 17.10
2.1 Node.js 8.94 1,389,228 717 33.88
2.1 Swift 18.21 763,523 720 54.00
2.1 Rust #2 1.17 140,157 729 4.12
2.2 Node.js #6 8.61 1,275,720 752 31.10
2.2 OCaml #2 3.55 868,213 759 10.48
2.2 Rust 2.10 137,417 760 7.44
2.2 C++ g++ 2.69 1,896,727 760 9.42
2.2 Rust #3 1.40 172,392 762 5.05
2.2 Rust #4 1.38 202,686 765 4.95
2.2 PHP #7 22.24 1,316,532 767 81.13
2.2 Perl #4 77.36 2,587,648 769 281.04
2.2 Rust #5 1.07 139,121 771 3.72
2.2 Swift #4 17.62 733,094 772 55.85
2.3 Intel Fortran 32.74 540,066 780 32.73
2.3 PHP #4 24.74 1,280,827 786 81.41
2.3 Perl #6 39.22 782,742 800 144.71
2.3 Perl #5 50.17 1,078,489 805 185.46
2.3 Go #3 14.90 329,499 806 57.98
2.3 Haskell GHC #4 2.16 227,852 807 5.32
2.4 Swift #5 18.90 764,391 813 56.23
2.4 C++ g++ #9 1.76 140,571 815 4.65
2.4 C gcc #2 1.56 174,780 816 4.24
2.4 Haskell GHC #7 2.66 237,572 817 6.72
2.4 Swift #2 18.24 732,828 822 58.93
2.4 C++ g++ #4 2.22 273,977 826 5.23
2.4 Java naot #7 3.90 338,911 841 7.25
2.4 C gcc #3 1.96 138,711 842 4.72
2.5 Java naot #4 5.54 305,373 846 5.53
2.5 C++ g++ #6 1.93 273,973 851 4.77
2.5 * Racket #4 4.81 471,519 861 9.30
2.5 Swift #3 18.26 733,180 868 58.19
2.5 Dart aot #7 9.57 635,625 869 23.66
2.5 PHP #6 38.32 2,379,801 877 130.85
2.6 C++ g++ #5 1.17 208,171 891 4.11
2.6 Ada 2012 GNAT 23.45 275,038 896 23.44
2.6 C++ g++ #7 1.01 175,108 896 3.44
2.7 C gcc #5 8.71 361,587 914 31.96
2.7 Lisp SBCL #3 2.83 641,151 938 7.18
2.8 C++ g++ #3 2.28 273,715 951 5.06
2.8 Go #5 14.68 386,056 957 58.09
2.8 Free Pascal #5 2.12 136,892 959 5.04
2.8 Free Pascal #6 2.12 136,897 967 5.05
2.9 Free Pascal #7 2.17 136,897 1010 5.15
3.0 Ruby #5 18.86 2,280,051 1016 53.80
3.0 Dart aot #5 12.17 524,239 1023 29.92
3.0 PHP #5 47.09 1,745,932 1048 124.38
3.4 Intel Fortran #2 2.24 148,124 1155 6.93
3.5 Dart aot #3 17.52 4,337,738 1219 54.09
3.6 Python 3 #3 51.88 819,077 1247 148.88
3.7 Ada 2012 GNAT #3 11.26 545,702 1275 37.28
4.1 Dart aot #4 10.24 692,199 1394 24.21
6.2 Ada 2012 GNAT #4 4.16 210,969 2117 12.10
C# naot #6 Empty
Swift #9 Empty