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 low-level programs written for SIMD.

× source secs mem gz busy cpu load
1.0 Rust #7 0.78 146,236 2458 1.99 53% 53% 61% 90%
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.2 Haskell GHC #3 0.97 308,028 2213 2.31 64% 46% 81% 47%
1.3 Intel Fortran 0.99 176,200 2225 3.06 68% 73% 71% 98%
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.30 153,432 986 1.75 13% 28% 83% 10%
1.8 Python 3 #2 1.36 112,052 1403 2.64 40% 88% 32% 33%
1.8 Rust #5 1.38 201,892 771 1.82 25% 1% 12% 94%
1.8 Rust #4 1.40 199,148 765 1.83 31% 0% 18% 82%
1.8 Rust 1.40 152,736 804 1.87 10% 11% 100% 12%
1.8 Rust #2 1.42 149,828 701 1.89 11% 11% 12% 99%
1.8 C# .NET #8 1.43 320,400 1869 2.67 33% 39% 85% 31%
1.9 Rust #3 1.47 202,472 719 1.87 9% 10% 99% 10%
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.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.6 C++ g++ 3.61 199,996 656 3.76 2% 0% 100% 2%
4.7 Go #5 3.61 374,916 810 5.95 47% 34% 20% 64%
5.5 Chapel #3 4.29 486,708 493 6.81 99% 21% 21% 17%
5.6 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.1 Node js #3 4.76 1,152,392 668 5.82 1% 1% 28% 91%
6.3 Dart #3 4.89 883,948 1041 7.63 89% 22% 19% 25%
6.9 Chapel #2 5.38 517,784 489 8.00 99% 18% 17% 15%
7.3 Java  #3 5.70 656,328 929 18.25 89% 76% 79% 75%
7.4 Node js #4 5.77 979,432 463 6.04 2% 1% 1% 100%
7.5 Java #6 5.82 633,348 740 18.39 81% 81% 75% 79%
8.3 Dart #2 6.41 557,876 677 7.31 4% 8% 93% 9%
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%
13 Ruby #3 9.72 332,016 724 21.17 39% 94% 45% 39%
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.37 387,460 829 35.94 57% 59% 79% 55%
19 OCaml #2 14.84 901,904 637 15.29 100% 0% 1% 1%
20 Racket #2 15.65 1,256,208 729 38.29 78% 65% 2% 99%
21 Matz's Ruby #3 16.43 221,312 724 48.13 100% 100% 47% 47%
21 Perl #2 16.56 205,336 710 29.26 100% 73% 2% 2%
22 Lisp SBCL #4 16.74 777,924 1972 34.16 48% 58% 57% 42%
26 Ruby #2 19.81 330,852 437 20.53 13% 20% 22% 48%
28 Perl 21.82 205,660 464 22.19 1% 1% 100% 0%
30 Ruby #9 23.05 374,872 334 23.83 2% 28% 1% 73%
31 Swift #4 24.30 1,060,320 745 50.20 44% 92% 35% 35%
34 Go #3 26.05 426,652 829 62.26 46% 84% 62% 47%
34 Go 26.06 324,196 741 63.26 47% 72% 48% 76%
34 Swift 26.55 881,756 715 48.78 0% 73% 83% 27%
45 Matz's Ruby #2 34.60 160,388 437 69.49 100% 100% 0% 1%
46 Racket 35.69 1,024,476 541 36.39 0% 100% 1% 0%
54 Matz's Ruby #9 41.70 164,244 334 83.81 1% 8% 92% 100%
55 Erlang HiPE #6 42.76 3,372,420 1048 61.66 32% 16% 37% 59%
62 Swift #2 48.30 682,208 671 48.58 0% 0% 100% 0%
Ada 2012 GNAT #6 Bad Output
Lua Failed
Free Pascal Failed
Free Pascal #2 Failed