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 gcc #6 1.90 533,424 820 2.58 6% 20% 10% 99%
1.2 C gcc #2 2.20 994,356 750 3.27 19% 23% 91% 16%
1.2 Rust 2.21 995,040 1871 3.10 1% 48% 24% 67%
1.5 C gcc #5 2.87 994,188 647 2.88 0% 0% 100% 0%
1.5 C gcc 2.87 1,971,104 1874 4.23 30% 28% 86% 4%
1.5 F# .NET Core #5 2.94 1,031,376 1140 8.33 54% 37% 95% 97%
1.6 F# .NET Core #4 3.08 1,031,148 1139 8.27 47% 54% 84% 84%
1.6 C# aot #6 3.09 1,030,244 1621 7.65 56% 36% 86% 70%
1.6 C# .NET Core #6 3.11 1,029,996 1621 7.76 75% 95% 41% 38%
1.7 Java  #8 3.16 712,368 2183 7.08 65% 47% 42% 70%
2.0 OCaml 3.78 33,952 1368 8.78 60% 55% 58% 60%
2.0 C++ g++ #2 3.80 979,596 1087 4.95 11% 10% 29% 80%
2.0 Swift 3.82 714,868 1286 4.57 81% 3% 36% 0%
2.0 Go #6 3.83 1,782,940 1338 6.67 21% 74% 16% 62%
2.0 Go #2 3.87 826,772 611 4.07 0% 1% 13% 90%
2.1 Ada 2012 GNAT #2 4.00 816,936 3283 4.56 40% 1% 1% 73%
2.2 Go #3 4.15 826,480 605 4.32 4% 24% 0% 76%
2.2 C# aot #5 4.17 1,033,620 1613 6.47 22% 21% 95% 16%
2.2 C# .NET Core #5 4.20 1,033,728 1613 6.54 9% 30% 92% 25%
2.2 Java OpenJ9 #8 4.27 987,572 2183 7.82 37% 28% 93% 26%
2.3 F# .NET Core #3 4.40 2,025,388 557 6.08 15% 23% 97% 4%
2.3 Java OpenJ9 #3 4.44 1,257,372 1722 11.56 76% 74% 58% 53%
2.4 Julia #5 4.54 701,556 724 4.93 85% 3% 4% 17%
2.4 Node js #8 4.61 1,100,708 1307 11.00 60% 50% 60% 68%
2.5 C++ g++ #3 4.71 500,036 840 4.79 14% 86% 0% 1%
2.6 Java #3 4.86 1,173,216 1722 11.03 44% 53% 78% 52%
2.6 Fortran Intel 4.90 985,348 1019 4.95 0% 1% 0% 100%
2.8 Go #5 5.32 1,272,032 996 6.24 2% 39% 16% 60%
3.0 C# aot #4 5.68 1,846,360 1714 9.40 85% 38% 32% 10%
3.0 C# .NET Core #4 5.69 1,846,116 1714 8.26 27% 13% 81% 24%
3.3 C# .NET Core #2 6.30 2,769,140 1674 11.12 47% 53% 38% 39%
3.3 Chapel 6.33 996,912 643 8.11 99% 7% 6% 16%
3.3 C++ g++ #6 6.35 1,489,472 1832 8.91 31% 70% 17% 23%
3.4 C# aot #2 6.39 2,714,964 1674 11.60 32% 70% 27% 53%
3.4 Haskell GHC #3 6.42 501,528 1020 9.38 14% 100% 16% 16%
3.5 C# .NET Core 6.71 1,029,864 1109 6.88 1% 74% 26% 1%
3.6 Java #6 6.76 2,061,508 752 8.13 81% 5% 33% 1%
3.6 C# aot 6.77 1,030,212 1109 7.49 5% 50% 8% 48%
4.0 C gcc #4 7.65 500,448 709 7.76 1% 1% 100% 0%
4.0 Java #5 7.65 1,128,076 1108 8.12 36% 2% 4% 64%
4.1 Free Pascal #2 7.86 499,600 771 7.93 0% 1% 1% 100%
4.9 Julia #4 9.40 701,340 667 9.85 1% 3% 2% 99%
5.3 Java #4 10.01 1,930,844 651 10.50 3% 95% 5% 3%
5.3 Java OpenJ9 #6 10.16 2,048,068 752 12.36 6% 89% 5% 22%
5.5 Perl #3 10.50 1,494,784 287 10.62 0% 0% 1% 100%
6.0 C++ g++ 11.47 980,064 592 11.59 73% 27% 0% 1%
6.3 Lisp SBCL 11.93 1,400,620 904 12.09 65% 1% 0% 36%
6.4 Java OpenJ9 #5 12.12 1,125,400 1108 12.70 1% 40% 61% 3%
7.6 PHP #3 14.40 531,492 438 22.70 58% 30% 22% 48%
7.7 Julia #3 14.60 1,400,088 694 15.18 99% 2% 2% 1%
8.4 Java OpenJ9 #4 15.95 1,900,448 651 16.71 3% 42% 59% 1%
8.5 Node js #7 16.20 706,624 1103 17.72 28% 11% 6% 64%
8.9 Python 3 #2 16.93 1,777,852 434 17.58 78% 21% 4% 0%
9.1 Racket #2 17.29 656,032 1030 17.54 0% 1% 100% 0%
10 PHP 18.83 1,463,344 312 20.68 1% 19% 88% 2%
10 Ada 2012 GNAT 19.35 505,736 937 19.49 95% 0% 0% 5%
10 Python 3 19.63 1,942,076 479 20.97 85% 12% 9% 0%
11 Python 3 #6 21.38 1,005,060 814 22.61 20% 11% 28% 47%
12 Racket CS #2 22.94 789,844 1030 23.24 0% 32% 70% 0%
12 C# aot #3 23.59 1,110,876 915 38.25 29% 48% 61% 23%
12 Node js #2 23.66 707,092 1221 25.41 4% 10% 41% 51%
13 C# .NET Core #3 23.84 1,216,964 915 38.71 35% 58% 33% 37%
13 Ruby #5 24.62 1,605,020 295 45.49 61% 67% 35% 22%
13 PHP #2 25.01 1,772,604 274 25.70 23% 1% 3% 76%
14 Haskell GHC #2 26.59 3,463,932 982 20.47 14% 9% 8% 46%
16 Lisp SBCL #2 29.91 1,469,612 647 30.34 94% 0% 1% 7%
18 Ruby #2 33.99 504,996 264 67.58 68% 41% 51% 38%
20 Matz's Ruby #2 38.45 492,804 264 38.84 100% 0% 1% 0%
22 Java #7 41.67 1,031,728 1647 43.42 51% 7% 8% 37%
22 Erlang HiPE 41.91 2,708,764 1302 116.88 73% 80% 62% 64%
24 Java OpenJ9 #7 45.68 1,086,892 1647 59.65 42% 29% 25% 35%
25 C++ g++ #5 47.43 739,688 720 48.01 1% 0% 0% 100%
26 Racket CS 50.23 2,616,084 553 51.46 42% 25% 2% 33%
30 Racket 56.24 1,733,844 553 56.85 0% 61% 39% 1%
31 Ruby #4 58.56 2,002,436 622 130.93 61% 63% 44% 56%
34 Fortran Intel #2 63.77 766,004 772 64.83 0% 1% 0% 100%
36 Julia #2 68.18 1,688,608 460 69.84 1% 43% 58% 0%
41 Lua #2 77.65 2,932,848 553 77.85 26% 1% 4% 69%
42 Lua #5 80.31 2,168,372 752 80.74 0% 1% 0% 99%
46 Lua #4 88.39 1,408,700 594 89.45 100% 1% 0% 0%
52 JRuby #3 98.10 3,656,680 517 206.96 67% 43% 38% 62%
54 Ruby #3 102.21 1,505,744 537 224.84 62% 42% 61% 55%
103 Erlang HiPE #4 196.40 2,002,576 1171 274.37 57% 30% 37% 16%
113 F# .NET Core 214.57 2,365,776 595 275.79 66% 34% 13% 16%
123 JRuby #2 234.75 2,861,368 264 279.18 16% 24% 54% 24%
141 Pharo Smalltalk #2 267.54 1,091,396 713 287.61 20% 8% 38% 41%
147 Dart #4 279.26 1,239,640 885 5 min 21% 10% 42% 35%
149 Dart exe #4 282.67 1,161,380 885 5 min 25% 24% 19% 39%
150 Dart snapshot #4 285.76 1,232,624 885 5 min 16% 19% 42% 30%
151 Dart aot #4 286.63 1,162,208 885 5 min 33% 21% 16% 36%
181 Erlang HiPE #3 5 min 3,485,700 630 6 min 21% 51% 32% 17%
187 Python 3 #4 5 min 3,629,920 335 8 min 59% 20% 22% 41%
463 Pharo Smalltalk 14 min 1,091,120 892 15 min 30% 18% 11% 45%
Dart #3 Failed
Dart #2 Failed
Dart aot #3 Failed
Dart aot #2 Failed
Dart exe #2 Failed
Dart exe #3 Failed
Dart snapshot #2 Failed
Dart snapshot #3 Failed
F# .NET Core #2 Failed
Go Failed
Julia Bad Output
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 Failed
TypeScript Failed
VW Smalltalk Bad Output