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