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 145,284 2458 1.98 53% 90% 53% 60%
1.0 C gcc #5 0.80 152,172 1397 2.01 52% 99% 48% 53%
1.2 C gcc #4 0.95 152,164 1230 3.26 73% 83% 100% 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.10 203,924 1315 3.43 63% 77% 71% 100%
1.5 C++ g++ #6 1.15 275,820 2850 2.21 100% 29% 31% 32%
1.8 Python 3 #2 1.36 111,852 1403 2.64 32% 40% 33% 88%
1.8 Rust #6 1.38 153,532 986 1.83 27% 10% 83% 12%
1.8 C# .NET #8 1.42 280,892 1869 2.69 30% 39% 86% 35%
1.9 Rust #5 1.43 199,128 771 1.84 0% 45% 83% 0%
1.9 Rust #2 1.46 151,724 701 1.93 100% 10% 11% 10%
1.9 Rust 1.46 152,956 804 1.93 12% 10% 10% 100%
1.9 Rust #4 1.47 199,648 765 1.91 29% 0% 18% 82%
1.9 Rust #3 1.47 200,368 719 1.92 10% 28% 82% 11%
2.2 Julia #5 1.68 394,324 759 3.06 99% 7% 5% 71%
2.2 C gcc #3 1.72 103,572 1266 3.36 99% 39% 28% 28%
2.2 PHP 1.73 162,348 816 3.58 37% 88% 44% 39%
2.3 Julia #4 1.74 403,820 766 3.14 6% 30% 70% 75%
2.5 Julia #3 1.90 492,676 622 3.56 99% 7% 76% 5%
3.3 Lua 2.57 326,464 482 2.61 1% 100% 1% 0%
3.7 C++ g++ #2 2.83 204,888 700 3.70 45% 1% 1% 84%
3.7 F# .NET #6 2.85 1,301,192 611 7.36 51% 92% 59% 56%
4.0 C# .NET #5 3.10 1,303,024 673 7.65 58% 69% 46% 73%
4.2 C gcc #2 3.21 103,040 1115 3.23 0% 100% 1% 0%
4.5 C++ g++ #5 3.48 215,612 852 4.28 8% 21% 88% 7%
4.7 C++ g++ 3.64 208,500 656 3.74 1% 2% 100% 1%
4.7 Julia 3.64 371,832 408 3.92 99% 3% 2% 2%
4.9 Chapel #3 3.80 502,616 493 4.83 99% 10% 8% 11%
5.1 Go #5 3.94 323,252 810 6.14 74% 30% 19% 33%
5.6 Ada 2012 GNAT #5 4.33 154,312 3640 12.50 92% 69% 63% 66%
5.7 F# .NET #7 4.38 931,456 599 6.34 37% 33% 37% 38%
6.0 Node js #3 4.64 1,163,148 668 5.83 3% 14% 30% 79%
6.0 Chapel #2 4.67 486,280 489 5.62 99% 7% 7% 7%
7.1 Node js #4 5.46 638,868 463 5.57 1% 1% 1% 99%
7.2 Java  #3 5.58 985,696 929 18.26 81% 77% 84% 85%
7.2 Java #6 5.59 935,652 740 17.98 78% 83% 85% 76%
12 Java 9.02 867,908 868 17.58 58% 55% 37% 45%
12 Racket #2 9.34 1,291,044 729 19.78 51% 45% 64% 52%
12 Python 3 9.61 458,000 512 18.64 55% 29% 36% 74%
12 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 Dart #3 12.09 757,260 1055 21.97 32% 86% 26% 37%
16 Dart #5 12.18 687,124 706 19.62 4% 55% 100% 3%
16 C++ g++ #3 12.36 217,012 853 18.12 51% 0% 0% 95%
19 OCaml #2 14.66 816,136 637 14.72 0% 100% 0% 0%
19 Go #4 14.78 380,968 829 36.46 66% 58% 53% 69%
20 Lisp SBCL #4 15.34 925,000 1972 31.90 42% 49% 63% 53%
20 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%
23 Dart #4 17.76 489,592 511 18.19 66% 35% 1% 1%
25 Racket 19.25 1,033,020 541 19.35 0% 100% 0% 0%
26 Ruby #2 19.72 330,784 437 20.37 37% 24% 26% 16%
26 Dart #2 20.05 492,180 663 20.64 0% 2% 2% 99%
28 Perl 21.82 205,660 464 22.19 1% 1% 100% 0%
30 Swift #4 23.14 1,059,096 745 48.76 92% 37% 46% 36%
31 Ruby #9 23.98 424,440 334 24.87 0% 0% 3% 100%
34 Swift 25.98 881,852 715 47.01 100% 1% 80% 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%
47 Erlang #6 36.11 3,894,284 1048 55.97 21% 25% 38% 70%
54 Matz's Ruby #9 41.76 223,480 334 42.10 1% 0% 0% 100%
58 Swift #2 44.74 682,224 671 45.16 0% 0% 0% 100%
Ada 2012 GNAT #6 Bad Output
Free Pascal Failed
Free Pascal #2 Failed
Perl #5 Bad Output