The Computer Language
Benchmarks Game

regex-redux

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 #7 0.77 146,736 2458 2.00 90% 54% 55% 61%
1.0 C gcc #5 0.80 152,196 1397 2.03 48% 100% 54% 53%
1.2 C gcc #4 0.94 152,124 1230 3.25 100% 73% 83% 88%
1.3 Intel Fortran 0.99 176,200 2225 3.06 68% 73% 71% 98%
1.4 Haskell GHC #3 1.07 345,128 2213 2.47 59% 44% 44% 83%
1.4 C++ g++ #4 1.08 203,816 1315 3.38 78% 99% 65% 73%
1.5 C++ g++ #6 1.13 275,716 2850 2.20 100% 31% 32% 32%
1.7 Rust #6 1.28 153,540 986 1.75 12% 11% 14% 99%
1.8 Python 3 #2 1.36 112,052 1403 2.64 40% 88% 32% 33%
1.8 Rust #5 1.37 201,524 771 1.85 83% 3% 1% 47%
1.8 Rust #4 1.39 199,796 765 1.90 21% 5% 31% 79%
1.8 Rust 1.40 153,056 804 1.84 10% 10% 11% 100%
1.8 Rust #2 1.42 152,100 701 1.87 11% 11% 99% 11%
1.8 C# .NET #8 1.43 320,400 1869 2.67 33% 39% 85% 31%
1.9 Rust #3 1.47 202,672 719 1.88 10% 10% 10% 99%
2.2 C gcc #3 1.70 103,532 1266 3.28 99% 28% 28% 38%
2.2 PHP 1.73 162,348 816 3.58 37% 88% 44% 39%
2.3 Julia #5 1.75 384,588 759 3.10 6% 67% 93% 12%
2.3 Julia #4 1.78 392,636 766 3.17 6% 99% 7% 66%
2.6 Julia #3 2.00 483,076 622 3.70 76% 7% 97% 5%
3.3 Lua 2.57 326,464 482 2.61 1% 100% 1% 0%
3.6 C++ g++ #2 2.80 202,404 700 3.63 0% 44% 84% 1%
3.7 F# .NET #6 2.85 1,301,192 611 7.36 51% 92% 59% 56%
4.0 C# .NET #5 3.09 1,303,240 673 7.66 72% 73% 53% 50%
4.1 C gcc #2 3.18 102,904 1115 3.19 0% 0% 100% 1%
4.5 Julia 3.45 479,556 408 3.78 3% 99% 3% 3%
4.5 C++ g++ #5 3.48 215,480 852 4.19 7% 7% 18% 88%
4.7 C++ g++ 3.61 199,996 656 3.76 2% 0% 100% 2%
5.1 Go #5 3.94 323,252 810 6.14 74% 30% 19% 33%
5.6 Chapel #3 4.29 486,708 493 6.81 99% 21% 21% 17%
5.7 F# .NET #7 4.38 931,456 599 6.34 37% 33% 37% 38%
6.0 Ada 2012 GNAT #5 4.66 154,148 3640 13.72 80% 66% 68% 81%
6.2 Node js #3 4.79 1,159,940 668 5.86 91% 2% 1% 29%
6.4 Dart #3 4.95 881,344 1057 7.73 21% 63% 28% 44%
7.0 Chapel #2 5.38 517,784 489 8.00 99% 18% 17% 15%
7.4 Java  #3 5.70 656,328 929 18.25 89% 76% 79% 75%
7.5 Node js #4 5.77 980,440 463 5.96 100% 1% 1% 2%
7.5 Java #6 5.82 633,348 740 18.39 81% 81% 75% 79%
8.4 Dart #2 6.48 555,752 665 7.30 8% 80% 18% 7%
12 Java 9.28 645,032 868 17.61 46% 47% 52% 45%
12 Python 3 9.31 452,964 512 17.84 34% 45% 76% 37%
12 Racket #2 9.37 1,293,512 729 19.99 62% 62% 22% 68%
13 Ruby #3 9.66 277,900 724 21.43 44% 96% 38% 43%
13 Perl #4 10.10 157,208 820 31.98 96% 67% 93% 61%
13 Perl #3 10.16 157,388 854 30.35 61% 96% 90% 52%
16 C++ g++ #3 12.39 217,384 853 18.25 1% 0% 100% 46%
19 Go #4 14.78 380,968 829 36.46 66% 58% 53% 69%
19 OCaml #2 14.84 901,904 637 15.29 100% 0% 1% 1%
20 Lisp SBCL #4 15.34 925,000 1972 31.90 42% 49% 63% 53%
21 Matz's Ruby #3 15.83 223,648 724 36.10 94% 44% 44% 46%
21 Perl #2 16.56 205,336 710 29.26 100% 73% 2% 2%
25 Racket 19.41 1,034,260 541 19.52 100% 1% 0% 0%
26 Ruby #2 19.72 330,784 437 20.37 37% 24% 26% 16%
28 Perl 21.82 205,660 464 22.19 1% 1% 100% 0%
31 Swift #4 23.71 1,060,560 745 49.20 35% 45% 92% 35%
31 Ruby #9 23.98 424,440 334 24.87 0% 0% 3% 100%
34 Swift 25.98 882,184 715 47.48 0% 100% 82% 0%
34 Go #3 25.99 388,348 829 63.80 49% 95% 53% 49%
34 Go 26.47 312,640 741 64.58 86% 48% 48% 62%
45 Matz's Ruby #2 34.46 223,516 437 34.58 0% 100% 0% 0%
54 Matz's Ruby #9 41.76 223,480 334 42.10 1% 0% 0% 100%
55 Erlang HiPE #6 42.76 3,372,420 1048 61.66 32% 16% 37% 59%
58 Swift #2 45.07 682,044 671 45.40 0% 0% 0% 100%
Ada 2012 GNAT #6 Bad Output
Free Pascal Failed
Free Pascal #2 Failed