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 Intel Fortran 1.84 173,128 2225 4.97 55% 59% 57% 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 152,860 986 3.14 84% 17% 31% 17%
1.4 Python 3 #2 2.12 111,692 1403 4.20 35% 41% 88% 34%
1.5 C# .NET Core #8 2.18 292,196 1869 4.28 23% 83% 43% 48%
1.5 Rust #5 2.27 200,520 771 3.26 0% 58% 0% 85%
1.6 Rust #4 2.34 200,656 765 3.37 0% 17% 44% 83%
1.6 Rust #3 2.35 198,304 719 3.36 83% 15% 15% 30%
1.6 Rust #2 2.35 148,992 701 3.38 83% 16% 14% 30%
1.6 C gcc #3 2.38 103,572 1266 4.22 31% 23% 100% 23%
1.6 Rust 2.38 149,744 804 3.41 17% 13% 100% 14%
2.0 PHP 2.87 156,560 816 5.50 45% 34% 35% 78%
2.1 Julia #4 3.04 439,612 766 5.18 5% 63% 98% 5%
2.3 Julia #3 3.44 484,388 622 6.19 5% 71% 98% 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%
3.0 Lua 4.36 339,520 482 4.43 0% 0% 1% 100%
4.0 Julia 5.88 480,312 408 6.27 21% 81% 2% 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.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.4 F# .NET Core #7 7.96 1,068,732 599 10.91 68% 23% 32% 14%
5.7 Dart #3 8.37 917,220 1041 13.17 24% 84% 32% 17%
6.0 Chapel 8.86 552,452 477 17.76 99% 69% 16% 16%
6.4 C++ g++ 9.37 207,984 656 9.46 100% 0% 0% 1%
6.8 Node js #3 9.96 757,188 668 12.06 8% 45% 9% 59%
6.9 Java  #3 10.13 644,456 929 31.05 73% 75% 91% 67%
7.2 Java #6 10.64 633,820 740 29.65 80% 82% 74% 43%
7.4 Node js #4 10.83 611,236 463 11.42 26% 7% 41% 32%
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 Java 16.29 632,380 868 30.15 61% 23% 43% 59%
11 Perl #4 16.39 157,044 820 46.71 81% 60% 85% 59%
11 Perl #3 16.54 157,220 854 47.46 63% 85% 78% 60%
12 F# .NET Core #6 17.14 1,253,476 611 55.36 77% 78% 88% 81%
12 C# .NET Core #5 17.55 1,243,364 673 56.81 76% 82% 88% 79%
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%
17 OCaml #2 25.15 901,868 637 25.44 1% 1% 100% 0%
18 Racket #2 26.06 1,245,416 729 56.08 59% 99% 21% 36%
19 Perl #2 27.33 205,064 710 47.17 71% 100% 2% 0%
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.56 885,372 715 80.19 0% 76% 17% 87%
30 Go #3 44.76 405,360 829 106.73 55% 52% 66% 65%
31 Swift #4 45.37 948,988 745 80.12 32% 26% 25% 94%
31 Go 45.54 370,576 741 111.14 74% 60% 59% 51%
36 Racket 53.76 1,207,452 541 54.52 54% 1% 1% 46%
38 Erlang HiPE #6 56.34 1,994,236 1048 85.86 54% 27% 32% 40%
53 Swift #2 78.07 683,068 671 78.55 0% 0% 0% 100%
Ada 2012 GNAT #6 Bad Output
Go #2 Make Error
Go #5 Make Error
Go #4 Make Error
Lisp SBCL #3 Failed
Matz's Ruby #2 Bad Output
Matz's Ruby #9 Bad Output
Matz's Ruby #3 Bad Output