The Computer Language
25.03 Benchmarks Game

k-nucleotide 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++g++ #2 2.02 162,349 1634 6.00
1.3 Rust #7 2.57 139,088 1585 8.01
1.4 Rust #6 2.79 165,048 1697 10.05
1.5 C# naot 3.12 160,424 2046 10.66
1.6 Rust #3 3.28 142,631 1549 9.69
1.8 C gcc 3.58 135,234 1512 11.88
1.9 F# #6 3.77 200,847 1913 11.90
1.9 Rust #5 3.88 143,155 1745 11.53
2.1 C++ g++ #3 4.19 171,622 1280 13.94
2.3 F# #5 4.74 213,168 1964 16.14
2.4 F# #2 4.75 212,804 1932 16.18
2.5 Chapel #4 4.99 194,023 1074 17.10
2.5 C# naot #6 5.02 158,015 1615 12.82
3.0 Chapel #3 5.99 187,892 1044 20.90
3.0 Rust #2 6.00 142,946 1350 15.54
3.1 Java naot 6.25 366,531 1821 20.44
3.1 Rust #9 6.33 141,099 1850 17.45
3.3 Rust #4 6.69 142,090 1755 17.99
3.5 Julia #6 6.98 524,595 965 14.90
3.5 C++ g++ 7.04 778,510 1452 14.94
3.8 Go #7 7.58 168,186 1613 28.88
3.9 Ada 2012 GNAT #2 7.82 269,390 4911 16.64
4.1 Go #3 8.20 150,413 1729 29.84
4.1 Go #6 8.30 150,442 1596 30.04
4.1 Java naot #3 8.31 363,635 1642 28.17
4.1 Java naot #6 8.35 397,414 1614 28.29
4.4 Lisp SBCL #6 8.79 536,506 2485 31.50
4.6 Go #4 9.27 144,650 1552 30.77
4.9 Julia #7 9.93 575,861 1379 23.75
5.3 Lisp SBCL 10.80 589,226 2431 33.59
5.6 F# #4 11.38 1,356,919 1522 29.39
6.4 F# #3 13.00 1,357,251 1124 28.94
6.4 C# naot #4 13.01 523,211 1725 45.59
7.2 * Swift #2 14.45 273,949 1373 54.84
7.3 Dart aot #3 14.76 221,225 1526 40.72
7.8 Lisp SBCL #4 15.75 168,317 2292 15.73
7.8 Lisp SBCL #5 15.84 169,165 2323 15.82
7.9 Node.js #3 15.99 448,524 1817 44.17
8.0 * OCaml #3 16.17 286,568 1839 44.28
10 Rust 21.08 161,219 1086 64.57
11 Java naot #5 22.53 203,649 2225 51.37
12 * Haskell GHC #2 23.30 864,707 1492 90.15
13 Haskell GHC 25.42 813,838 1067 89.88
13 PHP #4 25.77 270,369 1290 89.30
13 * OCaml #2 27.23 363,422 1247 61.88
17 * Haskell GHC #3 35.14 432,185 2266 130.82
17 Perl 35.15 1,286,410 659 127.55
18 Node.js #2 35.57 1,897,566 941 109.31
18 Java naot #4 36.76 183,878 1887 36.84
19 Node.js 37.72 1,361,019 1011 114.01
19 Perl #4 38.15 1,101,009 483 131.14
20 F# 39.58 932,966 713 92.45
22 Lisp SBCL #2 44.39 528,470 1291 44.37
22 Lisp SBCL #3 44.68 528,470 1297 44.65
23 * OCaml 45.59 348,320 894 45.58
23 Python 3 #3 46.55 674,185 1970 182.00
24 C# naot #7 48.00 593,142 1449 48.33
25 Perl #3 51.38 1,180,799 520 170.72
30 Go #8 61.38 558,379 752 62.02
31 Racket #4 61.86 991,015 893 61.77
33 Python 3 #9 66.67 392,184 614 235.89
38 Python 3 #4 76.67 523,751 663 233.07
39 PHP #8 79.70 649,593 571 79.66
42 C# naot #8 83.91 1,354,269 736 75.22
42 Java naot #8 85.57 1,782,706 786 86.86
43 Ruby 87.55 478,077 583 5 min
45 Lua #2 90.52 613,040 620 90.49
52 Node.js #8 105.52 734,392 678 106.25
56 Perl #2 112.16 678,937 365 112.11
66 Julia 132.79 1,696,670 703 133.71
83 Swift #8 166.95 650,023 658 166.90
96 Racket 194.59 2,679,632 554 194.49
111 Swift #7 223.40 650,023 607 223.34
116 Python 3 #8 234.08 642,265 525 233.99
116 Python 3 234.20 515,047 499 234.09
121 Ruby #7 243.79 399,401 792 244.17
130 Ruby #2 262.22 179,548 426 262.13
130 Ruby #3 263.08 207,466 546 263.47
244 Pharo Smalltalk #2 8 min 671,744 1105 8 min
257 Ruby #8 8 min 872,055 529 8 min
278 Pharo Smalltalk 9 min 671,412 1196 9 min
278 Dart aot #8 9 min 536,519 676 9 min
281 Dart aot 9 min 479,850 628 9 min
  Erlang #3 1h 29 min 1,306,636 945 1h 33 min
  Erlang 1h 31 min 4,056,982 944 1h 35 min
Intel Fortran Empty
Pharo Smalltalk #5 Empty
Swift Empty