The Computer Language
24.06 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.58 123,656 944    
  Haskell GHC 7.23 19,676 975    
  Python 3 57.01 19,652 823    
 
 
 
× source secs mem gz cpu secs cpu load
1.0 C gcc #9 0.78 19,684 1469 0.78 100% 1% 0% 1%
1.0 Chapel #6 0.79 19,636 1108 0.80 100% 2% 0% 1%
1.1 C gcc #2 0.82 19,684 2276 3.25 98% 100% 100% 98%
1.1 C gcc #7 0.84 19,684 2018 3.27 97% 96% 96% 100%
1.2 Rust #8 0.92 19,072 1952 3.11 83% 83% 84% 88%
1.2 Rust #5 0.93 19,072 1963 3.37 90% 91% 94% 92%
1.2 Rust #2 0.94 19,072 1910 3.37 89% 89% 92% 89%
1.2 C gcc #6 0.94 19,684 1936 2.77 100% 97% 1% 97%
1.2 Chapel #5 0.95 19,620 1391 3.46 99% 88% 89% 88%
1.4 C++ g++ #5 1.07 19,712 2345 3.67 86% 86% 86% 86%
1.4 C++ g++ #6 1.07 19,712 2326 3.85 90% 90% 90% 90%
1.4 Julia #8 1.11 248,320 1094 1.20 1% 99% 0% 9%
1.5 F# .NET #3 1.13 72,912 1361 4.17 98% 90% 91% 92%
1.5 Java  #6 1.18 48,364 2549 3.74 84% 75% 78% 81%
1.6 C gcc #5 1.24 19,684 1286 1.24 99% 1% 0% 0%
1.6 Java #5 1.26 48,824 2478 4.17 86% 87% 79% 82%
1.6 Go #2 1.27 19,664 1405 4.07 81% 83% 77% 81%
1.7 F# .NET #4 1.29 101,008 1355 4.87 97% 95% 93% 94%
1.9 Go #3 1.50 19,664 1362 4.08 78% 63% 81% 52%
1.9 C# .NET #5 1.50 62,072 1702 5.46 94% 89% 87% 94%
2.3 C++ g++ #2 1.80 19,712 1129 1.80 100% 0% 0% 1%
2.4 C# .NET 1.84 52,300 2113 6.73 91% 93% 94% 89%
2.4 C++ g++ 1.90 19,712 1064 1.90 100% 0% 0% 1%
2.6 Rust #3 1.99 19,072 1235 1.99 0% 100% 0% 0%
2.6 Classic Fortran #4 2.06 19,644 1355 2.06 100% 1% 0% 0%
3.1 Julia #5 2.43 265,472 957 2.52 5% 99% 1% 1%
3.3 Ada 2012 GNAT #5 2.59 19,720 2220 2.59 0% 0% 100% 0%
3.4 C++ g++ #3 2.62 19,712 1311 2.62 85% 0% 1% 14%
3.4 Ada 2012 GNAT #2 2.62 19,720 2158 2.62 0% 100% 0% 1%
3.6 C gcc #8 2.79 19,684 1299 2.79 100% 0% 0% 0%
3.6 Julia #4 2.81 251,904 1053 2.90 100% 0% 0% 3%
3.8 Dart #5 2.97 409,984 1489 4.74 3% 1% 57% 98%
3.9 C gcc #4 3.03 19,684 1244 3.03 100% 0% 0% 0%
4.1 Java #4 3.16 42,812 1528 3.27 1% 4% 33% 68%
4.3 C++ g++ #4 3.34 19,712 1291 3.34 0% 0% 100% 0%
4.3 OCaml #6 3.35 201,984 1194 3.35 0% 100% 0% 0%
4.5 Rust #6 3.47 123,656 959 3.46 0% 0% 100% 0%
4.6 Rust #4 3.58 123,656 944 3.58 0% 0% 0% 100%
4.8 Go 3.74 19,664 1055 3.74 100% 1% 0% 0%
4.8 C gcc 3.74 19,684 1213 3.74 100% 0% 0% 1%
5.2 Dart #4 4.02 403,060 1307 4.13 2% 1% 2% 95%
5.2 Chapel #3 4.02 19,640 1219 4.03 100% 0% 0% 0%
5.4 Rust 4.21 19,072 1240 4.21 32% 67% 0% 0%
5.5 Dart #3 4.24 489,920 1114 4.25 98% 0% 0% 1%
5.6 Lisp SBCL #6 4.33 19,620 1763 4.33 0% 100% 0% 0%
5.7 Java #2 4.39 47,624 1259 4.56 54% 2% 25% 24%
5.7 Dart 4.41 19,656 1407 4.41 0% 99% 0% 0%
5.9 C gcc #3 4.56 19,684 825 4.56 0% 0% 100% 0%
6.0 OCaml #3 4.68 19,628 1075 4.67 0% 0% 100% 0%
7.2 Free Pascal #6 5.60 19,636 1196 5.60 100% 0% 0% 1%
7.2 Lisp SBCL #3 5.62 23,040 1592 5.62 7% 93% 0% 0%
7.3 Free Pascal #5 5.65 19,636 1225 5.65 0% 0% 100% 0%
8.0 Ada 2012 GNAT 6.25 19,720 1381 6.25 100% 0% 0% 0%
8.3 Haskell GHC #2 6.42 438,272 1323 19.51 72% 76% 84% 82%
8.3 Classic Fortran #3 6.42 19,644 1217 6.42 0% 0% 99% 0%
8.8 Classic Fortran 6.85 19,644 1193 6.85 0% 0% 100% 0%
9.3 Haskell GHC 7.23 19,676 975 7.32 2% 82% 2% 16%
11 Haskell GHC #3 8.52 617,464 1091 8.64 54% 45% 0% 0%
12 Lisp SBCL #2 9.19 23,040 1628 9.19 3% 96% 0% 0%
12 Lisp SBCL 9.42 25,984 1430 9.42 50% 49% 0% 0%
14 Julia #3 11.14 249,984 901 11.23 1% 98% 0% 1%
18 Dart #2 13.99 19,656 1075 14.00 27% 72% 0% 0%
24 Racket 18.72 75,388 1071 18.71 0% 0% 0% 100%
25 Erlang #2 19.29 55,904 1170 21.10 3% 99% 1% 4%
27 PHP #3 21.11 19,656 1065 21.11 0% 0% 100% 0%
30 Ruby yjit #6 23.18 120,064 1097 23.18 0% 0% 0% 100%
31 Lua #3 24.08 19,652 1065 24.08 0% 100% 0% 0%
31 Lua #2 24.15 19,652 1065 24.14 0% 0% 0% 100%
36 Python 3 #5 28.13 827,220 1951 55.72 48% 51% 36% 63%
37 PHP #2 28.75 19,656 1054 28.75 0% 100% 0% 0%
39 VW Smalltalk 30.08 55,168 1542 30.07 0% 0% 100% 0%
46 Ruby yjit #3 35.74 120,064 1035 35.73 0% 0% 100% 0%
49 Python 3 #2 37.94 19,652 1126 37.94 100% 0% 0% 0%
49 Python 3 #3 38.31 19,652 1007 38.30 100% 0% 0% 0%
51 Node.js 39.46 56,616 815 39.85 0% 76% 23% 0%
73 Python 3 57.01 19,652 823 57.01 100% 0% 0% 0%
77 Perl 60.07 55,296 875 60.07 100% 0% 0% 0%
108 Erlang 84.14 55,008 1045 170.84 76% 69% 32% 25%
119 Ruby yjit #5 92.44 22,656 1000 92.43 0% 100% 0% 0%
122 Ruby yjit #2 94.45 147,516 747 94.45 0% 100% 0% 0%
124 Ruby yjit #4 96.56 266,368 864 96.55 3% 96% 0% 0%
163 Perl #4 126.60 19,684 969 125.89 0% 0% 0% 99%
244 Perl #2 189.89 19,684 926 189.24 0% 99% 0% 0%
416 Matz's Ruby #4 5 min 275,584 864 5 min 97% 2% 0% 0%
470 Matz's Ruby #5 6 min 19,688 1000 6 min 99% 0% 0% 0%
552 Matz's Ruby #2 7 min 248,360 747 7 min 100% 0% 0% 0%
C++ g++ #7 Make Error
Matz's Ruby #3 Failed
Matz's Ruby #6 Failed
 
 
  hand-written vector instructions | "unsafe"
 
× source secs mem gz cpu secs cpu load
1.0 Rust #7 0.77 19,072 2533 1.54 98% 37% 63% 1%
1.0 C++ g++ #8 0.78 19,712 2758 1.54 2% 100% 64% 37%
2.3 Julia #7 1.78 477,380 1189 4.51 66% 55% 75% 58%
2.4 Haskell GHC #6 1.86 19,672 1885 5.55 75% 75% 75% 75%
2.4 Haskell GHC #4 1.89 41,216 2017 4.83 64% 66% 64% 63%
2.6 Julia #6 2.01 444,556 1213 4.40 48% 62% 38% 72%
2.8 Swift #3 2.18 29,456 2097 5.35 5% 93% 77% 71%
3.3 Node.js #5 2.56 106,236 2050 7.02 81% 65% 61% 68%
3.4 Haskell GHC #5 2.68 19,676 2004 6.80 64% 64% 64% 64%
4.0 Swift #2 3.14 19,664 1952 5.14 19% 27% 67% 51%
6.6 Swift 5.16 19,664 1533 5.16 100% 0% 0% 0%
11 Racket #3 8.20 76,564 1291 8.20 99% 0% 1% 0%