All spectral-norm problem benchmarks

Current benchmark data was generated on Fri Dec 09 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8272CL 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
cpp 7-m.cpp 885ms 1.8ms 3.4MB 1727ms 0ms clang++ 14.0.0
cpp 8-m.cpp 886ms 2.1ms 3.4MB 1727ms 0ms clang++ 14.0.0
cpp 7-m.cpp 887ms 1.4ms 1.3MB 1730ms 0ms g++ 12.2.0
cpp 8-m.cpp 888ms 4.4ms 1.3MB 1733ms 0ms g++ 12.2.0
rust 8-m.rs 889ms 1.9ms 2.5MB 1717ms 0ms rustc 1.67.0-nightly
zig 2-m.zig 890ms 0.4ms 1.3MB 1713ms 0ms zig 0.11.0-dev.632+d69e97ae1
rust 7-m.rs 892ms 0.8ms 2.3MB 1727ms 0ms rustc 1.65.0
julia 2-m.jl 1211ms 3.0ms 192.9MB 2060ms 130ms julia 1.8.3
c 4-m.c 1268ms 3.4ms 1.3MB 2480ms 0ms gcc 12.2.0
c 6-im.c 1515ms 0.5ms 1.3MB 2970ms 0ms gcc 12.2.0
c 6-im.c 1561ms 3.6ms 3.2MB 3063ms 0ms clang 14.0.0
c 5-im.c 1586ms 15ms 1.3MB 3100ms 0ms gcc 12.2.0
c 4-m.c 1612ms 21ms 3.1MB 3127ms 0ms clang 14.0.0
zig 2.zig 1717ms 0.5ms 1.1MB 1707ms 0ms zig 0.11.0-dev.632+d69e97ae1
rust 8.rs 1722ms 0.3ms 2.4MB 1710ms 0ms rustc 1.67.0-nightly
rust 7.rs 1729ms 1.1ms 2.1MB 1720ms 0ms rustc 1.65.0
rust 2-m.rs 1813ms 4.5ms 2.1MB 3543ms 0ms rustc 1.65.0
cpp 6-im.cpp 1832ms 3.8ms 1.3MB 3603ms 0ms g++ 12.2.0
cpp 6-im.cpp 1835ms 1.8ms 3.3MB 3603ms 3ms clang++ 14.0.0
c 3-m.c 1864ms 15ms 3.5MB 3667ms 0ms clang 14.0.0
c 3-m.c 1875ms 14ms 1.3MB 3663ms 0ms gcc 12.2.0
c 5-im.c 1940ms 9.8ms 3.5MB 3810ms 3ms clang 14.0.0
chapel 1-m.chpl 1967ms 87ms 32.3MB 3797ms 7ms chpl 1.28.0
csharp 3-m.cs 2085ms 1.3ms 13.6MB 4057ms 7ms dotnet/aot 7.0.100
julia 3-m.jl 2132ms 3.4ms 210.0MB 3813ms 150ms julia 1.8.3
go 4-m.go 2204ms 4.7ms 5.4MB 4280ms 3ms go 1.19.4
javascript 6-m.js 2821ms 18ms 77.9MB 5267ms 33ms node 19.2.0
nim 1.nim 3431ms 1.2ms 1.3MB 3420ms 0ms nim/clang 1.6.10
nim 1.nim 3434ms 2.2ms 1.3MB 3420ms 0ms nim 1.6.10
wasm 2.rs 3439ms 1.0ms 16.0MB 3423ms 0ms wasmedgec 0.11.2
odin 1.odin 3537ms 7.0ms 2.9MB 3523ms 0ms odin 2022
d 1.d 3629ms 1.6ms 3.8MB 3620ms 0ms ldc2 1.30.0
wasm 7.rs 3665ms 22ms 16.8MB 3653ms 0ms wasmedgec 0.11.2
chapel 1.chpl 3776ms 0.1ms 32.3MB 3760ms 3ms chpl 1.28.0
zig 1.zig 3873ms 77ms 1.0MB 3863ms 0ms zig 0.11.0-dev.632+d69e97ae1
wasm 7.rs 4042ms 1.0ms 11.7MB 4030ms 0ms wasmtime 3.0.1
csharp 3-m.cs 4113ms 70ms 105.1MB 7603ms 30ms dotnet 7.0.100
wasm 7.rs 4157ms 31ms 49.1MB 4170ms 10ms node 16.18.1
java 2-m.java 4297ms 15ms 88.3MB 8307ms 30ms graal/jvm 17.0.5
go 1.go 4400ms 1.3ms 5.4MB 4387ms 3ms go 1.19.4
d 1.d 4415ms 23ms 4.6MB 4403ms 0ms dmd 2.101.0
wasm 2.rs 4419ms 3.5ms 48.8MB 4437ms 7ms node 16.18.1
wasm 2.rs 4510ms 0.4ms 10.9MB 4500ms 0ms wasmtime 3.0.1
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.6.2
dart 1.dart timeout 0.0ms 0.0MB 0ms 0ms dart/exe 2.18.5
go 1.go timeout 0.0ms 0.0MB 0ms 0ms tinygo 0.25.0
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/jit 1.13.0
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 19
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 20
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk/zgc 19
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.11.1
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pypy 3.9.15
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.3
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.3
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.3.0
rust 2.rs timeout 0.0ms 0.0MB 0ms 0ms rustc 1.65.0
typescript 7.ts timeout 0.0ms 0.0MB 0ms 0ms deno 1.28.3
v 1.v timeout 0.0ms 0.0MB 0ms 0ms v/clang+gc 0.3.2
v 1.v timeout 0.0ms 0.0MB 0ms 0ms v/clang 0.3.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 231ms 0.7ms 3.3MB 423ms 3ms clang++ 14.0.0
cpp 8-m.cpp 231ms 2.3ms 1.3MB 437ms 0ms g++ 12.2.0
rust 7-m.rs 232ms 0.9ms 1.0MB 423ms 0ms rustc 1.65.0
rust 8-m.rs 232ms 2.6ms 2.1MB 427ms 0ms rustc 1.67.0-nightly
cpp 7-m.cpp 233ms 1.8ms 1.3MB 433ms 0ms g++ 12.2.0
zig 2-m.zig 233ms 0.6ms 1.2MB 423ms 0ms zig 0.11.0-dev.632+d69e97ae1
cpp 7-m.cpp 233ms 2.6ms 3.4MB 433ms 0ms clang++ 14.0.0
c 4-m.c 331ms 7.9ms 1.3MB 623ms 0ms gcc 12.2.0
c 6-im.c 390ms 3.0ms 1.3MB 740ms 3ms gcc 12.2.0
c 6-im.c 400ms 2.8ms 3.3MB 763ms 0ms clang 14.0.0
c 4-m.c 404ms 0.6ms 3.2MB 770ms 3ms clang 14.0.0
c 5-im.c 409ms 5.1ms 1.3MB 777ms 0ms gcc 12.2.0
zig 2.zig 432ms 1.3ms 1.0MB 420ms 0ms zig 0.11.0-dev.632+d69e97ae1
rust 8.rs 433ms 0.4ms 2.2MB 420ms 0ms rustc 1.67.0-nightly
rust 7.rs 435ms 0.4ms 1.0MB 423ms 0ms rustc 1.65.0
cpp 6-im.cpp 468ms 1.2ms 1.3MB 900ms 0ms g++ 12.2.0
rust 2-m.rs 469ms 6.3ms 2.1MB 890ms 0ms rustc 1.65.0
cpp 6-im.cpp 472ms 5.2ms 3.4MB 900ms 0ms clang++ 14.0.0
c 3-m.c 477ms 1.6ms 1.3MB 920ms 0ms gcc 12.2.0
c 3-m.c 481ms 0.9ms 3.2MB 920ms 0ms clang 14.0.0
c 5-im.c 497ms 2.0ms 3.1MB 953ms 0ms clang 14.0.0
chapel 1-m.chpl 507ms 11ms 32.3MB 953ms 7ms chpl 1.28.0
csharp 3-m.cs 538ms 3.6ms 14.3MB 1020ms 3ms dotnet/aot 7.0.100
julia 2-m.jl 555ms 0.4ms 194.2MB 763ms 137ms julia 1.8.3
go 4-m.go 563ms 2.5ms 3.4MB 1060ms 0ms go 1.19.4
julia 3-m.jl 826ms 4.3ms 208.8MB 1240ms 147ms julia 1.8.3
nim 1.nim 861ms 0.5ms 1.2MB 850ms 0ms nim/clang 1.6.10
nim 1.nim 861ms 1.7ms 1.3MB 850ms 0ms nim 1.6.10
wasm 2.rs 866ms 0.5ms 16.6MB 853ms 0ms wasmedgec 0.11.2
odin 1.odin 888ms 0.2ms 2.1MB 880ms 0ms odin 2022
javascript 6-m.js 891ms 4.6ms 77.3MB 1543ms 33ms node 19.2.0
d 1.d 911ms 0.9ms 3.4MB 897ms 0ms ldc2 1.30.0
wasm 7.rs 925ms 0.0ms 16.9MB 910ms 0ms wasmedgec 0.11.2
chapel 1.chpl 963ms 3.4ms 32.3MB 950ms 3ms chpl 1.28.0
zig 1.zig 967ms 0.9ms 1.1MB 957ms 0ms zig 0.11.0-dev.632+d69e97ae1
wasm 7.rs 1017ms 2.1ms 9.6MB 1000ms 0ms wasmtime 3.0.1
d 1.d 1104ms 1.4ms 4.4MB 1087ms 0ms dmd 2.101.0
go 1.go 1111ms 2.0ms 2.9MB 1100ms 0ms go 1.19.4
wasm 7.rs 1121ms 3.9ms 49.3MB 1123ms 17ms node 16.18.1
wasm 2.rs 1135ms 0.3ms 9.6MB 1123ms 0ms wasmtime 3.0.1
wasm 2.rs 1180ms 3.0ms 49.1MB 1193ms 10ms node 16.18.1
java 2-m.java 1239ms 6.4ms 90.0MB 2277ms 33ms graal/jvm 17.0.5
csharp 3.cs 1265ms 159ms 104.6MB 1820ms 37ms dotnet 7.0.100
dart 1.dart 1314ms 1.5ms 12.0MB 1300ms 0ms dart/exe 2.18.5
typescript 7.ts 1351ms 1.8ms 38.2MB 1340ms 0ms deno 1.28.3
haxe 1.hx 1353ms 4.7ms 2.8MB 1340ms 0ms haxe/hl/c 4.2.5
lua 1.lua 1451ms 0.7ms 2.4MB 1440ms 0ms luajit 2.1.0-beta3
ocaml 2.ml 1521ms 2.0ms 3.3MB 1510ms 0ms ocaml 4.14.0
crystal 1.cr 1562ms 0.8ms 4.1MB 1550ms 0ms crystal 1.6.2
java 2-m.java 1617ms 25ms 45.9MB 3067ms 10ms openjdk 19
rust 2.rs 1627ms 1.1ms 1.0MB 1617ms 0ms rustc 1.65.0
v 1.v 1665ms 0.1ms 2.7MB 1650ms 0ms v/clang+gc 0.3.2
v 1.v 1666ms 2.0ms 2.8MB 1650ms 0ms v/clang 0.3.2
java 2-m.java 1688ms 4.6ms 41.9MB 3097ms 67ms openjdk/zgc 19
java 2-m.java 1696ms 31ms 40.6MB 3223ms 7ms openjdk 20
haxe 1.hx 2168ms 2.1ms 6.6MB 2153ms 0ms haxe/cpp 4.2.5
csharp 3-m.cs 2662ms 126ms 27.7MB 5033ms 7ms mono 6.12.0
go 1.go timeout 0.0ms 0.0MB 0ms 0ms tinygo 0.25.0
haxe 1.hx timeout 0.0ms 0.0MB 0ms 0ms haxe/hl/jit 1.13.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.11.1
python 8.py timeout 0.0ms 0.0MB 0ms 0ms pypy 3.9.15
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.3
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.3
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.3.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 63ms 0.3ms 1.1MB 103ms 0ms rustc 1.65.0
rust 8-m.rs 63ms 0.6ms 1.0MB 103ms 0ms rustc 1.67.0-nightly
zig 2-m.zig 64ms 2.1ms 1.2MB 100ms 0ms zig 0.11.0-dev.632+d69e97ae1
cpp 8-m.cpp 64ms 0.5ms 3.4MB 103ms 0ms clang++ 14.0.0
cpp 7-m.cpp 64ms 0.8ms 3.4MB 110ms 0ms clang++ 14.0.0
cpp 8-m.cpp 65ms 0.7ms 1.3MB 110ms 0ms g++ 12.2.0
cpp 7-m.cpp 66ms 2.7ms 1.3MB 107ms 0ms g++ 12.2.0
c 4-m.c 89ms 1.1ms 1.3MB 160ms 0ms gcc 12.2.0
c 6-im.c 106ms 1.2ms 1.3MB 187ms 0ms gcc 12.2.0
c 6-im.c 107ms 0.3ms 3.2MB 190ms 0ms clang 14.0.0
c 4-m.c 110ms 1.3ms 3.5MB 197ms 0ms clang 14.0.0
c 5-im.c 111ms 0.7ms 1.3MB 200ms 0ms gcc 12.2.0
rust 8.rs 111ms 0.3ms 1.0MB 100ms 0ms rustc 1.67.0-nightly
zig 2.zig 111ms 1.0ms 1.1MB 100ms 0ms zig 0.11.0-dev.632+d69e97ae1
rust 7.rs 112ms 1.3ms 1.0MB 100ms 0ms rustc 1.65.0
rust 2-m.rs 122ms 0.6ms 1.1MB 220ms 0ms rustc 1.65.0
cpp 6-im.cpp 126ms 0.3ms 3.3MB 223ms 0ms clang++ 14.0.0
cpp 6-im.cpp 126ms 1.6ms 1.3MB 227ms 0ms g++ 12.2.0
c 3-m.c 129ms 1.9ms 1.3MB 237ms 0ms gcc 12.2.0
c 5-im.c 134ms 0.8ms 3.2MB 240ms 0ms clang 14.0.0
c 3-m.c 138ms 16ms 3.3MB 237ms 0ms clang 14.0.0
chapel 1-m.chpl 146ms 0.7ms 32.3MB 247ms 10ms chpl 1.28.0
go 4-m.go 149ms 2.5ms 2.9MB 260ms 0ms go 1.19.4
csharp 3-m.cs 155ms 1.6ms 10.1MB 273ms 3ms dotnet/aot 7.0.100
nim 1.nim 217ms 0.0ms 1.3MB 203ms 0ms nim 1.6.10
nim 1.nim 218ms 0.5ms 1.2MB 207ms 0ms nim/clang 1.6.10
wasm 2.rs 224ms 2.9ms 15.6MB 210ms 0ms wasmedgec 0.11.2
odin 1.odin 224ms 0.4ms 1.9MB 210ms 0ms odin 2022
d 1.d 231ms 1.6ms 2.9MB 217ms 0ms ldc2 1.30.0
wasm 7.rs 238ms 0.6ms 16.5MB 223ms 0ms wasmedgec 0.11.2
zig 1.zig 245ms 1.0ms 1.1MB 237ms 0ms zig 0.11.0-dev.632+d69e97ae1
chapel 1.chpl 256ms 1.2ms 32.3MB 240ms 7ms chpl 1.28.0
wasm 7.rs 261ms 1.4ms 9.5MB 250ms 0ms wasmtime 3.0.1
d 1.d 279ms 0.4ms 4.1MB 270ms 0ms dmd 2.101.0
go 1.go 280ms 0.2ms 2.9MB 270ms 0ms go 1.19.4
wasm 2.rs 291ms 0.7ms 10.9MB 277ms 0ms wasmtime 3.0.1
dart 1.dart 337ms 1.4ms 12.2MB 320ms 0ms dart/exe 2.18.5
haxe 1.hx 341ms 0.4ms 2.9MB 330ms 0ms haxe/hl/c 4.2.5
wasm 7.rs 358ms 2.3ms 49.1MB 370ms 10ms node 16.18.1
lua 1.lua 363ms 6.4ms 1.4MB 347ms 0ms luajit 2.1.0-beta3
csharp 3-m.cs 370ms 11ms 104.4MB 563ms 27ms dotnet 7.0.100
wasm 2.rs 372ms 0.6ms 48.8MB 383ms 7ms node 16.18.1
ocaml 2.ml 386ms 3.0ms 2.9MB 370ms 0ms ocaml 4.14.0
julia 2.jl 393ms 2.4ms 194.2MB 433ms 143ms julia 1.8.3
crystal 1.cr 395ms 0.4ms 3.6MB 383ms 0ms crystal 1.6.2
typescript 7.ts 409ms 74ms 39.8MB 353ms 10ms deno 1.28.3
rust 2.rs 409ms 0.5ms 1.0MB 400ms 0ms rustc 1.65.0
v 1.v 420ms 0.9ms 2.6MB 410ms 0ms v/clang+gc 0.3.2
v 1.v 420ms 0.6ms 2.5MB 410ms 0ms v/clang 0.3.2
java 2-m.java 439ms 25ms 87.5MB 717ms 27ms graal/jvm 17.0.5
javascript 6.js 461ms 4.6ms 75.7MB 603ms 40ms node 19.2.0
julia 3-m.jl 495ms 3.9ms 210.8MB 597ms 147ms julia 1.8.3
haxe 1.hx 548ms 1.3ms 5.3MB 537ms 0ms haxe/cpp 4.2.5
java 2-m.java 564ms 41ms 40.8MB 977ms 30ms openjdk 20
java 2-m.java 581ms 13ms 42.5MB 1020ms 10ms openjdk 19
java 2-m.java 632ms 43ms 44.0MB 1020ms 67ms openjdk/zgc 19
csharp 3-m.cs 672ms 0.4ms 29.5MB 1270ms 3ms mono 6.12.0
go 1.go 1639ms 2.2ms 0.0MB 1627ms 0ms tinygo 0.25.0
ruby 4.rb 2821ms 20ms 404.7MB 3360ms 157ms truffleruby 22.3.0
haxe 1.hx 2847ms 0.9ms 3.6MB 2830ms 0ms haxe/hl/jit 1.13.0
python 8-m.py 3747ms 75ms 103.8MB 6470ms 403ms pypy 3.9.15
perl 4-m.pl 4791ms 13ms 8.4MB 9343ms 3ms perl 5.36.0
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
python 8.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.11.1
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.3
ruby 4.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.3