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 #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 Fortran Intel #3 1.98 1,736 638 7.90 99% 100% 99% 100%
1.0 C++ g++ #6 1.98 1,268 1044 7.89 100% 99% 99% 99%
1.0 Rust #6 1.98 2,156 1126 7.93 100% 100% 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 #5 2.00 2,224 1055 7.96 99% 100% 100% 99%
1.1 Rust 2.10 2,224 1254 8.04 96% 97% 95% 95%
1.1 Rust #2 2.12 2,224 1110 8.03 95% 95% 95% 94%
1.2 Rust #4 2.32 2,184 817 9.26 100% 100% 100% 100%
1.2 Rust #3 2.35 2,224 1053 8.94 95% 96% 95% 94%
1.8 C++ g++ #8 3.49 1,208 1278 13.90 99% 100% 100% 100%
2.0 Go #4 3.95 2,500 548 15.72 100% 99% 100% 99%
2.0 Swift #3 3.96 7,972 601 15.79 100% 100% 100% 100%
2.0 Chapel 3.98 5,508 310 15.78 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 Free Pascal #3 4.00 1,892 650 15.92 100% 99% 100% 100%
2.0 Lisp SBCL #2 4.02 16,408 915 15.76 98% 98% 98% 98%
2.0 Ada 2012 GNAT #3 4.02 4,308 1717 15.82 98% 98% 98% 99%
2.1 Lisp SBCL #7 4.06 16,596 753 15.87 98% 98% 98% 97%
2.1 Lisp SBCL #8 4.07 19,544 783 15.81 97% 97% 97% 98%
2.1 Haskell GHC #4 4.08 4,060 987 15.82 97% 97% 97% 97%
2.1 Lisp SBCL #3 4.09 16,408 890 15.89 97% 97% 97% 97%
2.1 Go #2 4.11 2,000 668 15.77 97% 95% 95% 96%
2.1 C# .NET Core #3 4.13 32,032 878 15.92 95% 98% 97% 95%
2.1 C# .NET Core #4 4.15 32,496 1102 15.94 97% 96% 96% 95%
2.1 Java  #2 4.20 36,636 950 16.37 97% 98% 97% 97%
2.1 F# .NET Core #2 4.21 34,304 853 16.04 98% 94% 94% 95%
2.1 F# .NET Core #5 4.23 36,420 730 16.20 95% 98% 96% 95%
2.2 F# .NET Core #4 4.25 35,280 732 16.24 94% 95% 98% 95%
2.2 Node js #6 4.27 54,968 999 16.42 96% 97% 95% 96%
2.3 Java OpenJ9 #2 4.47 53,736 950 16.83 93% 95% 96% 94%
2.4 F# .NET Core #3 4.73 34,520 721 18.16 95% 95% 95% 99%
2.4 Julia #2 4.81 174,632 370 17.16 86% 86% 88% 97%
2.5 Julia 4.89 197,256 401 17.05 83% 83% 83% 99%
2.9 Racket #3 5.67 48,148 627 20.94 90% 98% 91% 91%
4.0 Fortran Intel #2 7.85 2,944 513 7.98 100% 1% 1% 0%
7.9 Erlang HiPE #2 15.65 30,656 747 61.72 98% 99% 98% 99%
7.9 Go 15.70 2,768 411 16.29 2% 1% 0% 100%
7.9 Ada 2012 GNAT 15.70 3,488 716 15.89 1% 0% 0% 100%
7.9 OCaml #2 15.70 3,716 377 16.03 1% 1% 100% 0%
7.9 Swift 15.70 12,148 438 15.89 100% 1% 0% 0%
8.0 Lisp SBCL #6 15.73 20,556 505 16.17 1% 2% 100% 0%
8.0 Lisp SBCL 15.73 20,668 631 16.03 100% 1% 0% 1%
8.0 Dart aot #5 15.75 13,896 489 15.93 0% 100% 0% 1%
8.0 Haskell GHC #2 15.77 6,112 403 16.42 100% 2% 1% 1%
8.0 Node js #2 15.77 32,188 336 15.92 1% 0% 0% 100%
8.0 Node js #5 15.78 33,284 393 15.92 0% 0% 1% 100%
8.0 Node js #3 15.78 32,892 381 16.16 1% 0% 1% 100%
8.0 Node js 15.78 33,084 319 15.98 1% 0% 100% 0%
8.0 TypeScript 15.81 33,968 388 16.00 1% 0% 0% 100%
8.0 Dart snapshot #5 15.81 77,588 489 16.16 1% 100% 1% 1%
8.0 Dart snapshot 15.82 77,648 462 16.27 0% 100% 2% 1%
8.0 C# .NET Core 15.91 31,568 459 16.13 0% 1% 100% 0%
8.0 Dart aot 15.91 14,012 462 16.06 0% 0% 100% 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.05 130,536 489 16.67 2% 1% 99% 2%
8.1 C++ g++ 16.07 3,256 452 16.22 1% 0% 0% 100%
8.1 Dart 16.10 130,568 462 16.69 1% 99% 2% 1%
8.4 Java OpenJ9 16.58 52,004 514 17.37 2% 99% 2% 2%
8.4 Java 16.58 37,036 514 16.92 0% 1% 100% 1%
10 TypeScript #2 19.85 34,348 388 20.12 0% 1% 100% 0%
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%
32 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%
47 Racket CS 93.79 82,508 446 94.66 0% 100% 0% 0%
50 Pharo Smalltalk 99.73 79,760 674 101.05 54% 1% 1% 46%
51 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%
97 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%
138 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%
241 JRuby 7 min 751,028 292 8 min 45% 3% 8% 48%
326 Python 3 #6 10 min 9,476 328 10 min 65% 36% 0% 0%
404 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
Python 3 #5 Timed Out
Matz's Ruby #5 Failed