The Computer Language
25.03 Benchmarks Game

spectral-norm sorted-by "cpu secs"

Always look at the source code.

(Lumpers and Splitters.)

Some of these programs are single-thread and some are multi-thread: compare "secs" and "cpu secs". Some of these programs are un-optimised and some are heavily optimised: sort-by "gz" source code size.

Some of these programs are "naked ffi" and some put that in a library. Some of these programs are high-level and some are hand-written vector instructions.

Always look at the source code.

  * possible hand-written vector instructions or "unsafe"
 
× source secs mem gz cpu secs
1.0 * C gcc #6 0.40 3,199 1203 1.59
1.7 Intel Fortran #2 2.67 2,331 520 2.67
1.8 * C gcc #5 0.72 3,858 576 2.85
1.8 * Rust #6 0.72 3,981 1132 2.85
1.8 Rust #4 0.72 4,047 823 2.85
1.8 Rust #5 0.72 4,018 1062 2.85
1.8 * C gcc #7 0.72 4,067 906 2.85
1.8 Intel Fortran #3 0.72 5,214 644 2.85
1.8 * C gcc #4 0.72 3,719 1145 2.86
1.8 * Rust 0.72 4,104 1262 2.86
1.8 * Rust #2 0.72 4,145 1117 2.86
1.8 * C++g++ #6 0.72 3,981 1050 2.86
1.8 * C# naot #5 0.74 8,057 776 2.88
1.8 Chapel #2 0.78 10,052 348 2.90
1.8 * Rust #3 0.74 4,121 1060 2.93
1.9 * Ada 2012 GNAT #4 0.77 8,569 2777 2.98
2.1 * F# #6 0.95 47,010 697 3.31
2.3 Julia #4 1.31 315,896 435 3.72
3.3 * C++ g++ #5 1.33 5,820 1050 5.27
3.3 OCaml #2 5.34 6,074 383 5.33
3.4 C++ g++ 5.34 5,292 459 5.34
3.4 Dart aot 5.34 9,060 468 5.34
3.4 C# naot #8 5.35 6,820 441 5.34
3.4 Ada 2012 GNAT 5.35 6,091 725 5.34
3.4 Java naot #8 5.35 20,886 453 5.34
3.4 Lisp SBCL #6 5.36 29,557 512 5.35
3.4 Swift #8 5.36 24,859 411 5.35
3.4 Java naot 5.36 25,215 521 5.35
3.4 Lisp SBCL 5.37 29,782 639 5.35
3.4 Go #8 5.34 3,838 429 5.35
3.4 Go 5.34 4,059 417 5.35
3.4 Node.js #7 5.40 66,163 420 5.40
3.4 C gcc #8 5.41 3,219 389 5.40
3.4 Node.js 5.41 67,637 326 5.41
3.6 C gcc #3 1.43 4,080 470 5.69
3.6 Go #4 1.43 4,174 555 5.69
3.6 Go #2 1.51 4,317 674 5.70
3.6 Haskell GHC #4 1.49 10,052 994 5.70
3.6 Swift #3 1.45 13,689 607 5.70
3.6 Java naot #2 1.47 26,616 956 5.71
3.6 Dart aot #6 1.46 19,603 1202 5.71
3.6 Free Pascal #3 1.46 3,879 656 5.72
3.6 Free Pascal #2 1.46 3,793 548 5.72
3.6 Lisp SBCL #7 1.47 29,258 769 5.72
3.6 Lisp SBCL #9 1.48 28,799 799 5.72
3.6 Lisp SBCL #3 1.47 29,598 893 5.72
3.6 Lisp SBCL #2 1.48 29,274 920 5.72
3.6 Java naot #3 1.47 29,483 762 5.72
3.6 C# naot #2 1.47 6,644 1084 5.72
3.6 Dart aot #2 1.54 20,505 1173 5.72
3.6 Ada 2012 GNAT #3 1.49 8,475 1725 5.72
3.6 Chapel 1.50 10,076 322 5.75
3.6 C# naot #3 1.48 6,808 890 5.79
3.6 Julia #2 2.84 414,818 377 5.81
3.7 F# #2 1.59 44,683 864 5.83
3.7 F# #4 1.60 46,375 738 5.86
3.8 Node.js #6 1.60 116,212 1002 6.01
3.8 C++ g++ #7 1.53 4,071 1284 6.05
4.1 Node.js #8 6.53 66,642 355 6.53
5.3 Dart aot #8 8.38 9,994 422 8.38
7.4 Free Pascal 11.81 532 429 11.80
9.3 * Racket #3 3.97 128,840 639 14.86
9.5 * Racket #2 15.19 126,857 539 15.14
10 * Haskell GHC #2 15.99 12,648 410 16.09
19 Racket 29.73 129,208 452 29.68
27 Erlang #2 11.05 76,771 753 42.67
34 Pharo Smalltalk 53.39 142,340 683 53.68
40 Erlang 63.91 68,399 513 63.93
45 PHP 18.29 24,682 1157 72.34
49 Lua 77.63 3,568 335 77.61
60 Perl 96.09 10,101 340 96.05
60 Perl #5 96.18 10,162 346 96.15
62 Perl #4 24.85 14,885 562 98.03
79 Ruby #4 126.05 20,025 333 125.99
83 PHP #2 132.84 16,810 403 132.78
85 PHP #8 135.79 16,601 357 135.74
89 PHP #3 35.62 26,657 1214 141.20
110 Ruby #8 175.57 19,132 294 175.51
130 Ruby #5 56.52 43,725 764 207.29
219 Python 3 #6 5 min 13,660 334 5 min
222 Python 3 #4 90.37 34,693 415 5 min
242 Python 3 #8 6 min 12,833 334 6 min
265 Python 3 #7 109.91 34,578 425 7 min
322 Perl #2 8 min 9,581 350 8 min
325 Perl #3 130.52 14,729 857 8 min
C gcc #2 Empty
Rust #7 Empty