The Computer Language
24.09 Benchmarks Game

reverse-complement

These are crowd sourced programs, contributed to the project by an ever-changing self-selected group.

We include both un-optimised programs and heavily optimised programs (look at the gz source code size). We include both single-thread programs and multi-thread programs (look at the cpu secs and cpu load). We include [pdf] vector parallelism and even hand-written vector instructions. How the programs are written matters!

Always look at the source code.

× source secs mem gz cpu secs cpu load
1.0 Perl #4 5.76 998,608 268 5.76 100% 0% 0% 0%
1.0 Ruby yjit #2 27.45 1,001,920 272 27.45 0% 100% 0% 0%
1.0 Matz's Ruby #2 23.61 688,216 272 23.61 58% 41% 0% 0%
1.1 PHP #2 11.75 1,787,280 288 11.75 0% 0% 100% 0%
1.1 Perl #3 6.77 1,495,228 295 6.76 1% 1% 99% 0%
1.1 Ruby yjit #5 14.12 1,623,336 301 14.11 0% 100% 0% 0%
1.2 PHP 9.89 1,489,328 323 9.89 0% 0% 99% 0%
1.3 Python 3 #4 13.41 4,002,688 343 13.41 100% 0% 0% 0%
1.6 OCaml #2 9.27 909,056 426 9.27 0% 99% 0% 0%
1.6 Python 3 #2 10.08 1,788,136 440 10.08 100% 0% 0% 0%
1.7 PHP #3 7.75 536,668 452 12.24 30% 1% 55% 70%
1.7 Julia #9 2.25 1,242,816 456 2.63 0% 14% 4% 99%
1.7 Julia #2 29.18 2,150,056 464 29.73 1% 0% 0% 99%
1.8 Python 3 10.29 1,986,440 484 10.29 0% 99% 0% 0%
1.8 Matz's Ruby #3 9.49 3,467,256 490 17.96 76% 50% 33% 30%
1.8 Ruby yjit #3 8.95 4,235,052 490 17.34 97% 23% 25% 48%
1.9 Ruby yjit 18.31 5,141,976 521 35.91 40% 94% 56% 4%
2.0 Julia #8 1.66 1,022,988 531 1.77 1% 99% 3% 8%
2.1 Chapel #5 1.83 2,133,376 554 3.18 94% 25% 24% 32%
2.1 Lua #2 41.12 2,654,652 560 41.10 0% 100% 0% 0%
2.1 Racket 40.68 2,047,232 560 40.68 0% 100% 0% 0%
2.1 Dart #3 58.28 6,383,448 571 64.64 89% 3% 7% 10%
2.1 Dart #2 91.05 6,351,280 575 99.25 77% 17% 10% 4%
2.2 C++ g++ 6.50 979,912 599 6.50 0% 100% 0% 0%
2.2 Lua #4 49.35 1,030,016 600 49.33 0% 100% 0% 0%
2.3 F# .NET 36.47 1,960,916 603 37.87 1% 1% 99% 1%
2.3 Ruby yjit #4 5.88 2,510,920 608 11.51 32% 86% 25% 53%
2.3 Go #3 2.48 800,384 609 2.57 94% 3% 1% 5%
2.3 Go #2 2.19 800,640 614 2.29 0% 16% 0% 89%
2.4 Dart 19.03 1,000,708 651 20.03 79% 1% 21% 2%
2.4 C gcc #5 1.52 994,176 654 1.52 0% 0% 1% 100%
2.4 Java  #4 5.65 1,891,656 656 5.77 95% 3% 2% 2%
2.6 C++ g++ #5 36.24 771,432 704 36.24 0% 0% 100% 0%
2.6 Chapel #3 1.81 2,121,216 709 3.18 92% 26% 25% 34%
2.8 C gcc #2 1.05 994,560 757 1.57 96% 22% 18% 14%
2.8 Lua #5 41.96 2,169,636 758 41.96 100% 0% 0% 0%
2.8 Java #6 3.15 2,032,996 760 3.79 33% 8% 0% 78%
2.9 Free Pascal #2 3.81 525,052 773 3.81 0% 0% 0% 100%
2.9 Intel Fortran #2 42.90 769,748 778 42.89 0% 100% 0% 0%
3.0 Python 3 #3 4.86 507,712 803 4.86 0% 100% 0% 0%
3.1 Python 3 #6 7.38 2,484,372 821 10.89 28% 46% 19% 53%
3.1 C gcc #6 0.97 696,664 828 1.39 25% 100% 17% 1%
3.4 Lisp SBCL 5.46 1,494,784 911 5.46 100% 0% 0% 0%
3.5 C# .NET #3 7.31 1,571,904 934 11.48 29% 43% 66% 19%
3.5 Dart #5 8.92 1,994,504 942 12.05 8% 30% 68% 27%
3.5 Ada 2012 GNAT 13.94 528,492 943 13.94 0% 0% 0% 100%
3.6 Python 3 #5 4.09 1,500,716 960 7.41 89% 0% 54% 38%
3.8 Intel Fortran 3.33 986,304 1026 3.33 0% 0% 100% 0%
4.1 Rust #3 0.98 995,200 1105 1.68 42% 23% 58% 46%
4.2 Java #5 4.72 1,097,732 1115 4.84 29% 10% 60% 3%
4.2 C# .NET 2.97 798,004 1130 3.15 86% 2% 15% 4%
4.7 Chapel #9 0.92 1,057,024 1260 2.65 98% 64% 63% 63%
4.9 Erlang 26 min 2,180,832 1309 30 min 41% 21% 15% 35%
4.9 C# .NET #7 1.56 941,012 1312 4.23 54% 95% 90% 33%
5.0 Rust #2 0.98 995,200 1332 1.62 66% 21% 56% 23%
5.0 Go #6 1.91 1,244,508 1340 3.40 72% 17% 31% 59%
5.1 OCaml #3 2.28 19,676 1361 5.77 65% 65% 58% 63%
5.8 C gcc #9 0.49 499,744 1551 0.82 22% 22% 61% 62%
6.0 C# .NET #5 2.64 1,026,620 1620 3.67 11% 20% 13% 96%
6.1 C# .NET #6 1.64 1,027,256 1627 3.95 70% 92% 57% 22%
6.2 Java #7 23.98 1,037,708 1654 6.26 4% 6% 12% 4%
6.8 C++ g++ #6 3.26 1,517,580 1827 4.32 71% 30% 20% 12%
12 Ada 2012 GNAT #2 3.02 822,344 3285 3.86 43% 85% 1% 0%
C++ g++ #3 Bad Output
Dart #4 Bad Output
Erlang #4 Timed Out
Erlang #3 Timed Out
F# .NET #4 Timed Out
F# .NET #5 Timed Out
Go #5 Bad Output
Go Failed
Java #3 Bad Output
Java #8 Bad Output
Node.js #7 Bad Output
Lisp SBCL #2 Failed
Matz's Ruby Failed
Matz's Ruby #5 Failed
Matz's Ruby #4 Failed
VW Smalltalk Bad Output
 
 
  hand-written vector instructions | "unsafe"
 
× source secs mem gz cpu secs cpu load
2.7 C gcc #4 3.68 500,480 716 3.68 0% 1% 100% 0%
3.7 Haskell GHC #2 6.37 3,533,056 998 6.48 0% 35% 53% 12%
3.9 Racket #2 9.06 784,116 1038 9.06 0% 100% 0% 0%
3.9 Haskell GHC #4 3.08 507,008 1047 3.15 2% 55% 20% 25%
4.6 Node.js #2 15.71 728,180 1228 16.37 2% 4% 35% 64%
4.8 Swift 1.95 798,228 1293 2.39 40% 4% 1% 78%
5.1 OCaml 2.25 19,676 1372 5.09 57% 59% 56% 53%
7.1 C gcc #7 0.43 499,928 1899 0.59 55% 14% 11% 56%
7.8 C++ g++ #2 0.71 499,712 2099 0.71 59% 1% 0% 41%
9.9 C# .NET #8 0.56 736,084 2641 1.35 87% 78% 7% 71%
10 Rust 0.53 498,816 2762 0.83 19% 20% 18% 100%