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 C gcc #5 1.47 152,156 1397 3.46 47% 100% 43% 45%
1.0 C gcc #4 1.50 152,156 1230 4.08 59% 99% 53% 59%
1.2 Haskell GHC #3 1.78 307,992 2213 4.35 79% 50% 50% 65%
1.2 Fortran Intel 1.79 172,936 2225 4.90 60% 59% 56% 99%
1.3 C++ g++ #4 1.85 203,748 1315 4.44 48% 100% 43% 48%
1.3 C++ g++ #6 1.97 275,636 2850 3.71 31% 46% 84% 29%
1.4 Rust #6 2.12 153,104 986 3.14 17% 14% 33% 84%
1.5 C# .NET Core #8 2.17 267,768 1869 4.26 36% 30% 84% 46%
1.5 Rust #5 2.27 201,172 771 3.30 2% 1% 58% 85%
1.6 Rust #4 2.31 200,916 765 3.41 13% 91% 0% 43%
1.6 Rust 2.31 150,772 804 3.29 15% 14% 28% 85%
1.6 Rust #3 2.32 199,924 719 3.36 16% 15% 31% 83%
1.6 C gcc #3 2.38 103,572 1266 4.22 31% 23% 100% 23%
1.7 Rust #2 2.45 149,612 701 3.32 12% 84% 27% 13%
2.0 PHP 2.87 156,560 816 5.50 45% 34% 35% 78%
2.4 Julia #3 3.58 476,684 622 6.31 68% 4% 99% 5%
2.6 Free Pascal #2 3.88 103,124 1503 5.35 15% 15% 93% 14%
2.8 C gcc #2 4.13 103,108 1115 4.68 0% 8% 5% 100%
4.0 Julia 5.91 469,380 408 6.32 3% 2% 99% 3%
4.1 C++ g++ #2 6.00 184,056 700 9.31 2% 52% 17% 84%
4.4 C++ g++ #5 6.51 214,324 852 9.42 15% 15% 90% 24%
4.6 Go #5 6.84 340,376 810 9.43 30% 43% 13% 52%
4.7 Ada 2012 GNAT #5 6.86 154,372 3640 19.71 64% 75% 84% 64%
5.1 Free Pascal 7.58 99,900 1273 7.68 1% 100% 1% 0%
5.5 F# .NET Core #7 8.03 1,069,132 599 11.16 53% 37% 32% 16%
5.7 Dart #3 8.37 917,220 1041 13.17 24% 84% 32% 17%
6.4 C++ g++ 9.37 207,984 656 9.46 100% 0% 0% 1%
6.4 Chapel 9.37 554,260 477 18.22 99% 13% 13% 70%
7.0 Java  #6 10.31 644,560 740 31.47 72% 72% 92% 70%
7.1 Node js #3 10.46 789,476 668 13.29 16% 28% 74% 8%
7.2 Java #3 10.54 647,464 929 32.49 79% 77% 73% 79%
7.4 Node js 10.86 611,128 408 12.00 40% 24% 19% 27%
7.9 Node js #2 11.69 571,800 432 13.70 12% 11% 54% 40%
8.0 TypeScript 11.78 555,220 440 13.23 10% 12% 42% 48%
8.0 TypeScript #2 11.78 571,096 440 13.53 14% 5% 32% 63%
8.0 Dart #2 11.80 587,604 677 13.74 93% 12% 8% 4%
11 Ruby #3 15.97 277,888 726 33.81 41% 76% 59% 36%
11 Perl #4 16.39 157,044 820 46.71 81% 60% 85% 59%
11 Java 16.51 634,684 868 31.02 54% 26% 46% 61%
11 Perl #3 16.54 157,220 854 47.46 63% 85% 78% 60%
12 F# .NET Core #6 17.16 1,341,200 611 54.97 78% 78% 75% 89%
12 C# .NET Core #5 17.66 1,353,328 673 57.01 88% 80% 77% 78%
12 C++ g++ #3 18.11 215,500 853 27.19 0% 35% 15% 100%
13 Python 3 18.45 457,340 512 37.52 69% 37% 50% 48%
13 F# .NET Core #5 18.49 1,147,028 529 54.65 63% 82% 74% 77%
17 OCaml #2 25.39 969,100 637 25.58 0% 0% 1% 100%
18 Racket #2 26.15 1,244,012 729 56.28 50% 69% 41% 56%
19 Perl #2 27.33 205,064 710 47.17 71% 100% 2% 0%
20 Go #2 29.82 428,224 802 62.65 48% 45% 52% 65%
20 C# .NET Core #4 30.00 1,553,280 856 101.81 77% 79% 88% 95%
21 C# .NET Core #9 30.90 1,332,620 659 105.96 85% 84% 88% 85%
22 Go #4 31.72 478,084 829 74.53 69% 49% 58% 58%
22 Ruby #2 32.65 328,556 431 33.77 29% 12% 36% 27%
25 Perl 36.10 205,436 464 36.38 100% 0% 0% 0%
27 Ruby #9 39.57 325,312 335 40.64 0% 100% 3% 0%
30 Swift 44.49 881,444 715 80.43 26% 92% 1% 62%
30 Go #3 44.75 496,332 829 108.15 58% 56% 61% 67%
31 Go 45.20 467,424 741 108.34 61% 60% 59% 59%
31 Swift #4 45.39 943,060 745 80.36 33% 54% 63% 27%
36 Racket 53.75 1,207,948 541 54.81 31% 0% 70% 1%
37 C# .NET Core 54.01 1,041,984 635 55.11 9% 51% 7% 35%
37 F# .NET Core #2 54.15 1,294,532 426 55.53 52% 2% 1% 47%
38 Erlang HiPE #6 56.34 1,994,236 1048 85.86 54% 27% 32% 40%
53 Swift #2 78.12 683,040 671 79.04 1% 58% 42% 1%
Ada 2012 GNAT #6 Bad Output
Lisp SBCL #3 Failed
Lua #2 Bad Output
Matz's Ruby #2 Bad Output
Matz's Ruby #9 Bad Output
Matz's Ruby #3 Bad Output