The Computer Language
Benchmarks Game

spectral-norm

We accept something intermediate between chaos and rigidity — enough flex & slop & play to allow for Haskell programs that are not just mechanically translated from Fortran; enough similarity in the basic workloads & tested results.

Programming language advocates and curious programmers have contributed new programs and introduced newer techniques. 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. Always look at the source code.

× source secs mem gz busy cpu load
1.0 C gcc #5 1.98 1,252 569 7.87 99% 100% 99% 99%
1.0 Rust #6 1.97 2,312 1126 7.87 99% 100% 100% 99%
1.0 C gcc #4 1.98 1,252 1139 7.88 99% 100% 99% 99%
1.0 C++ g++ #6 1.98 1,268 1044 7.89 100% 99% 99% 99%
1.0 Ada 2012 GNAT #4 2.00 4,320 2770 7.90 99% 99% 99% 98%
1.0 Fortran Intel #3 1.98 1,732 638 7.92 100% 100% 100% 100%
1.0 Rust #5 2.00 2,300 1055 7.96 100% 99% 100% 99%
1.0 C++ g++ #5 2.00 1,880 1044 7.97 100% 100% 100% 100%
1.0 Rust 2.05 2,336 1254 7.98 98% 98% 97% 98%
1.0 Rust #2 2.06 2,224 1110 8.01 98% 97% 97% 97%
1.0 Fortran Intel #2 7.85 3,076 513 8.07 2% 100% 1% 0%
1.1 Rust #3 2.30 2,340 1053 8.86 96% 96% 96% 96%
1.2 Rust #4 2.31 2,416 817 9.21 100% 100% 100% 100%
1.8 C++ g++ #8 3.49 1,208 1278 13.90 99% 100% 100% 100%
2.0 Go #4 3.94 2,136 548 15.71 99% 100% 100% 99%
2.0 Haskell GHC #4 4.05 3,900 987 15.74 97% 97% 97% 98%
2.0 Lisp SBCL #5 3.99 16,472 899 15.75 99% 99% 98% 99%
2.0 Lisp SBCL #2 4.00 16,464 915 15.77 99% 99% 99% 99%
2.0 Chapel 3.98 5,212 310 15.77 99% 99% 99% 99%
2.0 Swift #3 3.96 8,080 601 15.78 99% 100% 100% 99%
2.0 Lisp SBCL #3 4.02 19,636 890 15.78 98% 98% 98% 98%
2.0 Go #2 4.11 1,376 668 15.79 97% 96% 96% 96%
2.0 Ada 2012 GNAT #3 4.02 4,308 1717 15.82 98% 98% 98% 99%
2.0 Free Pascal #2 3.98 1,912 542 15.84 99% 99% 99% 99%
2.0 Go 15.71 2,772 411 15.86 1% 100% 0% 0%
2.0 Ada 2012 GNAT 15.70 3,488 716 15.89 1% 0% 0% 100%
2.0 C# .NET Core #3 4.11 36,056 878 15.90 96% 98% 98% 96%
2.0 Node js #5 15.77 31,708 393 15.92 0% 0% 1% 100%
2.0 C gcc #3 3.98 1,248 463 15.92 100% 100% 100% 100%
2.0 Node js 15.78 32,716 319 15.93 0% 100% 1% 0%
2.0 C# .NET Core #4 4.13 36,572 1102 15.95 96% 98% 97% 96%
2.0 Node js #3 15.77 31,596 381 15.95 1% 0% 0% 100%
2.0 Dart aot #5 15.75 10,784 489 15.95 0% 1% 1% 100%
2.0 F# .NET Core #4 4.16 37,788 732 15.96 94% 98% 96% 94%
2.0 F# .NET Core #2 4.16 37,716 853 15.96 96% 95% 94% 98%
2.0 Swift 15.70 12,900 438 15.99 0% 100% 1% 1%
2.0 F# .NET Core #5 4.16 37,496 730 16.02 96% 95% 95% 99%
2.0 Substrate VM 15.72 5,152 514 16.02 100% 0% 0% 2%
2.0 OCaml #2 15.70 3,716 377 16.03 1% 1% 100% 0%
2.0 Dart snapshot #5 15.81 75,796 489 16.05 0% 100% 1% 1%
2.0 Node js #2 15.77 31,708 336 16.06 1% 0% 100% 1%
2.0 C# .NET Core 15.89 36,908 459 16.08 2% 0% 0% 100%
2.0 C gcc 15.99 1,100 383 16.09 0% 100% 1% 0%
2.0 Dart snapshot 15.82 77,440 462 16.12 100% 1% 0% 1%
2.0 Dart aot 15.91 10,744 462 16.12 0% 100% 1% 0%
2.1 Free Pascal 15.98 8 423 16.15 100% 0% 1% 0%
2.1 C++ g++ 16.07 3,256 452 16.22 1% 0% 0% 100%
2.1 Java  #2 4.19 36,740 950 16.36 98% 97% 98% 98%
2.1 TypeScript 15.83 33,192 388 16.49 4% 0% 0% 100%
2.1 Node js #6 4.33 54,732 999 16.62 95% 97% 96% 96%
2.1 Lisp SBCL 15.73 20,500 631 16.65 0% 1% 5% 100%
2.1 Java 16.38 36,800 514 16.69 1% 0% 1% 100%
2.1 Dart #5 16.06 132,012 489 16.75 1% 3% 2% 99%
2.1 Haskell GHC #2 15.78 5,972 403 16.80 100% 1% 2% 3%
2.2 Julia 4.77 183,540 401 17.06 86% 86% 86% 99%
2.2 Dart 16.06 131,576 462 17.21 1% 5% 2% 99%
2.2 Julia #2 4.71 160,908 370 17.43 90% 99% 91% 90%
2.2 F# .NET Core #3 4.57 37,868 721 17.59 96% 95% 95% 98%
2.6 TypeScript #2 19.85 34,092 388 20.19 100% 0% 0% 1%
2.7 Racket #3 5.67 48,148 627 20.94 90% 98% 91% 91%
2.8 Substrate VM #2 5.56 4,236 950 21.92 98% 99% 99% 98%
4.5 Truffle Ruby #4 23.21 737,884 326 35.34 76% 35% 21% 21%
4.9 Racket #2 38.08 46,184 532 38.45 0% 0% 1% 100%
5.1 Lisp SBCL #4 10.62 54,152 891 40.35 95% 95% 95% 95%
5.2 Racket 40.62 43,676 446 40.95 1% 100% 0% 0%
5.4 Truffle Ruby 25.60 753,960 292 42.61 24% 69% 50% 24%
5.4 Truffle Ruby #7 25.86 759,012 292 42.78 30% 86% 21% 28%
7.8 Erlang HiPE #2 15.65 30,656 747 61.72 98% 99% 98% 99%
9.4 Racket CS #2 73.88 79,924 532 74.33 0% 100% 0% 1%
12 VW Smalltalk 91.43 54,540 642 92.27 0% 0% 100% 1%
12 Racket CS 93.79 82,508 446 94.66 0% 100% 0% 0%
13 Pharo Smalltalk 99.73 79,760 674 101.05 54% 1% 1% 46%
13 Erlang HiPE 101.74 26,860 507 103.44 0% 100% 1% 0%
14 VW Smalltalk #2 34.05 246,008 1047 109.55 79% 80% 83% 79%
17 PHP 33.12 24,140 1152 131.98 100% 100% 100% 100%
21 Perl #5 159.40 7,072 340 161.52 1% 0% 100% 0%
21 Perl 162.17 7,060 333 164.10 1% 100% 0% 0%
21 Perl #4 43.08 11,248 555 165.57 95% 95% 99% 95%
25 Lua 192.80 2,872 329 199.44 15% 85% 1% 2%
30 Racket CS #3 64.14 79,088 627 238.47 94% 93% 93% 93%
30 PHP #2 236.98 8,848 397 238.72 0% 0% 100% 0%
31 PHP #3 60.44 25,944 1210 240.99 100% 100% 100% 100%
34 JRuby #4 251.03 757,844 326 265.02 2% 44% 57% 2%
35 Ruby #4 232.89 18,324 326 274.11 16% 92% 7% 2%
41 Ruby 278.95 17,964 292 5 min 83% 13% 13% 6%
63 JRuby 7 min 751,028 292 8 min 45% 3% 8% 48%
70 JRuby #2 141.81 744,860 776 9 min 98% 98% 98% 97%
78 Python 3 #6 10 min 9,120 328 10 min 21% 38% 42% 0%
89 Python 3 #5 175.91 51,700 443 11 min 99% 99% 99% 99%
102 Perl #3 201.85 17,668 850 13 min 100% 100% 100% 100%
103 Perl #2 13 min 6,428 343 13 min 1% 0% 100% 0%
135 Ruby #5 273.47 20,192 862 17 min 97% 98% 98% 97%
304 Matz's Ruby 39 min 6,080 292 39 min 98% 0% 2% 1%
354 Matz's Ruby #4 46 min 6,072 326 46 min 66% 34% 0% 0%
OCaml #3 Make Error
Matz's Ruby #5 Failed
Truffle Ruby #5 Timed Out