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 0.80 148,844 1397 2.03 53% 100% 54% 48%
1.2 C gcc #4 0.94 148,692 1230 3.29 85% 100% 73% 90%
1.2 Haskell GHC #3 0.97 308,072 2213 2.32 46% 51% 80% 62%
1.2 Intel Fortran 0.98 175,876 2225 3.10 74% 98% 75% 70%
1.3 C++ g++ #6 1.03 275,752 2850 2.19 36% 37% 100% 40%
1.4 C++ g++ #4 1.09 203,840 1315 3.40 63% 71% 99% 78%
1.6 Rust #6 1.30 153,228 986 1.82 12% 85% 28% 15%
1.7 Python 3 #2 1.37 404,320 1403 2.65 32% 41% 33% 88%
1.7 Rust #5 1.37 200,516 771 2.08 88% 9% 7% 49%
1.7 Rust 1.37 145,784 804 1.85 11% 100% 12% 12%
1.8 Rust #4 1.41 183,452 765 1.86 81% 31% 18% 0%
1.8 Rust #2 1.41 153,144 701 1.89 11% 12% 100% 11%
1.8 Rust #3 1.42 197,908 719 1.92 82% 11% 11% 31%
1.8 C# .NET Core #8 1.42 344,184 1869 2.68 39% 29% 87% 34%
2.1 C gcc #3 1.70 103,532 1266 3.28 36% 28% 29% 100%
2.1 PHP 1.71 271,952 816 3.50 37% 75% 43% 50%
2.2 Julia #5 1.75 385,152 759 3.09 66% 7% 98% 6%
2.2 Julia #4 1.78 391,140 766 3.31 66% 99% 5% 16%
2.5 Julia #3 1.99 478,904 622 3.69 98% 6% 6% 76%
4.0 C gcc #2 3.18 101,956 1115 3.21 1% 100% 0% 0%
4.3 C++ g++ #2 3.41 198,876 700 5.84 0% 0% 86% 86%
4.3 Julia 3.45 476,576 408 3.71 2% 99% 3% 3%
4.4 Go #5 3.55 375,092 810 5.86 30% 46% 21% 68%
4.7 C++ g++ #5 3.71 214,572 852 6.02 90% 20% 30% 21%
5.3 Chapel #3 4.25 485,144 493 6.90 99% 22% 22% 19%
5.5 F# .NET Core #7 4.37 985,812 599 6.26 78% 27% 17% 21%
5.8 Ada 2012 GNAT #5 4.62 154,104 3640 13.42 75% 71% 84% 61%
5.9 Node js #3 4.67 1,115,744 668 5.76 2% 2% 29% 91%
6.2 Dart #3 4.92 914,036 1041 7.72 21% 25% 91% 20%
6.9 Chapel #2 5.49 482,612 489 8.16 99% 17% 18% 14%
7.0 Java  #3 5.58 656,192 929 17.84 83% 83% 80% 74%
7.0 Java #6 5.58 633,872 740 18.05 76% 92% 76% 79%
7.2 Node js #4 5.72 903,128 463 5.92 33% 1% 68% 2%
7.3 C++ g++ 5.80 194,692 656 5.86 1% 0% 0% 100%
8.2 Dart #2 6.52 551,860 677 7.84 85% 9% 5% 21%
11 Java 9.10 635,488 868 17.90 62% 46% 46% 42%
12 Ruby #3 9.49 277,372 724 20.85 90% 43% 38% 49%
12 Python 3 9.50 455,420 512 18.38 39% 89% 37% 29%
12 F# .NET Core #6 9.95 1,289,368 611 31.84 83% 76% 80% 81%
13 Perl #4 9.99 156,124 820 29.82 51% 96% 61% 91%
13 Perl #3 10.17 156,584 854 30.60 96% 89% 50% 65%
13 C# .NET Core #5 10.29 1,296,664 673 32.98 86% 82% 78% 75%
17 C++ g++ #3 13.25 216,596 853 19.23 1% 44% 0% 100%
19 Go #4 14.77 402,404 829 36.11 51% 71% 66% 56%
19 OCaml #2 14.84 901,836 637 15.47 100% 3% 1% 0%
19 Racket #2 15.44 1,243,324 729 34.70 56% 69% 1% 99%
21 Matz's Ruby #3 16.43 221,312 724 48.13 100% 100% 47% 47%
21 Perl #2 16.46 204,864 710 28.53 0% 100% 73% 0%
24 Ruby #2 19.50 326,408 437 19.90 39% 17% 21% 25%
27 Perl 21.72 205,036 464 21.97 1% 100% 0% 0%
30 Ruby #9 23.75 420,348 334 24.21 0% 23% 1% 77%
33 Go #3 26.00 426,396 829 63.53 100% 47% 50% 48%
33 Go 26.48 338,828 741 64.05 63% 65% 47% 67%
34 Swift 26.88 878,976 715 52.04 18% 83% 2% 91%
34 Swift #4 27.22 1,061,144 745 53.41 92% 32% 31% 41%
40 Racket 32.31 1,024,448 541 32.68 1% 0% 100% 0%
43 Matz's Ruby #2 34.60 160,388 437 69.49 100% 100% 0% 1%
52 Matz's Ruby #9 41.70 164,244 334 83.81 1% 8% 92% 100%
53 Erlang HiPE #6 41.91 3,377,136 1048 61.09 16% 45% 22% 63%
62 Swift #2 49.53 682,716 671 49.88 0% 0% 100% 0%
Ada 2012 GNAT #6 Bad Output
Lisp SBCL #3 Failed
Lua Failed
Free Pascal Failed
Free Pascal #2 Failed