The Computer Language
24.04 Benchmarks Game

spectral-norm

First a few simple programs.

Then optimisations, multicore parallelism, [pdf] vector parallelism.

Last hand-written vector instructions and "unsafe" programs.

  source secs mem gz    
  Chapel 1.47 19,776 322    
  Go #4 1.44 19,824 555    
  Julia #2 1.35 254,032 377    
 
 
 
× source secs mem gz cpu secs cpu load
1.0 Matz's Ruby 26 min 11,056 292 26 min 54% 1% 32% 14%
1.0 Matz's Ruby #5 10 min 11,056 758 40 min 96% 94% 95% 96%
1.0 Matz's Ruby #4 29 min 11,056 326 29 min 34% 13% 26% 32%
1.8 PHP #3 16.19 19,396 1214 63.39 99% 99% 93% 99%
1.8 PHP #2 56.73 19,396 403 56.73 0% 100% 0% 0%
1.8 PHP 6.85 19,396 1157 27.12 99% 99% 99% 99%
1.8 C gcc 5.39 19,520 390 5.39 0% 100% 0% 0%
1.8 C gcc #3 1.43 19,520 470 5.68 100% 100% 100% 99%
1.8 Perl #3 122.80 19,640 857 8 min 99% 99% 99% 99%
1.8 Perl #5 97.85 19,640 346 97.84 0% 100% 0% 0%
1.8 Perl #2 8 min 19,644 350 8 min 100% 0% 0% 0%
1.8 Perl #4 23.84 19,644 562 93.18 98% 98% 97% 97%
1.8 Perl 106.13 19,644 340 106.10 0% 0% 0% 100%
1.8 Chapel #2 0.74 19,648 348 2.89 100% 97% 100% 97%
1.8 Python 3 #7 90.77 19,656 425 5 min 99% 99% 99% 99%
1.8 Python 3 #6 5 min 19,656 334 5 min 6% 93% 0% 0%
1.8 Python 3 #8 98.97 19,656 415 6 min 97% 97% 98% 97%
1.8 Rust #5 0.72 19,668 1062 2.85 100% 100% 98% 100%
1.8 Lua 78.53 19,672 335 78.53 0% 95% 0% 4%
1.8 Swift #3 1.43 19,684 607 5.69 100% 99% 99% 99%
1.8 C++ g++ 5.36 19,684 459 5.36 0% 100% 0% 0%
1.8 C++ g++ #8 1.52 19,684 1284 6.04 100% 99% 99% 99%
1.8 Swift 5.32 19,684 444 5.32 0% 0% 0% 100%
1.8 Lisp SBCL #8 1.45 19,688 799 5.46 97% 97% 98% 99%
1.8 OCaml #2 5.31 19,688 383 5.31 100% 0% 0% 0%
1.8 Lisp SBCL #3 1.45 19,688 893 5.45 97% 97% 97% 98%
1.8 Free Pascal #2 1.45 19,696 548 5.71 98% 99% 98% 99%
1.8 Free Pascal 11.77 19,696 429 11.77 0% 100% 1% 0%
1.8 Ada 2012 GNAT 5.36 19,716 725 5.35 0% 0% 0% 100%
1.8 Classic Fortran #3 0.72 19,736 644 2.87 100% 100% 100% 98%
1.8 Classic Fortran #2 2.66 19,736 520 2.66 0% 100% 0% 0%
1.8 Chapel 1.47 19,776 322 5.79 99% 98% 98% 100%
1.8 Dart 5.32 19,792 468 5.32 0% 0% 0% 99%
1.8 Rust #7 0.72 19,796 938 2.85 100% 100% 98% 98%
1.8 Haskell GHC #4 1.48 19,796 994 5.70 97% 95% 96% 96%
1.8 Rust #4 0.72 19,796 823 2.85 98% 100% 98% 100%
1.8 Dart #6 1.51 19,800 1202 5.68 93% 94% 94% 94%
1.8 Lisp SBCL 5.32 19,816 639 5.32 0% 100% 0% 0%
1.8 Lisp SBCL #7 1.44 19,816 769 5.46 99% 98% 98% 98%
1.8 Lisp SBCL #2 1.46 19,816 920 5.46 98% 97% 97% 98%
1.8 Free Pascal #3 1.44 19,824 632 5.70 99% 99% 99% 99%
1.8 Go #2 1.53 19,824 674 5.67 93% 92% 92% 93%
1.8 Go #4 1.44 19,824 555 5.67 99% 98% 99% 98%
1.8 Go 5.32 19,824 417 5.33 0% 0% 0% 100%
1.8 Ada 2012 GNAT #3 1.47 19,844 1725 5.72 98% 98% 97% 98%
1.9 Lisp SBCL #6 5.32 20,736 512 5.32 0% 100% 0% 1%
2.0 Ruby 126.55 22,144 299 126.54 100% 0% 0% 0%
2.1 Ruby #4 129.16 22,912 333 129.16 0% 0% 100% 0%
2.1 Dart #2 3.34 23,552 1173 12.57 94% 95% 94% 94%
2.5 Ruby #5 64.82 27,520 764 236.48 93% 90% 88% 93%
2.8 C# .NET 5.39 31,320 480 5.38 1% 99% 0% 0%
2.8 C# .NET #2 1.51 31,432 1084 5.75 95% 94% 96% 95%
3.0 C# .NET #3 1.56 33,348 890 5.85 92% 94% 92% 96%
3.3 F# .NET #4 1.62 36,224 738 6.01 91% 91% 91% 98%
3.8 Java  #2 2.40 42,164 956 9.25 97% 95% 95% 97%
3.8 Java 7.07 42,268 521 7.13 0% 0% 0% 99%
3.9 Java #3 1.66 42,924 762 6.21 95% 95% 98% 95%
4.2 Node js #7 5.36 45,888 420 5.36 99% 0% 0% 0%
4.3 Node js 5.37 47,360 326 5.39 0% 0% 100% 0%
4.6 Erlang #2 11.75 51,176 753 45.92 97% 98% 97% 98%
4.8 Erlang 62.78 53,460 513 62.88 0% 0% 99% 0%
5.0 VW Smalltalk 49.25 55,424 649 49.25 0% 0% 0% 100%
6.9 Racket 29.59 76,644 452 29.59 0% 100% 0% 0%
8.5 Node js #6 1.55 94,080 1002 5.92 96% 95% 97% 95%
22 Julia #4 1.18 248,576 435 3.66 68% 75% 99% 69%
23 Julia #2 1.35 254,032 377 4.06 64% 71% 100% 65%
26 VW Smalltalk #2 21.94 290,048 1054 62.27 71% 70% 69% 72%
C gcc #8 Make Error
F# .NET #2 Timed Out
 
 
  hand-written vector instructions | "unsafe"
 
× source secs mem gz cpu secs cpu load
1.8 C gcc #7 0.73 19,520 906 2.84 98% 98% 100% 98%
1.8 C gcc #4 0.72 19,520 1145 2.84 98% 98% 98% 100%
1.8 C gcc #5 0.72 19,520 576 2.84 100% 100% 100% 98%
1.8 Rust #2 0.72 19,668 1117 2.58 98% 98% 100% 98%
1.8 Rust 0.74 19,668 1262 2.60 97% 98% 97% 98%
1.8 Rust #6 0.72 19,668 1132 2.84 100% 100% 98% 98%
1.8 C++ g++ #5 1.32 19,684 1050 5.25 100% 99% 100% 99%
1.8 C gcc #6 0.41 19,760 1203 1.61 100% 100% 100% 97%
1.8 Haskell GHC #2 21.48 19,796 410 21.63 55% 0% 0% 45%
1.8 Rust #3 0.79 19,796 1060 2.83 98% 97% 98% 98%
1.8 C++ g++ #6 0.72 19,812 1050 2.84 98% 100% 100% 100%
1.8 Ada 2012 GNAT #4 0.75 19,844 2777 2.85 97% 97% 97% 94%
3.3 C# .NET #5 0.93 36,020 776 3.34 87% 86% 96% 88%
6.8 Racket #2 15.07 75,004 539 15.07 0% 0% 100% 0%
6.9 Racket #3 3.94 76,456 639 14.82 92% 93% 98% 93%