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 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 gcc #5 1.98 1,252 569 7.87 99% 100% 99% 99%
1.0 C++ g++ #6 1.98 1,268 1044 7.89 100% 99% 99% 99%
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 Ada 2012 GNAT #4 2.00 4,320 2770 7.90 99% 99% 99% 98%
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.2 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 Swift #3 3.96 8,080 601 15.78 99% 100% 100% 99%
2.0 Chapel 3.98 5,212 310 15.77 99% 99% 99% 99%
2.0 Free Pascal #2 3.98 1,912 542 15.84 99% 99% 99% 99%
2.0 C gcc #3 3.98 1,248 463 15.92 100% 100% 100% 100%
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 Lisp SBCL #3 4.02 19,636 890 15.78 98% 98% 98% 98%
2.0 Ada 2012 GNAT #3 4.02 4,308 1717 15.82 98% 98% 98% 99%
2.1 Haskell GHC #4 4.05 3,900 987 15.74 97% 97% 97% 98%
2.1 C# .NET Core #3 4.11 36,056 878 15.90 96% 98% 98% 96%
2.1 Go #2 4.11 1,376 668 15.79 97% 96% 96% 96%
2.1 C# .NET Core #4 4.13 36,572 1102 15.95 96% 98% 97% 96%
2.1 F# .NET Core #5 4.16 37,496 730 16.02 96% 95% 95% 99%
2.1 F# .NET Core #4 4.16 37,788 732 15.96 94% 98% 96% 94%
2.1 F# .NET Core #2 4.16 37,716 853 15.96 96% 95% 94% 98%
2.1 Java  #2 4.19 36,740 950 16.36 98% 97% 98% 98%
2.2 Node js #6 4.33 54,732 999 16.62 95% 97% 96% 96%
2.3 F# .NET Core #3 4.57 37,868 721 17.59 96% 95% 95% 98%
2.4 Julia #2 4.71 160,908 370 17.43 90% 99% 91% 90%
2.4 Julia 4.77 183,540 401 17.06 86% 86% 86% 99%
2.8 Substrate VM #2 5.56 4,236 950 21.92 98% 99% 99% 98%
2.9 Racket #3 5.67 48,148 627 20.94 90% 98% 91% 91%
4.0 Fortran Intel #2 7.85 3,076 513 8.07 2% 100% 1% 0%
5.4 Lisp SBCL #4 10.62 54,152 891 40.35 95% 95% 95% 95%
7.9 Erlang HiPE #2 15.65 30,656 747 61.72 98% 99% 98% 99%
8.0 Ada 2012 GNAT 15.70 3,488 716 15.89 1% 0% 0% 100%
8.0 OCaml #2 15.70 3,716 377 16.03 1% 1% 100% 0%
8.0 Swift 15.70 12,900 438 15.99 0% 100% 1% 1%
8.0 Go 15.71 2,772 411 15.86 1% 100% 0% 0%
8.0 Substrate VM 15.72 5,152 514 16.02 100% 0% 0% 2%
8.0 Lisp SBCL 15.73 20,500 631 16.65 0% 1% 5% 100%
8.0 Dart aot #5 15.75 10,784 489 15.95 0% 1% 1% 100%
8.0 Node js #3 15.77 31,596 381 15.95 1% 0% 0% 100%
8.0 Node js #5 15.77 31,708 393 15.92 0% 0% 1% 100%
8.0 Node js #2 15.77 31,708 336 16.06 1% 0% 100% 1%
8.0 Haskell GHC #2 15.78 5,972 403 16.80 100% 1% 2% 3%
8.0 Node js 15.78 32,716 319 15.93 0% 100% 1% 0%
8.0 Dart snapshot #5 15.81 75,796 489 16.05 0% 100% 1% 1%
8.0 Dart snapshot 15.82 77,440 462 16.12 100% 1% 0% 1%
8.0 TypeScript 15.83 33,192 388 16.49 4% 0% 0% 100%
8.1 C# .NET Core 15.89 36,908 459 16.08 2% 0% 0% 100%
8.1 Dart aot 15.91 10,744 462 16.12 0% 100% 1% 0%
8.1 Free Pascal 15.98 8 423 16.15 100% 0% 1% 0%
8.1 C gcc 15.99 1,100 383 16.09 0% 100% 1% 0%
8.1 Dart #5 16.06 132,012 489 16.75 1% 3% 2% 99%
8.1 Dart 16.06 131,576 462 17.21 1% 5% 2% 99%
8.1 C++ g++ 16.07 3,256 452 16.22 1% 0% 0% 100%
8.3 Java 16.38 36,800 514 16.69 1% 0% 1% 100%
10 TypeScript #2 19.85 34,092 388 20.19 100% 0% 0% 1%
12 Truffle Ruby #4 23.21 737,884 326 35.34 76% 35% 21% 21%
13 Truffle Ruby 25.60 753,960 292 42.61 24% 69% 50% 24%
13 Truffle Ruby #7 25.86 759,012 292 42.78 30% 86% 21% 28%
17 PHP 33.12 24,140 1152 131.98 100% 100% 100% 100%
17 VW Smalltalk #2 34.05 246,008 1047 109.55 79% 80% 83% 79%
19 Racket #2 38.08 46,184 532 38.45 0% 0% 1% 100%
21 Racket 40.62 43,676 446 40.95 1% 100% 0% 0%
22 Perl #4 43.08 11,248 555 165.57 95% 95% 99% 95%
31 PHP #3 60.44 25,944 1210 240.99 100% 100% 100% 100%
33 Racket CS #3 64.14 79,088 627 238.47 94% 93% 93% 93%
37 Racket CS #2 73.88 79,924 532 74.33 0% 100% 0% 1%
46 VW Smalltalk 91.43 54,540 642 92.27 0% 0% 100% 1%
48 Racket CS 93.79 82,508 446 94.66 0% 100% 0% 0%
51 Pharo Smalltalk 99.73 79,760 674 101.05 54% 1% 1% 46%
52 Erlang HiPE 101.74 26,860 507 103.44 0% 100% 1% 0%
72 JRuby #2 141.81 744,860 776 9 min 98% 98% 98% 97%
81 Perl #5 159.40 7,072 340 161.52 1% 0% 100% 0%
82 Perl 162.17 7,060 333 164.10 1% 100% 0% 0%
89 Python 3 #5 175.91 51,700 443 11 min 99% 99% 99% 99%
98 Lua 192.80 2,872 329 199.44 15% 85% 1% 2%
102 Perl #3 201.85 17,668 850 13 min 100% 100% 100% 100%
118 Ruby #4 232.89 18,324 326 274.11 16% 92% 7% 2%
120 PHP #2 236.98 8,848 397 238.72 0% 0% 100% 0%
127 JRuby #4 251.03 757,844 326 265.02 2% 44% 57% 2%
139 Ruby #5 273.47 20,192 862 17 min 97% 98% 98% 97%
141 Ruby 278.95 17,964 292 5 min 83% 13% 13% 6%
242 JRuby 7 min 751,028 292 8 min 45% 3% 8% 48%
309 Python 3 #6 10 min 9,120 328 10 min 21% 38% 42% 0%
405 Perl #2 13 min 6,428 343 13 min 1% 0% 100% 0%
  Matz's Ruby 39 min 6,080 292 39 min 98% 0% 2% 1%
  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