The Computer Language
Benchmarks Game

reverse-complement

We accept something intermediate between chaos and rigidity — enough flex & slop & play to allow for Haskell programs that are not just mechanically translated from Fortran; enough similarity in the basic workloads & tested results.

Programming language advocates and curious programmers have contributed new programs and introduced newer techniques. Look at the slower simple sequential programs, and  look at the parallel programs written for multicore, and  look at the low-level programs written for SIMD. Always look at the source code.

× source secs mem gz busy cpu load
1.0 C++ g++ #7 1.55 996,188 1226 2.66 24% 25% 99% 23%
1.0 Rust #2 1.62 994,820 1376 2.84 25% 26% 24% 100%
1.1 C gcc #3 1.78 994,532 1438 4.02 42% 96% 46% 43%
1.2 C gcc #6 1.92 615,196 820 2.71 16% 23% 100% 2%
1.3 Chapel #3 2.04 1,497,276 750 4.45 96% 48% 56% 19%
1.4 C gcc #2 2.16 994,368 750 3.25 8% 40% 25% 77%
1.4 Rust 2.17 994,956 1871 3.07 67% 25% 34% 15%
1.5 Rust #3 2.31 994,864 1382 3.50 20% 97% 17% 17%
1.8 C gcc 2.80 1,971,072 1874 4.06 28% 30% 86% 0%
1.8 C gcc #5 2.84 994,048 647 2.87 0% 1% 0% 100%
1.9 Chapel #2 2.93 1,508,956 707 5.29 96% 40% 13% 32%
1.9 F# .NET Core #5 2.94 1,031,376 1140 8.33 54% 37% 95% 97%
1.9 C++ g++ #4 2.99 980,704 2280 4.65 51% 40% 14% 50%
2.0 F# .NET Core #4 3.08 1,031,148 1139 8.27 47% 54% 84% 84%
2.0 C# .NET Core #6 3.11 1,029,996 1621 7.76 75% 95% 41% 38%
2.1 Java  #8 3.26 738,800 2183 7.49 44% 63% 73% 48%
2.3 Go #6 3.55 1,783,340 1338 6.26 45% 32% 41% 59%
2.4 OCaml 3.71 34,116 1368 8.66 65% 54% 54% 60%
2.4 Swift 3.71 789,516 1286 4.49 38% 2% 0% 81%
2.4 C++ g++ #2 3.72 979,700 1087 4.88 10% 35% 76% 10%
2.4 Go #2 3.78 826,752 611 3.94 0% 1% 3% 100%
2.5 Ada 2012 GNAT #2 3.87 793,072 3283 4.44 73% 39% 1% 1%
2.6 Go #3 4.06 826,492 605 4.23 100% 2% 2% 0%
2.7 Java OpenJ9 #8 4.17 987,052 2183 7.83 49% 29% 61% 50%
2.7 Java OpenJ9 #3 4.18 1,252,460 1722 11.04 46% 56% 84% 79%
2.7 C# .NET Core #5 4.20 1,033,728 1613 6.54 9% 30% 92% 25%
2.8 F# .NET Core #3 4.40 2,025,388 557 6.08 15% 23% 97% 4%
2.9 C++ g++ #3 4.47 500,080 840 4.52 100% 0% 1% 0%
3.0 Node js #8 4.61 1,100,708 1307 11.00 60% 50% 60% 68%
3.1 Fortran Intel 4.82 985,340 1019 4.86 100% 0% 0% 1%
3.1 Julia #5 4.85 714,064 724 5.36 2% 5% 4% 99%
3.1 Java #3 4.87 1,175,360 1722 10.97 42% 87% 51% 46%
3.3 Go #5 5.18 1,269,940 996 6.10 25% 57% 7% 29%
3.6 Julia #4 5.61 697,984 667 5.96 99% 3% 2% 3%
3.7 C# .NET Core #4 5.69 1,846,116 1714 8.26 27% 13% 81% 24%
4.0 Java #6 6.22 2,061,172 752 7.49 2% 4% 83% 32%
4.0 Haskell GHC #3 6.28 501,496 1020 8.42 11% 11% 11% 100%
4.1 C# .NET Core #2 6.30 2,769,140 1674 11.12 47% 53% 38% 39%
4.1 C++ g++ #6 6.30 1,489,944 1832 8.94 69% 19% 23% 31%
4.1 Chapel 6.31 996,812 643 8.05 99% 7% 8% 15%
4.3 C# .NET Core 6.71 1,029,864 1109 6.88 1% 74% 26% 1%
4.9 Java #5 7.59 1,128,636 1108 8.07 4% 97% 1% 4%
4.9 C gcc #4 7.63 500,396 709 7.73 1% 100% 0% 0%
5.1 Free Pascal #2 7.86 499,600 771 7.93 0% 1% 1% 100%
6.4 Java #4 9.96 1,932,492 651 10.42 90% 2% 3% 10%
6.4 Julia #3 9.97 1,398,176 694 10.45 2% 99% 2% 1%
6.5 Java OpenJ9 #6 10.16 2,047,552 752 11.57 3% 2% 22% 86%
6.6 Perl #3 10.31 1,494,344 287 10.42 0% 0% 100% 0%
7.2 C++ g++ 11.22 979,900 592 11.30 100% 0% 1% 0%
7.7 Lisp SBCL 11.89 1,403,692 904 12.25 0% 2% 2% 100%
7.8 Java OpenJ9 #5 12.12 1,146,212 1108 12.87 34% 64% 3% 5%
8.8 PHP #3 13.60 528,064 438 20.95 33% 33% 26% 62%
10 Java OpenJ9 #4 16.18 2,034,964 651 17.21 2% 96% 3% 5%
10 Node js #7 16.20 706,624 1103 17.72 28% 11% 6% 64%
11 Python 3 #6 16.52 1,004,988 814 22.37 28% 41% 20% 47%
11 PHP 17.46 1,469,780 312 17.70 1% 1% 0% 100%
11 Racket #2 17.52 654,488 1030 17.73 0% 0% 1% 100%
12 Ada 2012 GNAT 19.11 505,836 937 19.35 0% 1% 100% 0%
12 Haskell GHC #2 19.25 3,462,100 982 20.76 15% 13% 16% 63%
14 PHP #2 21.37 1,779,800 274 21.60 1% 100% 0% 0%
15 Racket CS #2 22.58 896,744 1030 22.71 0% 100% 0% 0%
15 Node js #2 23.66 707,092 1221 25.41 4% 10% 41% 51%
15 C# .NET Core #3 23.84 1,216,964 915 38.71 35% 58% 33% 37%
16 Ruby #5 24.62 1,605,020 295 45.49 61% 67% 35% 22%
22 Ruby #2 33.99 504,996 264 67.58 68% 41% 51% 38%
24 Java #7 37.87 1,031,428 1647 39.55 44% 21% 8% 31%
25 Matz's Ruby #2 38.45 492,804 264 38.84 100% 0% 1% 0%
28 C++ g++ #5 43.81 703,972 720 44.45 0% 1% 1% 100%
29 Java OpenJ9 #7 45.19 1,084,372 1647 56.03 42% 24% 34% 25%
31 Racket CS 47.91 2,604,496 553 49.07 47% 54% 1% 1%
37 Racket 56.76 1,736,796 553 57.93 1% 100% 0% 1%
38 Ruby #4 58.56 2,002,436 622 130.93 61% 63% 44% 56%
39 Erlang HiPE 60.67 2,152,912 1302 145.40 60% 52% 64% 63%
42 Fortran Intel #2 64.64 762,808 772 65.42 0% 0% 1% 100%
43 Julia #2 66.22 1,602,768 460 69.08 100% 1% 2% 1%
50 Lua #2 77.65 2,932,848 553 77.85 26% 1% 4% 69%
52 Lua #5 80.31 2,168,372 752 80.74 0% 1% 0% 99%
57 Lua #4 88.39 1,408,700 594 89.45 100% 1% 0% 0%
66 Ruby #3 102.21 1,505,744 537 224.84 62% 42% 61% 55%
122 Erlang HiPE #4 189.96 1,977,352 1171 271.72 24% 24% 65% 30%
128 Python 3 #4 199.50 3,729,048 335 236.06 11% 10% 66% 31%
138 F# .NET Core 214.57 2,365,776 595 275.79 66% 34% 13% 16%
142 JRuby #2 220.04 2,857,440 264 257.93 37% 8% 8% 64%
171 Pharo Smalltalk #2 265.01 1,067,592 713 282.84 9% 11% 32% 55%
176 Dart #4 273.02 1,239,208 885 295.94 20% 24% 16% 49%
180 Dart snapshot #4 279.05 1,208,976 885 5 min 8% 19% 71% 10%
181 Dart aot #4 281.26 1,162,800 885 5 min 18% 22% 47% 19%
195 Erlang HiPE #3 5 min 3,522,152 630 6 min 26% 41% 28% 24%
556 Pharo Smalltalk 14 min 1,067,660 892 14 min 76% 1% 2% 24%
Dart #3 Failed
Dart #2 Failed
Dart aot #3 Failed
Dart aot #2 Failed
Dart snapshot #2 Failed
Dart snapshot #3 Failed
F# .NET Core #2 Failed
Go Failed
Julia Bad Output
Lisp SBCL #2 Failed
OCaml #4 Make Error
OCaml #2 Make Error
OCaml #3 Make Error
Ruby Failed
Matz's Ruby #5 Failed
Matz's Ruby #3 Failed
Matz's Ruby Failed
Matz's Ruby #4 Failed
JRuby #3 Failed
JRuby Failed
TypeScript Failed
VW Smalltalk Bad Output