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 low-level programs written for SIMD. × source secs mem gz busy cpu load 1.0 Matz's Ruby #2 38.45 492,804 264 38.84 100% 0% 1% 0% 1.0 Ruby #2 31.78 511,692 264 34.71 5% 54% 47% 4% 1.0 PHP #2 22.83 1,781,136 274 24.35 43% 55% 8% 1% 1.1 Perl #3 10.60 1,494,988 287 10.72 37% 0% 0% 63% 1.1 Ruby #5 48.10 1,611,568 295 50.40 17% 25% 20% 43% 1.2 PHP 18.67 1,474,868 312 19.84 97% 4% 0% 4% 1.3 Python 3 #4 291.98 3,660,148 335 7 min 63% 16% 17% 49% 1.6 Python 3 #2 16.41 1,772,696 434 17.57 1% 78% 28% 0% 1.7 PHP #3 14.19 529,416 438 22.75 35% 54% 49% 21% 1.7 Julia #9 3.59 669,324 449 3.97 4% 4% 98% 4% 1.7 Julia #2 66.60 1,697,452 460 69.52 2% 8% 92% 2% 1.8 Python 3 19.24 1,971,912 479 20.46 65% 36% 5% 2% 2.0 Ruby #3 82.39 1,513,432 517 149.93 49% 47% 33% 53% 2.0 Julia #8 3.03 671,492 522 3.54 5% 8% 6% 98% 2.1 Racket 56.24 1,733,560 553 59.47 27% 4% 2% 73% 2.1 Lua #2 73.60 2,654,680 553 79.67 23% 28% 8% 49% 2.2 C++ g++ 11.68 979,932 592 11.91 64% 1% 1% 36% 2.3 Lua #4 77.81 634,096 594 82.19 3% 83% 18% 2% 2.3 Ruby #4 46.45 2,009,748 601 63.74 39% 20% 52% 26% 2.3 Go #3 4.00 827,360 605 4.29 86% 12% 1% 8% 2.3 Go #2 3.73 826,488 611 4.10 88% 6% 2% 14% 2.4 Erlang HiPE #3 5 min 3,569,912 630 7 min 31% 23% 42% 32% 2.5 C gcc #5 2.87 994,056 647 2.90 0% 1% 0% 100% 2.5 Java #4 11.09 1,930,096 651 12.19 52% 15% 7% 37% 2.7 C gcc #4 7.66 500,388 709 7.89 83% 1% 2% 17% 2.7 C++ g++ #5 47.28 744,792 720 47.86 69% 1% 1% 31% 2.8 C gcc #2 2.21 994,308 750 3.29 19% 14% 76% 40% 2.8 Java #6 10.72 2,060,312 752 19.86 40% 60% 42% 43% 2.8 Lua #5 72.92 2,164,164 752 77.21 2% 4% 4% 96% 2.9 Chapel #3 3.52 1,916,472 755 8.53 98% 48% 49% 48% 2.9 Free Pascal #2 6.84 495,112 771 6.94 70% 1% 1% 30% 2.9 Intel Fortran #2 131.20 760,304 772 155.14 15% 25% 14% 65% 3.1 Python 3 #6 19.93 1,004,960 814 26.15 28% 28% 29% 45% 3.1 C gcc #6 1.92 551,900 820 2.58 20% 99% 14% 1% 3.2 C++ g++ #3 4.75 500,020 840 4.82 100% 0% 0% 1% 3.4 Dart #4 255.89 1,159,448 885 293.58 13% 50% 22% 30% 3.4 Lisp SBCL 11.42 1,390,812 904 11.59 1% 1% 49% 51% 3.5 Ada 2012 GNAT 19.72 500,140 937 20.04 79% 1% 0% 21% 3.7 Haskell GHC #2 29.23 3,465,812 982 29.96 27% 21% 23% 32% 3.7 Chapel #2 5.62 1,051,996 983 9.06 98% 33% 8% 21% 3.8 Go #5 4.36 1,508,976 996 7.09 28% 14% 55% 66% 3.9 Intel Fortran 4.94 985,376 1019 5.28 95% 3% 3% 6% 3.9 Haskell GHC #3 6.59 501,560 1020 9.74 92% 15% 19% 22% 3.9 Racket #2 17.41 568,032 1030 22.12 15% 3% 100% 9% 4.2 Java #5 7.62 1,126,580 1108 8.03 98% 4% 1% 3% 4.3 F# .NET Core #4 3.04 1,031,864 1139 8.64 58% 97% 35% 94% 4.3 F# .NET Core #5 2.93 1,031,696 1140 8.52 94% 45% 60% 90% 4.4 Erlang HiPE #4 199.48 1,994,296 1171 287.11 20% 41% 62% 21% 4.6 Node js #2 24.02 707,320 1221 28.04 24% 43% 37% 12% 4.9 Swift 3.79 753,924 1286 4.83 7% 70% 12% 39% 4.9 Erlang HiPE 41.88 2,600,884 1302 115.39 74% 77% 62% 62% 5.0 Rust #2 1.69 994,988 1330 2.95 26% 45% 79% 24% 5.1 Go #6 4.16 1,840,788 1338 7.01 51% 59% 33% 25% 5.2 OCaml 3.74 33,944 1368 8.90 62% 58% 60% 59% 5.6 Node js #7 4.10 1,340,368 1480 8.58 52% 56% 73% 28% 5.6 Node js #8 4.25 1,340,496 1481 9.04 64% 48% 29% 71% 6.1 C# .NET Core #5 4.21 985,176 1613 7.04 14% 37% 95% 21% 6.1 C# .NET Core #6 3.16 1,029,156 1621 7.90 57% 77% 63% 53% 6.2 Java #7 44.49 1,032,276 1647 54.72 42% 29% 17% 35% 6.5 Java #3 4.87 1,173,612 1722 10.99 68% 50% 42% 66% 6.9 C++ g++ #6 6.62 1,578,600 1832 9.06 67% 17% 32% 20% 7.9 C++ g++ #2 1.89 499,672 2093 1.94 100% 2% 1% 1% 8.3 Java #8 3.27 714,144 2183 7.54 47% 60% 66% 58% 12 Ada 2012 GNAT #2 4.05 789,068 3283 4.64 40% 1% 72% 1% Dart #3 Failed Dart #2 Failed Go Failed 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 Bad Output Matz's Ruby Failed Matz's Ruby #4 Failed VW Smalltalk Bad Output by secs by mem by gz by busy