The Computer Language
Benchmarks Game

reverse-complement

Always look at the source code.

Look at the slower simple sequential programs, and  look at the parallel programs written for multicore, and  look at the manually vectorized SIMD programs.

× source secs mem gz busy cpu load
1.0 Rust 0.45 499,168 3040 0.76 24% 22% 23% 100%
1.4 C++ g++ #2 0.63 499,704 2093 0.64 0% 100% 2% 0%
1.7 Rust #2 0.75 995,144 1330 1.35 46% 26% 59% 48%
1.7 Rust #3 0.78 995,136 1097 1.50 61% 49% 31% 53%
1.9 C gcc #6 0.86 698,264 820 1.27 1% 18% 100% 28%
2.2 C gcc #2 0.98 994,220 750 1.47 14% 86% 34% 16%
3.1 C gcc #5 1.41 994,048 647 1.42 1% 0% 1% 99%
3.1 Go #6 1.42 1,344,600 1338 2.66 57% 36% 71% 24%
3.3 C# .NET #7 1.48 959,848 1310 4.18 30% 63% 93% 96%
3.3 Go #5 1.48 1,559,968 996 2.51 31% 83% 24% 32%
3.3 Julia #8 1.50 671,028 522 1.77 7% 9% 96% 7%
3.4 F# .NET #5 1.51 1,030,852 1140 4.19 93% 36% 58% 91%
3.4 Java  #8 1.54 702,332 2183 3.55 78% 46% 49% 57%
3.5 C# .NET #6 1.56 1,029,544 1621 3.78 26% 82% 94% 40%
3.5 F# .NET #4 1.58 1,030,356 1139 4.36 29% 94% 95% 59%
3.7 Chapel #3 1.65 1,882,564 755 3.51 96% 38% 38% 41%
3.7 OCaml 1.66 34,044 1368 4.25 61% 65% 61% 69%
4.0 Julia #9 1.79 669,516 449 2.05 6% 7% 6% 97%
4.0 Go #2 1.79 826,628 611 1.85 14% 88% 1% 1%
4.0 Swift 1.82 785,580 1286 2.28 49% 3% 0% 74%
4.3 Go #3 1.92 826,360 605 2.01 3% 1% 100% 1%
4.7 Node js #8 2.13 1,525,096 1481 4.31 11% 70% 62% 60%
4.7 Node js #7 2.13 1,525,360 1480 4.36 61% 20% 69% 54%
4.8 Ada 2012 GNAT #2 2.17 821,516 3283 2.51 40% 0% 1% 75%
5.4 C++ g++ #3 2.42 499,964 840 2.43 0% 100% 0% 0%
5.4 Java #3 2.44 1,172,748 1722 5.13 33% 52% 40% 85%
6.2 C# .NET #5 2.80 1,033,036 1613 4.04 14% 37% 89% 4%
6.4 C++ g++ #6 2.88 1,505,952 1832 4.03 22% 35% 80% 3%
6.5 Java #6 2.94 2,054,460 752 3.67 1% 78% 10% 36%
6.8 Chapel #2 3.05 1,052,280 983 4.59 98% 19% 28% 5%
7.6 C gcc #4 3.40 500,236 709 3.44 1% 0% 0% 100%
8.2 Free Pascal #2 3.67 520,464 771 3.70 0% 100% 0% 1%
8.7 Intel Fortran 3.90 985,352 1019 4.11 1% 100% 4% 1%
9.9 Java #5 4.44 1,122,300 1108 4.64 37% 59% 2% 7%
11 Java #4 4.87 1,925,516 651 5.24 62% 33% 8% 5%
13 C++ g++ 5.96 979,844 592 5.97 0% 100% 0% 0%
14 Perl #3 6.36 1,495,132 287 6.52 0% 0% 2% 100%
14 Lisp SBCL 6.40 1,490,256 904 6.42 0% 0% 0% 100%
16 PHP #3 7.06 534,336 446 11.90 14% 49% 40% 65%
16 Python 3 #6 7.16 1,005,968 814 10.65 20% 53% 47% 29%
20 Racket #2 8.91 719,100 1030 8.96 0% 100% 0% 0%
21 PHP 9.63 1,487,604 318 9.72 100% 0% 0% 0%
22 Python 3 9.69 1,979,836 479 9.72 100% 0% 0% 0%
22 Python 3 #2 9.74 1,781,700 434 9.77 0% 0% 0% 100%
25 PHP #2 11.33 1,785,868 281 11.55 1% 1% 100% 1%
25 Ruby #3 11.45 2,009,880 482 21.50 34% 70% 57% 26%
26 Ada 2012 GNAT 11.82 516,660 937 11.84 0% 100% 0% 0%
27 Ruby #5 12.06 1,612,104 295 12.65 100% 0% 0% 4%
27 Python 3 #4 12.33 4,020,892 335 12.38 0% 100% 0% 0%
31 Ruby #4 14.10 2,010,696 601 24.36 70% 26% 38% 38%
37 Node js #2 16.83 1,193,768 1221 17.42 21% 10% 42% 31%
45 Ruby #2 20.39 511,964 264 21.96 5% 100% 2% 0%
47 Matz's Ruby #2 21.02 492,816 264 21.29 1% 0% 100% 0%
51 Java #7 22.74 1,032,516 1647 17.76 16% 5% 12% 45%
52 Racket 23.60 2,431,660 553 23.91 0% 100% 1% 0%
55 Ruby 24.85 2,009,976 514 40.92 32% 5% 39% 88%
57 Erlang HiPE 25.62 2,765,104 1302 68.99 56% 52% 77% 85%
64 Julia #2 28.65 1,715,632 460 29.18 1% 100% 1% 1%
76 C++ g++ #5 34.04 762,944 720 34.39 0% 100% 0% 1%
80 Intel Fortran #2 36.08 753,776 772 37.87 1% 3% 100% 1%
90 Lua #2 40.62 2,654,732 553 41.04 0% 100% 1% 0%
91 Dart #3 40.94 6,597,148 561 48.29 48% 11% 10% 49%
92 Lua #5 41.53 2,162,968 752 42.08 100% 0% 1% 0%
118 Lua #4 53.13 634,232 594 53.48 0% 100% 1% 0%
125 Dart #2 56.31 6,594,632 568 65.16 29% 57% 16% 14%
253 Dart #4 113.67 1,154,604 881 118.41 27% 26% 24% 26%
272 Erlang HiPE #4 122.51 1,991,896 1171 169.75 15% 75% 16% 33%
420 Erlang HiPE #3 188.99 6,293,804 630 201.05 20% 30% 13% 44%
Go Failed
Haskell GHC #2 Make Error
Haskell GHC #3 Make Error
Lisp SBCL #2 Bad Output
OCaml #4 Make Error
OCaml #2 Make Error
OCaml #3 Make Error
Matz's Ruby #4 Failed
Matz's Ruby Failed
Matz's Ruby #3 Bad Output
Matz's Ruby #5 Failed
VW Smalltalk Bad Output