The Computer Language
24.04 Benchmarks Game

fasta

First a few simple programs.

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

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

  source secs mem gz    
  Rust #4 3.45 123,784 944    
  Haskell GHC 7.23 19,644 975    
  Python 3 60.37 19,652 823    
 
 
 
× source secs mem gz cpu secs cpu load
1.0 C gcc #9 0.78 19,520 1469 0.78 1% 98% 0% 0%
1.0 Chapel #6 0.79 19,648 1108 0.80 98% 0% 6% 1%
1.5 Julia #8 1.10 245,760 1094 1.19 0% 20% 3% 86%
1.6 C gcc #5 1.24 19,520 1286 1.24 0% 0% 100% 0%
2.3 C++ g++ #2 1.81 19,668 1129 1.81 1% 0% 100% 0%
2.4 C++ g++ 1.90 19,664 1064 1.90 0% 0% 99% 0%
2.6 Rust #3 2.00 19,656 1235 2.00 0% 0% 1% 100%
2.6 Classic Fortran #4 2.05 19,728 1355 2.05 0% 2% 0% 100%
3.2 Julia #5 2.41 262,528 957 2.50 0% 100% 1% 4%
3.3 Ada 2012 GNAT #5 2.56 19,660 2220 2.56 2% 0% 100% 0%
3.3 Ada 2012 GNAT #2 2.58 19,668 2158 2.58 1% 0% 0% 100%
3.4 C++ g++ #3 2.62 19,664 1311 2.62 0% 0% 0% 100%
3.5 C gcc #6 0.93 19,648 1936 2.73 97% 97% 1% 100%
3.6 C gcc #8 2.79 19,520 1299 2.79 0% 1% 0% 100%
3.7 Julia #4 2.79 249,088 1053 2.88 0% 100% 0% 4%
3.9 C gcc #4 3.02 19,520 1244 3.02 1% 0% 100% 0%
4.0 Rust #8 0.92 19,784 1952 3.10 84% 84% 83% 88%
4.2 C gcc #2 0.83 19,520 2270 3.26 100% 98% 100% 100%
4.2 Java  #4 3.15 42,784 1528 3.26 1% 1% 99% 3%
4.2 C gcc #7 0.85 19,648 2018 3.29 96% 96% 98% 96%
4.2 Rust #2 0.91 19,656 1910 3.29 89% 94% 90% 90%
4.3 Rust #5 0.91 19,656 1963 3.30 89% 89% 90% 94%
4.3 C++ g++ #4 3.32 19,664 1291 3.32 0% 0% 100% 0%
4.3 OCaml #6 3.36 201,856 1194 3.36 0% 0% 100% 0%
4.4 Rust #4 3.45 123,784 944 3.45 0% 1% 100% 0%
4.5 Chapel #5 0.95 19,772 1391 3.47 98% 89% 89% 88%
4.5 Rust #6 3.48 123,784 959 3.48 0% 100% 0% 0%
4.8 Java #6 1.18 48,408 2549 3.71 75% 79% 87% 73%
4.8 C gcc 3.74 19,520 1209 3.73 0% 1% 100% 0%
4.8 Go 3.73 19,804 1055 3.74 0% 0% 0% 100%
4.9 Java #5 1.24 48,752 2478 3.81 76% 77% 83% 72%
5.0 C++ g++ #6 1.05 19,668 2326 3.85 92% 92% 93% 91%
5.0 C++ g++ #5 1.05 19,668 2345 3.88 93% 92% 93% 93%
5.2 Chapel #3 4.01 19,772 1219 4.02 99% 0% 1% 0%
5.2 Go #2 1.26 19,672 1405 4.03 81% 77% 87% 77%
5.2 Dart #4 3.95 404,164 1307 4.05 9% 91% 1% 2%
5.3 Go #3 1.50 19,664 1362 4.08 66% 81% 81% 47%
5.3 F# .NET #3 1.14 72,032 1361 4.13 92% 91% 94% 87%
5.7 Lisp SBCL #6 4.42 19,668 1763 4.42 100% 0% 0% 0%
5.7 Dart 4.43 19,532 1407 4.44 0% 0% 0% 100%
5.8 C gcc #3 4.49 19,520 825 4.48 0% 0% 0% 100%
5.8 Java #2 4.35 47,184 1259 4.50 23% 23% 54% 3%
5.8 Rust 4.52 19,656 1240 4.52 0% 100% 0% 1%
6.0 F# .NET #4 1.24 90,032 1355 4.62 96% 91% 92% 93%
6.0 OCaml #3 4.66 19,796 1075 4.66 0% 100% 0% 0%
6.0 Dart #5 2.92 410,268 1489 4.67 58% 4% 1% 97%
6.3 Dart #3 4.87 491,188 1114 4.88 1% 98% 2% 0%
6.9 C# .NET #5 1.48 49,500 1702 5.38 87% 98% 86% 93%
7.2 Free Pascal #6 5.58 19,676 1196 5.58 0% 0% 0% 100%
7.3 Free Pascal #5 5.64 19,792 1225 5.64 0% 1% 0% 100%
7.5 Lisp SBCL #3 5.82 19,796 1592 5.82 0% 100% 0% 0%
8.1 Ada 2012 GNAT 6.28 19,664 1381 6.28 0% 99% 0% 0%
8.5 Classic Fortran #3 6.55 19,728 1217 6.55 100% 0% 1% 0%
8.5 C# .NET 1.83 52,060 2113 6.61 90% 85% 96% 91%
8.8 Classic Fortran 6.85 19,728 1193 6.85 0% 0% 0% 100%
9.4 Haskell GHC 7.23 19,644 975 7.32 0% 98% 0% 0%
11 Haskell GHC #3 8.72 616,692 1091 8.84 26% 8% 36% 31%
12 Lisp SBCL 9.24 21,760 1430 9.24 99% 1% 0% 0%
12 Lisp SBCL #2 9.25 19,668 1628 9.25 0% 0% 100% 0%
14 Julia #3 11.04 247,412 901 11.13 0% 1% 1% 99%
19 Dart #2 14.48 19,532 1075 14.48 99% 0% 0% 0%
24 Racket 18.32 74,776 1071 18.31 0% 0% 0% 100%
25 Haskell GHC #2 6.27 438,784 1323 19.11 72% 76% 93% 71%
28 PHP #3 21.34 19,396 1065 21.33 100% 0% 0% 0%
28 Erlang #2 18.95 41,932 1170 21.45 2% 5% 7% 97%
30 Ruby #6 23.07 120,064 1070 23.07 0% 0% 100% 0%
31 Lua #2 24.01 19,672 1065 24.01 100% 0% 0% 0%
31 Lua #3 24.02 19,672 1065 24.02 0% 100% 0% 0%
37 PHP #2 28.90 19,396 1054 28.90 100% 0% 0% 0%
37 VW Smalltalk 29.04 55,296 1542 29.04 0% 0% 100% 0%
46 Ruby #3 35.52 120,064 1004 35.52 0% 100% 0% 0%
50 Python 3 #2 38.53 19,652 1126 38.53 100% 0% 0% 0%
50 Python 3 #3 38.86 19,780 1007 38.86 100% 0% 0% 0%
53 Node js 40.47 50,244 815 40.80 99% 0% 0% 0%
69 Python 3 #5 26.54 827,148 1951 53.26 67% 45% 21% 67%
78 Python 3 60.37 19,652 823 60.37 0% 0% 100% 0%
81 Perl 62.98 55,296 875 62.98 100% 0% 0% 0%
118 Ruby #5 91.70 22,784 1000 91.69 100% 0% 0% 0%
121 Ruby #2 93.97 147,548 747 93.97 0% 0% 100% 0%
124 Ruby #4 95.74 266,496 864 95.73 42% 0% 57% 0%
172 Perl #4 133.86 19,656 969 133.60 0% 84% 15% 0%
227 Erlang 86.89 40,612 1045 175.84 1% 99% 2% 99%
235 Perl #2 182.59 19,656 926 182.43 0% 99% 0% 0%
373 Matz's Ruby #6 289.49 101,988 1071 289.23 99% 1% 1% 1%
387 Matz's Ruby #3 5 min 101,972 1020 5 min 0% 100% 0% 0%
438 Matz's Ruby #4 5 min 275,604 860 5 min 0% 0% 0% 99%
495 Matz's Ruby #5 6 min 11,144 995 6 min 0% 0% 0% 100%
578 Matz's Ruby #2 7 min 248,352 743 7 min 0% 0% 83% 17%
C++ g++ #7 Make Error
 
 
  hand-written vector instructions | "unsafe"
 
× source secs mem gz cpu secs cpu load
2.0 C++ g++ #8 0.76 19,792 2758 1.51 98% 1% 38% 61%
2.0 Rust #7 0.76 19,664 2533 1.51 1% 37% 100% 63%
4.9 Swift #2 2.18 19,680 1952 3.83 9% 45% 69% 55%
5.8 Julia #7 1.80 439,584 1189 4.51 69% 75% 54% 54%
6.1 Haskell GHC #4 1.89 41,216 2017 4.73 61% 63% 62% 64%
6.2 Julia #6 2.05 475,160 1213 4.78 71% 73% 46% 48%
6.6 Swift 5.15 19,676 1533 5.15 1% 100% 0% 0%
6.8 Swift #3 2.14 29,584 2097 5.26 45% 93% 60% 50%
8.0 Node js #5 2.21 100,552 2050 6.20 68% 70% 76% 69%
8.1 Haskell GHC #5 2.45 19,652 2004 6.27 65% 63% 67% 65%
8.4 Haskell GHC #6 2.35 19,648 1885 6.49 69% 68% 69% 69%
10 Racket #3 8.07 76,708 1291 8.07 1% 100% 0% 0%