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 147,524 2458 1.99 54% 59% 91% 54%
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.36 153,244 986 1.85 11% 13% 13% 99%
1.8 C# .NET #8 1.42 280,892 1869 2.69 30% 39% 86% 35%
1.8 Rust #5 1.42 200,580 771 1.87 1% 46% 1% 84%
1.9 Rust #4 1.45 201,972 765 1.91 1% 82% 31% 17%
1.9 Rust #3 1.46 201,904 719 1.94 30% 11% 10% 82%
1.9 Rust 1.49 153,192 804 1.88 9% 100% 9% 8%
2.0 Rust #2 1.51 152,720 701 1.94 10% 83% 25% 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.1 OCaml #3 2.37 510,132 647 4.12 72% 1% 100% 1%
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.0 Go #5 3.85 324,200 810 6.01 27% 19% 20% 91%
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.1 Chapel #2 4.67 486,280 489 5.62 99% 7% 7% 7%
6.3 Node js #3 4.82 1,150,424 668 5.90 10% 82% 1% 29%
6.9 Java  #3 5.31 793,572 929 17.50 79% 78% 83% 89%
7.0 Java #6 5.36 819,808 740 16.84 74% 90% 75% 75%
7.4 Node js #4 5.68 638,336 463 5.99 99% 4% 2% 1%
11 Java 8.44 933,316 868 17.08 35% 54% 54% 60%
12 Python 3 9.61 458,000 512 18.64 55% 29% 36% 74%
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 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%
16 Racket #2 12.48 1,787,916 729 23.03 45% 2% 100% 38%
19 OCaml #2 14.66 816,136 637 14.72 0% 100% 0% 0%
20 Lisp SBCL #4 15.34 925,000 1972 31.90 42% 49% 63% 53%
20 Go #4 15.56 431,588 829 37.61 60% 76% 60% 46%
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%
23 Dart #4 17.76 489,592 511 18.19 66% 35% 1% 1%
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%
28 Racket 21.91 1,627,008 541 22.00 0% 0% 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%
35 Go #3 27.13 387,736 829 66.01 62% 47% 49% 86%
35 Go 27.33 314,944 741 65.47 46% 86% 47% 61%
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