All spectral-norm problem benchmarks

Current benchmark data was generated on Wed Mar 22 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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 1066ms 4.1ms 1.2MB 2053ms 0ms zig 0.11.0-dev.2227+f9b582950
cpp 7-m.cpp 1069ms 4.4ms 3.4MB 2087ms 0ms clang++ 14.0.0
cpp 8-m.cpp 1070ms 1.0ms 1.3MB 2093ms 0ms g++ 12.2.0
cpp 8-m.cpp 1072ms 14ms 3.3MB 2083ms 0ms clang++ 14.0.0
rust 8-m.rs 1073ms 2.8ms 2.5MB 2077ms 0ms rustc 1.70.0-nightly
rust 7-m.rs 1079ms 9.3ms 2.3MB 2080ms 0ms rustc 1.68.0
cpp 7-m.cpp 1079ms 17ms 1.3MB 2100ms 0ms g++ 12.2.0
julia 2-m.jl 1382ms 2.8ms 194.0MB 2427ms 113ms julia 1.8.5
c 4-m.c 1404ms 3.0ms 1.3MB 2747ms 0ms gcc 12.2.0
c 6-im.c 1622ms 5.6ms 1.3MB 3177ms 3ms gcc 12.2.0
c 6-im.c 1684ms 3.0ms 3.3MB 3303ms 0ms clang 14.0.0
c 4-m.c 1727ms 17ms 3.3MB 3377ms 3ms clang 14.0.0
c 5-im.c 1869ms 15ms 1.3MB 3657ms 0ms gcc 12.2.0
rust 8.rs 2063ms 1.4ms 2.4MB 2050ms 0ms rustc 1.70.0-nightly
zig 2.zig 2063ms 1.4ms 1.0MB 2050ms 0ms zig 0.11.0-dev.2227+f9b582950
rust 7.rs 2063ms 1.5ms 2.2MB 2050ms 0ms rustc 1.68.0
julia 3-m.jl 2140ms 3.3ms 212.6MB 3827ms 133ms julia 1.8.5
rust 2-m.rs 2166ms 8.8ms 2.2MB 4210ms 0ms rustc 1.68.0
c 5-im.c 2176ms 1.8ms 3.3MB 4277ms 0ms clang 14.0.0
c 3-m.c 2227ms 15ms 3.7MB 4373ms 0ms clang 14.0.0
c 3-m.c 2227ms 15ms 1.3MB 4377ms 0ms gcc 12.2.0
cpp 6-im.cpp 2228ms 12ms 3.3MB 4367ms 3ms clang++ 14.0.0
cpp 6-im.cpp 2236ms 6.4ms 1.3MB 4400ms 0ms g++ 12.2.0
chapel 1-m.chpl 2318ms 99ms 32.3MB 4477ms 3ms chpl 1.29.0
go 4-m.go 2507ms 25ms 5.4MB 4857ms 3ms go 1.20.2
csharp 3-m.cs 2587ms 55ms 13.7MB 4970ms 3ms dotnet/aot 7.0.202
javascript 6-m.js 2796ms 12ms 69.1MB 5240ms 30ms node 19.8.1
nim 1.nim 4121ms 0.6ms 1.3MB 4110ms 0ms nim/clang 1.6.12
nim 1.nim 4122ms 0.6ms 1.3MB 4110ms 0ms nim 1.6.12
wasm 2.rs 4130ms 2.5ms 15.9MB 4113ms 0ms wasmedgec 0.11.2
wasm 7.rs 4246ms 1.0ms 16.6MB 4230ms 0ms wasmedgec 0.11.2
java 2-m.java 4254ms 123ms 89.4MB 8177ms 63ms graal/jvm 17.0.6
d 1.d 4290ms 0.2ms 3.8MB 4277ms 0ms ldc2 1.31.0
odin 1.odin 4291ms 2.9ms 2.8MB 4280ms 0ms odin 2023
wasm 2.rs 4336ms 3.4ms 49.3MB 4313ms 7ms node 18.15.0
chapel 1.chpl 4382ms 4.0ms 32.3MB 4370ms 0ms chpl 1.29.0
wasm 2.rs 4386ms 9.3ms 12.4MB 4370ms 0ms wasmtime 7.0.0
go 1.go 4550ms 110ms 5.4MB 4530ms 7ms go 1.20.2
wasm 7.rs 4558ms 1.7ms 49.2MB 4537ms 10ms node 18.15.0
zig 1.zig 4580ms 2.1ms 1.0MB 4570ms 0ms zig 0.11.0-dev.2227+f9b582950
csharp 3-m.cs 4771ms 272ms 32.6MB 8337ms 20ms dotnet 7.0.202
d 1.d 4783ms 1.1ms 6.0MB 4770ms 0ms dmd 2.102.2
typescript 7.ts 4851ms 1.0ms 46.6MB 4840ms 7ms deno 1.31.3
csharp 3.cs timeout 0.0ms 26.6MB 9770ms 10ms mono 6.12.0
crystal 1.cr timeout 0.0ms 4.1MB 4983ms 0ms crystal 1.7.3
dart 1.dart timeout 0.0ms 13.5MB 4987ms 0ms dart/exe 3.0.0-339.0.dev
dart 1.dart timeout 0.0ms 12.0MB 4983ms 0ms dart/exe 2.19.5
go 1.go timeout 0.0ms 0.4MB 4987ms 0ms tinygo 0.27.0
haxe 1.hx timeout 0.0ms 6.9MB 4980ms 0ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.0MB 4983ms 0ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 3.7MB 4987ms 0ms haxe/hl/jit 1.13.0
java 2.java timeout 0.0ms 44.0MB 9683ms 17ms openjdk 19
java 2.java timeout 0.0ms 42.0MB 9717ms 20ms openjdk 21
java 2.java timeout 0.0ms 42.1MB 9630ms 57ms openjdk/zgc 19
lua 1.lua timeout 0.0ms 2.2MB 4987ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 2.6MB 4987ms 0ms luajit 2.1.0-beta3
ocaml 2.ml timeout 0.0ms 4.0MB 4983ms 0ms ocaml 5.0.0
perl 4.pl timeout 0.0ms 10.3MB 9853ms 3ms perl 5.36.0
python 8.py timeout 0.0ms 16.3MB 50ms 7ms cpython 3.11.2
python 8.py timeout 0.0ms 104.6MB 687ms 87ms pypy 3.9.16
python 8.py timeout 0.0ms 16.3MB 73ms 13ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 32.3MB 4970ms 10ms ruby 3.2.1
ruby 4.rb timeout 0.0ms 32.6MB 4970ms 13ms ruby/yjit 3.2.1
ruby 4.rb timeout 0.0ms 551.6MB 5220ms 233ms truffleruby 22.3.1
rust 2.rs timeout 0.0ms 2.1MB 4987ms 0ms rustc 1.68.0
v 1.v timeout 0.0ms 3.0MB 4990ms 0ms v/clang+gc 0.3.3
v 1.v timeout 0.0ms 3.1MB 4987ms 0ms v/clang 0.3.3
wasm 7.rs timeout 0.0ms 12.3MB 4983ms 0ms wasmtime 7.0.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 274ms 0.9ms 1.1MB 507ms 0ms rustc 1.68.0
zig 2-m.zig 277ms 1.5ms 1.2MB 507ms 0ms zig 0.11.0-dev.2227+f9b582950
cpp 8-m.cpp 277ms 1.4ms 3.4MB 517ms 0ms clang++ 14.0.0
rust 8-m.rs 277ms 3.1ms 2.2MB 510ms 0ms rustc 1.70.0-nightly
cpp 7-m.cpp 277ms 2.8ms 1.3MB 523ms 0ms g++ 12.2.0
cpp 7-m.cpp 278ms 1.1ms 3.4MB 520ms 0ms clang++ 14.0.0
cpp 8-m.cpp 279ms 2.3ms 1.3MB 527ms 0ms g++ 12.2.0
c 4-m.c 369ms 16ms 1.3MB 690ms 0ms gcc 12.2.0
c 6-im.c 416ms 2.7ms 1.3MB 800ms 0ms gcc 12.2.0
c 6-im.c 431ms 1.5ms 3.2MB 827ms 0ms clang 14.0.0
c 4-m.c 439ms 5.7ms 3.1MB 830ms 3ms clang 14.0.0
c 5-im.c 473ms 0.9ms 1.3MB 910ms 0ms gcc 12.2.0
zig 2.zig 517ms 0.4ms 1.0MB 507ms 0ms zig 0.11.0-dev.2227+f9b582950
rust 7.rs 518ms 0.8ms 1.0MB 510ms 0ms rustc 1.68.0
rust 8.rs 518ms 1.9ms 2.2MB 510ms 0ms rustc 1.70.0-nightly
rust 2-m.rs 557ms 3.4ms 2.1MB 1060ms 0ms rustc 1.68.0
c 5-im.c 562ms 12ms 3.2MB 1077ms 0ms clang 14.0.0
c 3-m.c 564ms 1.6ms 3.3MB 1090ms 0ms clang 14.0.0
c 3-m.c 565ms 1.5ms 1.3MB 1093ms 0ms gcc 12.2.0
cpp 6-im.cpp 567ms 0.6ms 3.3MB 1090ms 0ms clang++ 14.0.0
cpp 6-im.cpp 573ms 9.8ms 1.3MB 1103ms 0ms g++ 12.2.0
chapel 1-m.chpl 588ms 4.1ms 32.3MB 1127ms 3ms chpl 1.29.0
julia 2-m.jl 591ms 1.9ms 194.2MB 863ms 120ms julia 1.8.5
go 4-m.go 638ms 5.9ms 2.9MB 1203ms 0ms go 1.20.2
csharp 3-m.cs 654ms 2.2ms 8.3MB 1247ms 3ms dotnet/aot 7.0.202
julia 3-m.jl 821ms 3.0ms 210.9MB 1257ms 117ms julia 1.8.5
javascript 6-m.js 866ms 26ms 69.8MB 1493ms 27ms node 19.8.1
nim 1.nim 1032ms 0.1ms 1.3MB 1020ms 0ms nim/clang 1.6.12
nim 1.nim 1032ms 0.1ms 1.4MB 1020ms 0ms nim 1.6.12
wasm 2.rs 1038ms 0.7ms 15.8MB 1023ms 0ms wasmedgec 0.11.2
wasm 7.rs 1069ms 1.1ms 15.6MB 1053ms 0ms wasmedgec 0.11.2
odin 1.odin 1076ms 0.6ms 2.1MB 1067ms 0ms odin 2023
d 1.d 1076ms 0.9ms 3.6MB 1063ms 0ms ldc2 1.31.0
chapel 1.chpl 1115ms 3.5ms 32.3MB 1107ms 0ms chpl 1.29.0
wasm 2.rs 1125ms 4.3ms 48.5MB 1110ms 3ms node 18.15.0
wasm 2.rs 1137ms 1.3ms 12.3MB 1123ms 0ms wasmtime 7.0.0
zig 1.zig 1148ms 0.2ms 1.0MB 1140ms 0ms zig 0.11.0-dev.2227+f9b582950
wasm 7.rs 1179ms 2.6ms 49.2MB 1160ms 7ms node 18.15.0
go 1.go 1199ms 2.7ms 2.9MB 1187ms 0ms go 1.20.2
d 1.d 1199ms 0.6ms 5.0MB 1187ms 0ms dmd 2.102.2
csharp 3-m.cs 1214ms 12ms 32.0MB 2263ms 13ms dotnet 7.0.202
typescript 7.ts 1247ms 0.8ms 46.4MB 1237ms 0ms deno 1.31.3
java 2-m.java 1250ms 1.1ms 91.6MB 2287ms 40ms graal/jvm 17.0.6
dart 1.dart 1297ms 9.5ms 13.8MB 1280ms 0ms dart/exe 2.19.5
dart 1.dart 1298ms 2.7ms 13.8MB 1283ms 0ms dart/exe 3.0.0-339.0.dev
haxe 1.hx 1307ms 1.2ms 2.9MB 1283ms 3ms haxe/hl/c 4.2.5
java 2-m.java 1443ms 74ms 42.3MB 2720ms 10ms openjdk 21
v 1.v 1550ms 0.6ms 2.8MB 1540ms 0ms v/clang 0.3.3
v 1.v 1551ms 0.2ms 2.9MB 1540ms 0ms v/clang+gc 0.3.3
lua 1.lua 1551ms 2.5ms 2.4MB 1540ms 0ms luajit 2.1.0-beta3
crystal 1.cr 1561ms 4.5ms 3.8MB 1550ms 0ms crystal 1.7.3
ocaml 2.ml 1636ms 1.0ms 3.6MB 1627ms 0ms ocaml 5.0.0
rust 2.rs 1729ms 1.3ms 1.1MB 1720ms 0ms rustc 1.68.0
java 2-m.java 1745ms 194ms 44.5MB 3297ms 17ms openjdk 19
java 2-m.java 1892ms 165ms 43.8MB 3507ms 60ms openjdk/zgc 19
haxe 1.hx 2344ms 1.2ms 6.6MB 2330ms 0ms haxe/cpp 4.2.5
go 1.go 2578ms 1.6ms 2.0MB 2563ms 0ms tinygo 0.27.0
csharp 3-m.cs 3194ms 149ms 27.6MB 6043ms 7ms mono 6.12.0
wasm 7.rs 3283ms 1.0ms 12.5MB 3267ms 0ms wasmtime 7.0.0
haxe 1.hx timeout 0.0ms 3.6MB 4987ms 0ms haxe/hl/jit 1.13.0
lua 1.lua timeout 0.0ms 2.2MB 4990ms 0ms lua 5.4.4
perl 4.pl timeout 0.0ms 8.6MB 9760ms 7ms perl 5.36.0
python 8.py timeout 0.0ms 16.1MB 93ms 27ms cpython 3.11.2
python 8.py timeout 0.0ms 111.5MB 1170ms 180ms pypy 3.9.16
python 8.py timeout 0.0ms 17.6MB 157ms 20ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 32.3MB 4973ms 7ms ruby 3.2.1
ruby 4.rb timeout 0.0ms 32.7MB 4970ms 7ms ruby/yjit 3.2.1
ruby 4.rb timeout 0.0ms 589.4MB 5457ms 193ms truffleruby 22.3.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 75ms 1.9ms 1.1MB 127ms 0ms rustc 1.68.0
cpp 8-m.cpp 76ms 1.5ms 3.3MB 130ms 0ms clang++ 14.0.0
cpp 7-m.cpp 76ms 0.2ms 3.4MB 130ms 0ms clang++ 14.0.0
cpp 8-m.cpp 76ms 0.8ms 1.3MB 130ms 0ms g++ 12.2.0
cpp 7-m.cpp 77ms 1.4ms 1.3MB 130ms 0ms g++ 12.2.0
rust 8-m.rs 77ms 2.2ms 1.0MB 127ms 0ms rustc 1.70.0-nightly
zig 2-m.zig 78ms 4.1ms 1.2MB 120ms 0ms zig 0.11.0-dev.2227+f9b582950
c 4-m.c 97ms 0.5ms 1.3MB 173ms 0ms gcc 12.2.0
c 6-im.c 113ms 1.0ms 1.3MB 200ms 0ms gcc 12.2.0
c 6-im.c 117ms 1.7ms 3.2MB 207ms 0ms clang 14.0.0
c 4-m.c 117ms 0.9ms 3.1MB 210ms 0ms clang 14.0.0
c 5-im.c 128ms 2.0ms 1.3MB 227ms 0ms gcc 12.2.0
rust 8.rs 131ms 0.1ms 1.0MB 120ms 0ms rustc 1.70.0-nightly
rust 7.rs 131ms 0.1ms 1.0MB 120ms 0ms rustc 1.68.0
zig 2.zig 132ms 0.5ms 1.0MB 120ms 0ms zig 0.11.0-dev.2227+f9b582950
rust 2-m.rs 144ms 1.4ms 1.0MB 257ms 0ms rustc 1.68.0
c 5-im.c 147ms 0.8ms 3.3MB 270ms 0ms clang 14.0.0
c 3-m.c 150ms 1.7ms 1.3MB 277ms 0ms gcc 12.2.0
cpp 6-im.cpp 151ms 0.8ms 1.3MB 280ms 0ms g++ 12.2.0
cpp 6-im.cpp 152ms 2.9ms 3.3MB 273ms 0ms clang++ 14.0.0
c 3-m.c 161ms 16ms 3.2MB 290ms 0ms clang 14.0.0
chapel 1-m.chpl 167ms 1.0ms 32.3MB 290ms 3ms chpl 1.29.0
go 4-m.go 167ms 0.2ms 2.9MB 300ms 0ms go 1.20.2
csharp 3-m.cs 179ms 0.9ms 12.3MB 320ms 3ms dotnet/aot 7.0.202
nim 1.nim 261ms 0.5ms 1.3MB 250ms 0ms nim/clang 1.6.12
nim 1.nim 261ms 1.0ms 1.3MB 250ms 0ms nim 1.6.12
wasm 2.rs 266ms 0.3ms 16.3MB 253ms 0ms wasmedgec 0.11.2
odin 1.odin 271ms 0.1ms 1.8MB 260ms 0ms odin 2023
d 1.d 273ms 0.3ms 3.1MB 260ms 0ms ldc2 1.31.0
wasm 7.rs 274ms 0.4ms 16.4MB 260ms 0ms wasmedgec 0.11.2
go 1.go 290ms 10ms 2.9MB 277ms 0ms go 1.20.2
zig 1.zig 291ms 0.6ms 1.1MB 280ms 0ms zig 0.11.0-dev.2227+f9b582950
wasm 2.rs 293ms 1.1ms 12.3MB 280ms 0ms wasmtime 7.0.0
chapel 1.chpl 296ms 1.1ms 32.3MB 283ms 0ms chpl 1.29.0
d 1.d 304ms 2.4ms 4.5MB 290ms 0ms dmd 2.102.2
wasm 2.rs 319ms 2.0ms 48.8MB 303ms 7ms node 18.15.0
haxe 1.hx 331ms 0.1ms 2.8MB 317ms 0ms haxe/hl/c 4.2.5
dart 1.dart 331ms 2.3ms 13.8MB 317ms 0ms dart/exe 2.19.5
wasm 7.rs 331ms 0.8ms 48.9MB 320ms 3ms node 18.15.0
dart 1.dart 333ms 0.5ms 11.4MB 317ms 0ms dart/exe 3.0.0-339.0.dev
csharp 3-m.cs 381ms 4.9ms 33.5MB 637ms 7ms dotnet 7.0.202
typescript 7.ts 386ms 58ms 46.1MB 323ms 13ms deno 1.31.3
lua 1.lua 392ms 0.8ms 1.4MB 380ms 0ms luajit 2.1.0-beta3
v 1.v 392ms 1.0ms 2.5MB 380ms 0ms v/clang+gc 0.3.3
v 1.v 392ms 0.5ms 2.5MB 380ms 0ms v/clang 0.3.3
julia 2-m.jl 396ms 1.5ms 192.1MB 490ms 117ms julia 1.8.5
crystal 1.cr 397ms 1.4ms 3.7MB 380ms 0ms crystal 1.7.3
ocaml 2.ml 412ms 0.3ms 3.4MB 400ms 0ms ocaml 5.0.0
javascript 6.js 421ms 14ms 66.9MB 537ms 30ms node 19.8.1
rust 2.rs 436ms 0.4ms 1.1MB 423ms 0ms rustc 1.68.0
java 2-m.java 461ms 8.6ms 92.3MB 757ms 33ms graal/jvm 17.0.6
julia 3.jl 498ms 5.4ms 209.3MB 607ms 130ms julia 1.8.5
java 2-m.java 533ms 34ms 42.5MB 913ms 27ms openjdk 21
haxe 1.hx 593ms 1.8ms 5.4MB 577ms 0ms haxe/cpp 4.2.5
java 2-m.java 606ms 38ms 43.3MB 987ms 53ms openjdk/zgc 19
java 2-m.java 615ms 12ms 44.5MB 1080ms 20ms openjdk 19
go 1.go 647ms 0.8ms 2.0MB 637ms 0ms tinygo 0.27.0
csharp 3-m.cs 807ms 4.1ms 27.6MB 1530ms 3ms mono 6.12.0
wasm 7.rs 828ms 2.4ms 12.4MB 813ms 0ms wasmtime 7.0.0
ruby 4.rb 2499ms 6.6ms 470.4MB 2993ms 157ms truffleruby 22.3.1
python 8-m.py 3211ms 20ms 105.8MB 5503ms 343ms pypy 3.9.16
haxe 1.hx 3428ms 0.2ms 3.6MB 3413ms 0ms haxe/hl/jit 1.13.0
lua 1.lua timeout 0.0ms 1.5MB 4990ms 0ms lua 5.4.4
perl 4.pl timeout 0.0ms 8.3MB 9720ms 10ms perl 5.36.0
python 8.py timeout 0.0ms 14.2MB 263ms 23ms cpython 3.11.2
python 8.py timeout 0.0ms 17.3MB 317ms 57ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 32.3MB 4967ms 10ms ruby 3.2.1
ruby 4.rb timeout 0.0ms 33.0MB 4963ms 17ms ruby/yjit 3.2.1