All spectral-norm problem benchmarks

Current benchmark data was generated on Fri Jul 01 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz (Model 85)

* -m in a file name stands for multi-threading or multi-processing

* -i in a file name stands for direct intrinsics usage. (Usage of simd intrinsics via libraries is not counted)

* -ffi in a file name stands for non-stdlib FFI usage

* (You may find time < time(user) + time(sys) for some non-parallelized programs, the overhead is from GC or JIT compiler, which are allowed to take advantage of multi-cores as that's more close to real-world scenarios.)

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2-m.zig 1107ms 6.8ms 0.3MB 2103ms 7ms zig 0.10.0-dev.2820+48fd92365
cpp 7-m.cpp 1109ms 16ms 3.0MB 2153ms 0ms clang++ 11.0.0
cpp 7-m.cpp 1117ms 13ms 1.0MB 2157ms 0ms g++ 12.1.0
rust 8-m.rs 1117ms 15ms 2.5MB 2127ms 0ms rustc 1.64.0-nightly
cpp 8-m.cpp 1118ms 6.8ms 1.0MB 2157ms 0ms g++ 12.1.0
rust 7-m.rs 1119ms 18ms 2.2MB 2133ms 0ms rustc 1.62.0
cpp 8-m.cpp 1146ms 40ms 3.2MB 2197ms 3ms clang++ 11.0.0
julia 2-m.jl 1565ms 34ms 198.6MB 2603ms 167ms julia 1.7.3
c 4-m.c 1580ms 9.1ms 1.1MB 3057ms 3ms gcc 12.1.0
c 6-im.c 1790ms 16ms 3.0MB 3493ms 3ms clang 11.0.0
c 6-im.c 1826ms 34ms 0.9MB 3530ms 3ms gcc 12.1.0
c 4-m.c 1939ms 26ms 2.9MB 3753ms 10ms clang 11.0.0
c 5-im.c 2009ms 22ms 1.0MB 3867ms 3ms gcc 12.1.0
rust 8.rs 2119ms 2.9ms 2.5MB 2103ms 0ms rustc 1.64.0-nightly
zig 2.zig 2120ms 9.1ms 0.0MB 2107ms 0ms zig 0.10.0-dev.2820+48fd92365
rust 7.rs 2122ms 10ms 2.2MB 2107ms 0ms rustc 1.62.0
c 5-im.c 2164ms 23ms 3.0MB 4220ms 10ms clang 11.0.0
rust 2-m.rs 2246ms 7.1ms 2.1MB 4343ms 3ms rustc 1.62.0
cpp 6-im.cpp 2268ms 18ms 3.2MB 4430ms 3ms clang++ 11.0.0
cpp 6-im.cpp 2289ms 8.8ms 1.0MB 4443ms 10ms g++ 12.1.0
c 3-m.c 2358ms 27ms 1.0MB 4570ms 10ms gcc 12.1.0
c 3-m.c 2382ms 21ms 3.1MB 4617ms 17ms clang 11.0.0
chapel 1-m.chpl 2465ms 73ms 32.5MB 4717ms 20ms chpl 1.27.0
julia 3-m.jl 2484ms 6.8ms 212.9MB 4347ms 163ms julia 1.7.3
go 4-m.go 2755ms 35ms 5.3MB 5270ms 13ms go 1.18.3
csharp 3-m.cs 3506ms 519ms 32.6MB 5830ms 33ms dotnet 6.0.301
javascript 6-m.js 3672ms 38ms 70.5MB 6907ms 37ms node 18.4.0
v 1.v 4219ms 13ms 2.8MB 4200ms 0ms v/clang+gc 0.3.0
nim 1.nim 4223ms 14ms 1.8MB 4210ms 0ms nim/clang 1.6.6
wasm 2.rs 4230ms 18ms 5.5MB 4210ms 0ms wasmedgec 0.10.0
nim 1.nim 4233ms 6.9ms 1.9MB 4217ms 0ms nim 1.6.6
wasm 2.rs 4245ms 13ms 11.1MB 4230ms 0ms wasmtime 0.38.1
v 1.v 4255ms 18ms 2.8MB 4240ms 0ms v/clang 0.3.0
odin 1.odin 4332ms 17ms 2.8MB 4317ms 0ms odin 2022
wasm 7.rs 4474ms 33ms 6.2MB 4457ms 3ms wasmer/llvm 2.3.0
wasm 7.rs 4542ms 18ms 5.6MB 4530ms 0ms wasmedgec 0.10.0
chapel 1.chpl 4614ms 16ms 32.5MB 4593ms 3ms chpl 1.27.0
wasm 2.rs 4620ms 39ms 6.0MB 4610ms 0ms wasmer/llvm 2.3.0
zig 1.zig 4703ms 44ms 0.1MB 4690ms 0ms zig 0.10.0-dev.2820+48fd92365
d 1.d 4776ms 19ms 3.7MB 4763ms 0ms ldc2 1.29.0
csharp 3.cs timeout 0.0ms 0.0MB 0ms 0ms mono 6.12.0
crystal 1.cr timeout 0.0ms 0.0MB 0ms 0ms crystal 1.4.1
d 1.d timeout 0.0ms 0.0MB 0ms 0ms dmd 2.100.0
dart 1.dart timeout 0.0ms 0.0MB 0ms 0ms dart/exe 2.17.5
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 12.3.2
go 1.go timeout 0.0ms 0.0MB 0ms 0ms go 1.18.3
go 1.go timeout 0.0ms 0.0MB 0ms 0ms tinygo 0.23.0
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/cpp 4.2.4
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/c 4.2.4
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/jit 1.12.0
java 2.java timeout 0.0ms 0.0MB 0ms 0ms graal/jvm 17.0.3
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 18.0.1
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 19
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk/zgc 18.0.1
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms luajit 2.1.0-beta3
ocaml 2.ml timeout 0.0ms 0.0MB 0ms 0ms ocaml 4.14.0
perl 4.pl timeout 0.0ms 0.0MB 0ms 0ms perl 5.36.0
python 8.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.5
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pypy 3.8.13
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.1.0
rust 2.rs timeout 0.0ms 0.0MB 0ms 0ms rustc 1.62.0
typescript 7.ts timeout 0.0ms 0.0MB 0ms 0ms deno 1.23.2
wasm 2.rs timeout 0.0ms 0.0MB 0ms 0ms node 16.15.1
wasm 7.rs timeout 0.0ms 0.0MB 0ms 0ms node 16.15.1
wasm 7.rs timeout 0.0ms 0.0MB 0ms 0ms wasmtime 0.38.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 288ms 5.4ms 2.3MB 523ms 0ms rustc 1.64.0-nightly
cpp 8-m.cpp 290ms 4.0ms 3.2MB 540ms 0ms clang++ 11.0.0
zig 2-m.zig 292ms 2.8ms 0.2MB 523ms 0ms zig 0.10.0-dev.2820+48fd92365
rust 7-m.rs 292ms 4.8ms 0.7MB 533ms 0ms rustc 1.62.0
cpp 7-m.cpp 293ms 0.2ms 0.9MB 543ms 0ms g++ 12.1.0
cpp 8-m.cpp 293ms 5.1ms 2.5MB 543ms 0ms g++ 12.1.0
cpp 7-m.cpp 295ms 1.9ms 3.1MB 543ms 0ms clang++ 11.0.0
c 4-m.c 411ms 5.6ms 1.0MB 777ms 0ms gcc 12.1.0
c 6-im.c 462ms 5.7ms 3.0MB 873ms 0ms clang 11.0.0
c 6-im.c 477ms 17ms 1.0MB 880ms 0ms gcc 12.1.0
c 4-m.c 496ms 13ms 3.1MB 943ms 0ms clang 11.0.0
c 5-im.c 511ms 3.2ms 1.0MB 970ms 0ms gcc 12.1.0
zig 2.zig 525ms 2.2ms 0.0MB 510ms 0ms zig 0.10.0-dev.2820+48fd92365
rust 8.rs 533ms 5.1ms 2.2MB 520ms 0ms rustc 1.64.0-nightly
rust 7.rs 534ms 5.0ms 0.6MB 523ms 0ms rustc 1.62.0
c 5-im.c 560ms 6.1ms 3.0MB 1063ms 3ms clang 11.0.0
rust 2-m.rs 571ms 1.0ms 2.2MB 1077ms 0ms rustc 1.62.0
cpp 6-im.cpp 578ms 0.8ms 3.2MB 1110ms 0ms clang++ 11.0.0
cpp 6-im.cpp 590ms 11ms 1.0MB 1127ms 0ms g++ 12.1.0
c 3-m.c 601ms 7.9ms 1.0MB 1150ms 0ms gcc 12.1.0
c 3-m.c 602ms 19ms 3.0MB 1150ms 3ms clang 11.0.0
chapel 1-m.chpl 631ms 4.1ms 32.5MB 1197ms 7ms chpl 1.27.0
go 4-m.go 712ms 5.8ms 2.8MB 1323ms 3ms go 1.18.3
julia 2-m.jl 732ms 6.9ms 198.3MB 987ms 190ms julia 1.7.3
csharp 3-m.cs 838ms 12ms 30.2MB 1503ms 10ms dotnet 6.0.301
v 1.v 1053ms 5.5ms 2.6MB 1043ms 0ms v/clang 0.3.0
julia 3-m.jl 1055ms 22ms 211.0MB 1537ms 163ms julia 1.7.3
wasm 2.rs 1057ms 7.3ms 5.5MB 1043ms 0ms wasmedgec 0.10.0
nim 1.nim 1057ms 14ms 0.9MB 1040ms 0ms nim/clang 1.6.6
nim 1.nim 1058ms 1.7ms 0.9MB 1047ms 0ms nim 1.6.6
v 1.v 1059ms 13ms 2.6MB 1043ms 0ms v/clang+gc 0.3.0
wasm 2.rs 1071ms 6.2ms 11.0MB 1057ms 0ms wasmtime 0.38.1
odin 1.odin 1091ms 5.7ms 2.4MB 1077ms 0ms odin 2022
javascript 6-m.js 1123ms 6.3ms 69.4MB 1980ms 47ms node 18.4.0
wasm 7.rs 1136ms 37ms 6.1MB 1120ms 0ms wasmer/llvm 2.3.0
wasm 7.rs 1161ms 9.6ms 5.4MB 1150ms 0ms wasmedgec 0.10.0
wasm 2.rs 1165ms 5.1ms 6.2MB 1153ms 0ms wasmer/llvm 2.3.0
chapel 1.chpl 1181ms 12ms 32.4MB 1153ms 10ms chpl 1.27.0
zig 1.zig 1183ms 4.8ms 0.2MB 1173ms 0ms zig 0.10.0-dev.2820+48fd92365
d 1.d 1201ms 13ms 3.5MB 1187ms 0ms ldc2 1.29.0
wasm 7.rs 1259ms 14ms 10.7MB 1247ms 0ms wasmtime 0.38.1
d 1.d 1360ms 5.3ms 4.5MB 1347ms 0ms dmd 2.100.0
wasm 7.rs 1364ms 11ms 47.5MB 1393ms 10ms node 16.15.1
go 1.go 1380ms 18ms 4.8MB 1367ms 0ms go 1.18.3
typescript 7.ts 1452ms 10ms 36.9MB 1447ms 7ms deno 1.23.2
wasm 2.rs 1458ms 4.7ms 47.2MB 1480ms 13ms node 16.15.1
dart 1.dart 1479ms 5.5ms 11.9MB 1467ms 0ms dart/exe 2.17.5
java 2-m.java 1550ms 34ms 117.9MB 2823ms 70ms graal/jvm 17.0.3
lua 1.lua 1732ms 22ms 2.4MB 1720ms 0ms luajit 2.1.0-beta3
crystal 1.cr 1849ms 18ms 4.0MB 1837ms 0ms crystal 1.4.1
ocaml 2.ml 1888ms 10ms 3.3MB 1877ms 0ms ocaml 4.14.0
rust 2.rs 1921ms 16ms 0.6MB 1907ms 0ms rustc 1.62.0
haxe 1.hx 2385ms 5.4ms 6.6MB 2370ms 0ms haxe/cpp 4.2.4
haxe 1.hx 2393ms 12ms 3.3MB 2373ms 3ms haxe/hl/c 4.2.4
java 2-m.java 2865ms 230ms 38.9MB 5443ms 30ms openjdk 18.0.1
java 2-m.java 2949ms 67ms 44.0MB 5563ms 37ms openjdk 19
java 2-m.java 3008ms 195ms 40.6MB 5537ms 113ms openjdk/zgc 18.0.1
csharp 3-m.cs 3306ms 150ms 29.5MB 6207ms 13ms mono 6.12.0
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 12.3.2
go 1.go timeout 0.0ms 0.0MB 0ms 0ms tinygo 0.23.0
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/jit 1.12.0
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
perl 4.pl timeout 0.0ms 0.0MB 0ms 0ms perl 5.36.0
python 8.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.5
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pypy 3.8.13
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.1.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 79ms 1.8ms 2.3MB 130ms 0ms rustc 1.64.0-nightly
rust 7-m.rs 80ms 2.2ms 0.7MB 127ms 0ms rustc 1.62.0
cpp 7-m.cpp 83ms 2.7ms 1.0MB 137ms 0ms g++ 12.1.0
cpp 8-m.cpp 83ms 4.2ms 3.2MB 133ms 0ms clang++ 11.0.0
cpp 8-m.cpp 84ms 3.7ms 0.9MB 137ms 0ms g++ 12.1.0
zig 2-m.zig 86ms 4.3ms 0.2MB 127ms 0ms zig 0.10.0-dev.2820+48fd92365
cpp 7-m.cpp 88ms 6.2ms 3.2MB 143ms 0ms clang++ 11.0.0
c 4-m.c 114ms 3.4ms 1.0MB 190ms 0ms gcc 12.1.0
c 6-im.c 132ms 5.2ms 3.1MB 223ms 0ms clang 11.0.0
c 4-m.c 132ms 1.7ms 3.1MB 233ms 0ms clang 11.0.0
c 6-im.c 134ms 12ms 1.0MB 230ms 0ms gcc 12.1.0
zig 2.zig 134ms 0.6ms 0.0MB 123ms 0ms zig 0.10.0-dev.2820+48fd92365
rust 7.rs 135ms 3.2ms 0.6MB 127ms 0ms rustc 1.62.0
rust 8.rs 139ms 9.4ms 2.2MB 127ms 0ms rustc 1.64.0-nightly
c 5-im.c 142ms 5.9ms 1.0MB 250ms 0ms gcc 12.1.0
c 5-im.c 152ms 2.9ms 3.0MB 263ms 0ms clang 11.0.0
rust 2-m.rs 153ms 2.4ms 0.7MB 270ms 0ms rustc 1.62.0
cpp 6-im.cpp 158ms 2.1ms 1.0MB 280ms 0ms g++ 12.1.0
c 3-m.c 163ms 7.5ms 3.1MB 290ms 0ms clang 11.0.0
c 3-m.c 164ms 3.7ms 0.9MB 293ms 0ms gcc 12.1.0
cpp 6-im.cpp 173ms 8.6ms 3.2MB 300ms 0ms clang++ 11.0.0
chapel 1-m.chpl 178ms 1.2ms 32.5MB 307ms 3ms chpl 1.27.0
go 4-m.go 188ms 7.5ms 2.8MB 327ms 0ms go 1.18.3
v 1.v 266ms 1.2ms 2.6MB 253ms 0ms v/clang 0.3.0
nim 1.nim 266ms 2.2ms 0.9MB 253ms 0ms nim 1.6.6
v 1.v 267ms 3.1ms 2.6MB 257ms 0ms v/clang+gc 0.3.0
nim 1.nim 269ms 7.6ms 1.0MB 257ms 0ms nim/clang 1.6.6
wasm 2.rs 270ms 2.7ms 5.2MB 257ms 0ms wasmedgec 0.10.0
wasm 2.rs 276ms 6.2ms 9.7MB 263ms 0ms wasmtime 0.38.1
csharp 3-m.cs 277ms 1.2ms 32.3MB 403ms 13ms dotnet 6.0.301
odin 1.odin 277ms 3.3ms 1.9MB 267ms 0ms odin 2022
wasm 7.rs 291ms 1.6ms 7.2MB 277ms 0ms wasmedgec 0.10.0
wasm 7.rs 296ms 12ms 5.8MB 277ms 0ms wasmer/llvm 2.3.0
wasm 2.rs 298ms 9.9ms 5.6MB 280ms 0ms wasmer/llvm 2.3.0
zig 1.zig 302ms 7.4ms 0.1MB 290ms 0ms zig 0.10.0-dev.2820+48fd92365
d 1.d 306ms 1.3ms 3.3MB 300ms 0ms ldc2 1.29.0
chapel 1.chpl 311ms 3.5ms 32.4MB 290ms 7ms chpl 1.27.0
wasm 7.rs 321ms 2.1ms 11.6MB 307ms 0ms wasmtime 0.38.1
d 1.d 346ms 1.7ms 4.1MB 333ms 0ms dmd 2.100.0
go 1.go 354ms 5.6ms 2.8MB 340ms 0ms go 1.18.3
dart 1.dart 382ms 7.8ms 13.6MB 367ms 3ms dart/exe 2.17.5
typescript 7.ts 396ms 7.3ms 36.5MB 387ms 0ms deno 1.23.2
wasm 7.rs 432ms 5.8ms 48.1MB 457ms 10ms node 16.15.1
lua 1.lua 436ms 8.3ms 1.0MB 423ms 0ms luajit 2.1.0-beta3
wasm 2.rs 452ms 6.2ms 47.4MB 477ms 17ms node 16.15.1
crystal 1.cr 467ms 4.6ms 5.5MB 453ms 0ms crystal 1.4.1
ocaml 2.ml 474ms 5.5ms 3.1MB 460ms 0ms ocaml 4.14.0
javascript 6-m.js 488ms 8.0ms 69.0MB 713ms 43ms node 18.4.0
rust 2.rs 490ms 12ms 0.6MB 480ms 0ms rustc 1.62.0
julia 2.jl 526ms 8.4ms 195.0MB 627ms 153ms julia 1.7.3
haxe 1.hx 601ms 2.1ms 5.2MB 583ms 0ms haxe/cpp 4.2.4
haxe 1.hx 612ms 10.0ms 3.0MB 600ms 0ms haxe/hl/c 4.2.4
julia 3.jl 640ms 9.4ms 210.4MB 770ms 170ms julia 1.7.3
csharp 3-m.cs 841ms 3.4ms 27.6MB 1563ms 13ms mono 6.12.0
java 2-m.java 845ms 28ms 40.5MB 1523ms 20ms openjdk 18.0.1
java 2.java 858ms 24ms 102.6MB 903ms 50ms graal/jvm 17.0.3
java 2-m.java 879ms 29ms 43.4MB 1547ms 23ms openjdk 19
java 2-m.java 925ms 3.9ms 40.6MB 1543ms 80ms openjdk/zgc 18.0.1
go 1.go 1975ms 18ms 2.0MB 1960ms 0ms tinygo 0.23.0
ruby 4.rb 2919ms 42ms 352.5MB 3707ms 203ms truffleruby 22.1.0
haxe 1.hx 3493ms 26ms 3.7MB 3480ms 0ms haxe/hl/jit 1.12.0
python 8-m.py 4763ms 54ms 108.0MB 8240ms 517ms pypy 3.8.13
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 12.3.2
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
perl 4.pl timeout 0.0ms 0.0MB 0ms 0ms perl 5.36.0
python 8.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.5
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2