All spectral-norm problem benchmarks

Current benchmark data was generated on Thu Jul 13 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
rust 8-m.rs 1057ms 1.6ms 2.5MB 2053ms 0ms rustc 1.73.0-nightly
cpp 8-m.cpp 1057ms 1.1ms 3.3MB 2077ms 0ms clang++ 14.0.0
zig 2-m.zig 1059ms 1.7ms 1.3MB 2053ms 0ms zig 0.11.0-dev.3978+711b4e93e
cpp 7-m.cpp 1059ms 0.7ms 2.3MB 2077ms 0ms g++ 11.3.0
cpp 7-m.cpp 1061ms 1.7ms 3.3MB 2070ms 0ms clang++ 14.0.0
cpp 8-m.cpp 1063ms 2.1ms 2.2MB 2080ms 0ms g++ 11.3.0
c 4-m.c 1388ms 5.9ms 1.3MB 2723ms 0ms gcc 13.1.0
rust 7-m.rs 1469ms 5.7ms 2.2MB 2853ms 0ms rustc 1.70.0
c 6-im.c 1655ms 1.8ms 1.2MB 3250ms 0ms gcc 13.1.0
c 6-im.c 1681ms 1.9ms 5.2MB 3297ms 0ms clang 14.0.0
c 4-m.c 1696ms 0.6ms 3.3MB 3330ms 0ms clang 14.0.0
c 5-im.c 1852ms 16ms 1.3MB 3630ms 0ms gcc 13.1.0
rust 8.rs 2060ms 0.8ms 2.4MB 2047ms 0ms rustc 1.73.0-nightly
zig 2.zig 2061ms 1.0ms 1.0MB 2047ms 0ms zig 0.11.0-dev.3978+711b4e93e
c 5-im.c 2158ms 12ms 3.2MB 4240ms 0ms clang 14.0.0
c 3-m.c 2211ms 13ms 3.2MB 4343ms 0ms clang 14.0.0
c 3-m.c 2214ms 25ms 1.3MB 4343ms 0ms gcc 13.1.0
cpp 6-im.cpp 2221ms 26ms 3.3MB 4363ms 0ms clang++ 14.0.0
chapel 1-m.chpl 2241ms 4.7ms 32.2MB 4403ms 3ms chpl 1.31.0
cpp 6-im.cpp 2251ms 15ms 2.2MB 4413ms 0ms g++ 11.3.0
go 4-m.go 2512ms 26ms 5.5MB 4843ms 0ms go 1.20.6
csharp 3-m.cs 2524ms 7.5ms 13.7MB 4930ms 0ms dotnet/aot 7.0.306
javascript 6-m.js 2651ms 11ms 66.6MB 5087ms 50ms node 20.4.0
rust 2-m.rs 2810ms 17ms 2.3MB 5467ms 10ms rustc 1.70.0
rust 7.rs 2956ms 3.2ms 1.0MB 2947ms 0ms rustc 1.70.0
nim 1.nim 4117ms 0.5ms 1.2MB 4103ms 0ms nim/clang 1.6.14
nim 1.nim 4119ms 0.2ms 1.3MB 4110ms 0ms nim 1.6.14
wasm 2.rs 4128ms 1.6ms 32.1MB 4110ms 0ms wasmedgec 0.13.1
java 2-m.java 4198ms 143ms 90.9MB 8130ms 17ms graal/jvm 17.0.7
wasm 7.rs 4247ms 3.7ms 27.6MB 4233ms 0ms wasmedgec 0.13.1
d 1.d 4286ms 2.3ms 3.8MB 4270ms 0ms ldc2 1.32.2
wasm 2.rs 4317ms 4.1ms 49.0MB 4300ms 0ms node 18.16.1
chapel 1.chpl 4378ms 1.3ms 32.3MB 4367ms 3ms chpl 1.31.0
java 2-m.java 4416ms 29ms 45.5MB 8555ms 15ms openjdk 22
wasm 2.rs 4425ms 1.5ms 16.3MB 4413ms 0ms wasmtime 10.0.1
csharp 3-m.cs 4435ms 37ms 34.9MB 8597ms 10ms dotnet 7.0.306
zig 1.zig 4479ms 3.5ms 1.0MB 4460ms 0ms zig 0.11.0-dev.3978+711b4e93e
odin 1.odin 4493ms 2.9ms 2.8MB 4480ms 0ms odin 2023
wasm 7.rs 4554ms 1.2ms 49.4MB 4540ms 7ms node 18.16.1
d 1.d 4780ms 4.8ms 5.3MB 4770ms 0ms dmd 2.104.1
go 1.go 4902ms 6.8ms 5.5MB 4893ms 0ms go 1.20.6
csharp 3.cs timeout 0.0ms 26.5MB 9777ms 7ms mono 6.12.0
crystal 1.cr timeout 0.0ms 4.4MB 4983ms 0ms crystal 1.9.0
dart 1.dart timeout 0.0ms 13.8MB 4977ms 0ms dart/exe 3.0.6
go 1.go timeout 0.0ms 2.0MB 4990ms 0ms tinygo 0.28.1
haxe 1.hx timeout 0.0ms 6.9MB 4990ms 0ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.1MB 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 40.2MB 9730ms 13ms openjdk 20
java 2.java timeout 0.0ms 42.4MB 9590ms 40ms openjdk/zgc 20
lua 1.lua timeout 0.0ms 2.2MB 4990ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 2.5MB 4990ms 0ms luajit 2.1.0-beta3
ocaml 2.ml timeout 0.0ms 4.1MB 4987ms 0ms ocaml 5.0.0
perl 4.pl timeout 0.0ms 8.5MB 9860ms 7ms perl 5.38.0
python 8.py timeout 0.0ms 16.6MB 53ms 10ms cpython 3.11.4
python 8.py timeout 0.0ms 106.2MB 663ms 87ms pypy 3.10.12
python 8.py timeout 0.0ms 18.0MB 80ms 13ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 32.1MB 4973ms 7ms ruby 3.2.2
ruby 4.rb timeout 0.0ms 32.7MB 4973ms 10ms ruby/yjit 3.2.2
ruby 4.rb timeout 0.0ms 533.5MB 5240ms 213ms truffleruby 22.3.1
rust 2.rs timeout 0.0ms 2.2MB 4990ms 0ms rustc 1.70.0
typescript 7.ts timeout 0.0ms 46.8MB 4957ms 10ms deno 1.35.1
v 1.v timeout 0.0ms 3.0MB 4990ms 0ms v/clang+gc 0.4.0
v 1.v timeout 0.0ms 3.1MB 4990ms 0ms v/clang 0.4.0
wasm 7.rs timeout 0.0ms 16.0MB 4987ms 0ms wasmtime 10.0.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 273ms 0.5ms 1.3MB 520ms 0ms g++ 11.3.0
cpp 8-m.cpp 274ms 0.5ms 3.3MB 520ms 0ms clang++ 14.0.0
cpp 7-m.cpp 274ms 2.3ms 1.3MB 523ms 0ms g++ 11.3.0
zig 2-m.zig 275ms 0.5ms 1.3MB 510ms 0ms zig 0.11.0-dev.3978+711b4e93e
cpp 7-m.cpp 275ms 1.9ms 3.4MB 517ms 0ms clang++ 14.0.0
rust 8-m.rs 276ms 3.1ms 2.1MB 503ms 3ms rustc 1.73.0-nightly
c 4-m.c 358ms 1.2ms 1.3MB 680ms 0ms gcc 13.1.0
rust 7-m.rs 376ms 1.4ms 1.0MB 710ms 0ms rustc 1.70.0
c 6-im.c 425ms 3.0ms 1.3MB 813ms 0ms gcc 13.1.0
c 6-im.c 431ms 1.8ms 3.3MB 823ms 0ms clang 14.0.0
c 4-m.c 433ms 0.8ms 3.2MB 830ms 3ms clang 14.0.0
c 5-im.c 472ms 1.8ms 1.3MB 907ms 0ms gcc 13.1.0
zig 2.zig 517ms 1.3ms 1.1MB 510ms 0ms zig 0.11.0-dev.3978+711b4e93e
rust 8.rs 518ms 0.5ms 2.2MB 507ms 0ms rustc 1.73.0-nightly
c 5-im.c 558ms 12ms 3.2MB 1067ms 0ms clang 14.0.0
c 3-m.c 559ms 2.5ms 1.2MB 1083ms 0ms gcc 13.1.0
c 3-m.c 563ms 4.0ms 3.2MB 1087ms 0ms clang 14.0.0
cpp 6-im.cpp 564ms 3.8ms 3.4MB 1087ms 0ms clang++ 14.0.0
cpp 6-im.cpp 572ms 1.4ms 1.3MB 1107ms 0ms g++ 11.3.0
chapel 1-m.chpl 592ms 12ms 32.2MB 1117ms 0ms chpl 1.31.0
go 4-m.go 631ms 3.4ms 3.4MB 1200ms 0ms go 1.20.6
csharp 3-m.cs 651ms 2.8ms 8.3MB 1233ms 10ms dotnet/aot 7.0.306
rust 2-m.rs 717ms 3.1ms 2.1MB 1367ms 3ms rustc 1.70.0
rust 7.rs 742ms 1.2ms 1.0MB 730ms 0ms rustc 1.70.0
javascript 6-m.js 768ms 3.5ms 64.1MB 1393ms 47ms node 20.4.0
nim 1.nim 1031ms 0.5ms 1.3MB 1020ms 0ms nim/clang 1.6.14
nim 1.nim 1034ms 3.4ms 1.3MB 1020ms 0ms nim 1.6.14
wasm 2.rs 1042ms 2.4ms 28.8MB 1023ms 0ms wasmedgec 0.13.1
wasm 7.rs 1072ms 1.6ms 29.5MB 1060ms 0ms wasmedgec 0.13.1
d 1.d 1074ms 0.2ms 3.6MB 1063ms 0ms ldc2 1.32.2
chapel 1.chpl 1114ms 1.0ms 32.3MB 1100ms 0ms chpl 1.31.0
wasm 2.rs 1116ms 0.6ms 16.1MB 1103ms 0ms wasmtime 10.0.1
wasm 2.rs 1117ms 3.3ms 48.3MB 1097ms 7ms node 18.16.1
zig 1.zig 1122ms 0.3ms 1.1MB 1110ms 0ms zig 0.11.0-dev.3978+711b4e93e
odin 1.odin 1126ms 0.3ms 2.1MB 1110ms 0ms odin 2023
wasm 7.rs 1177ms 0.5ms 48.4MB 1160ms 3ms node 18.16.1
java 2-m.java 1192ms 17ms 43.5MB 2213ms 13ms openjdk 22
d 1.d 1199ms 0.9ms 5.1MB 1183ms 0ms dmd 2.104.1
java 2-m.java 1208ms 38ms 91.5MB 2243ms 20ms graal/jvm 17.0.7
go 1.go 1228ms 11ms 2.9MB 1213ms 0ms go 1.20.6
csharp 3-m.cs 1230ms 6.9ms 31.6MB 2307ms 3ms dotnet 7.0.306
dart 1.dart 1298ms 1.7ms 13.9MB 1280ms 0ms dart/exe 3.0.6
haxe 1.hx 1304ms 0.9ms 2.9MB 1290ms 0ms haxe/hl/c 4.2.5
rust 2.rs 1423ms 0.6ms 1.1MB 1410ms 0ms rustc 1.70.0
crystal 1.cr 1433ms 0.2ms 3.9MB 1423ms 0ms crystal 1.9.0
v 1.v 1550ms 0.3ms 2.8MB 1537ms 0ms v/clang 0.4.0
v 1.v 1550ms 0.7ms 2.8MB 1540ms 0ms v/clang+gc 0.4.0
lua 1.lua 1559ms 1.5ms 2.5MB 1547ms 0ms luajit 2.1.0-beta3
ocaml 2.ml 1639ms 5.6ms 3.7MB 1623ms 0ms ocaml 5.0.0
typescript 7.ts 1682ms 42ms 46.2MB 1667ms 3ms deno 1.35.1
java 2-m.java 1701ms 17ms 40.6MB 3223ms 3ms openjdk 20
java 2-m.java 1845ms 184ms 40.3MB 3417ms 60ms openjdk/zgc 20
haxe 1.hx 2337ms 0.8ms 6.7MB 2327ms 0ms haxe/cpp 4.2.5
go 1.go 2577ms 1.8ms 0.0MB 2560ms 0ms tinygo 0.28.1
csharp 3-m.cs 3185ms 152ms 27.8MB 6040ms 0ms mono 6.12.0
wasm 7.rs 3261ms 2.9ms 16.3MB 3243ms 0ms wasmtime 10.0.1
haxe 1.hx timeout 0.0ms 3.6MB 4983ms 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 10.1MB 9760ms 3ms perl 5.38.0
python 8.py timeout 0.0ms 14.4MB 127ms 13ms cpython 3.11.4
python 8.py timeout 0.0ms 111.5MB 1110ms 217ms pypy 3.10.12
python 8.py timeout 0.0ms 15.6MB 140ms 30ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 32.2MB 4977ms 3ms ruby 3.2.2
ruby 4.rb timeout 0.0ms 32.7MB 4973ms 7ms ruby/yjit 3.2.2
ruby 4.rb timeout 0.0ms 591.7MB 5390ms 237ms truffleruby 22.3.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 74ms 1.1ms 1.0MB 127ms 0ms rustc 1.73.0-nightly
zig 2-m.zig 75ms 1.3ms 1.2MB 127ms 0ms zig 0.11.0-dev.3978+711b4e93e
cpp 8-m.cpp 75ms 0.5ms 3.3MB 127ms 0ms clang++ 14.0.0
cpp 7-m.cpp 75ms 0.8ms 3.5MB 127ms 0ms clang++ 14.0.0
cpp 8-m.cpp 75ms 0.6ms 1.3MB 127ms 0ms g++ 11.3.0
cpp 7-m.cpp 76ms 0.9ms 1.3MB 130ms 0ms g++ 11.3.0
c 4-m.c 99ms 1.6ms 1.3MB 170ms 0ms gcc 13.1.0
rust 7-m.rs 102ms 1.8ms 1.0MB 170ms 0ms rustc 1.70.0
c 6-im.c 114ms 1.0ms 3.2MB 207ms 0ms gcc 13.1.0
c 6-im.c 116ms 1.1ms 3.2MB 200ms 0ms clang 14.0.0
c 4-m.c 116ms 0.5ms 3.2MB 203ms 0ms clang 14.0.0
c 5-im.c 129ms 2.7ms 1.3MB 230ms 0ms gcc 13.1.0
rust 8.rs 131ms 0.1ms 1.1MB 120ms 0ms rustc 1.73.0-nightly
zig 2.zig 132ms 0.9ms 1.1MB 120ms 0ms zig 0.11.0-dev.3978+711b4e93e
c 5-im.c 148ms 2.0ms 3.1MB 267ms 0ms clang 14.0.0
c 3-m.c 150ms 3.9ms 1.3MB 273ms 0ms gcc 13.1.0
cpp 6-im.cpp 150ms 0.9ms 5.2MB 270ms 0ms clang++ 14.0.0
cpp 6-im.cpp 152ms 2.2ms 1.3MB 280ms 0ms g++ 11.3.0
c 3-m.c 159ms 15ms 3.5MB 287ms 0ms clang 14.0.0
chapel 1-m.chpl 165ms 1.0ms 32.2MB 287ms 3ms chpl 1.31.0
go 4-m.go 167ms 1.5ms 3.4MB 297ms 0ms go 1.20.6
csharp 3-m.cs 179ms 2.9ms 12.2MB 310ms 7ms dotnet/aot 7.0.306
rust 2-m.rs 184ms 0.6ms 1.1MB 333ms 0ms rustc 1.70.0
rust 7.rs 188ms 1.0ms 1.1MB 177ms 0ms rustc 1.70.0
nim 1.nim 261ms 0.8ms 1.3MB 250ms 0ms nim/clang 1.6.14
nim 1.nim 261ms 1.1ms 1.3MB 250ms 0ms nim 1.6.14
wasm 2.rs 271ms 0.6ms 28.7MB 250ms 0ms wasmedgec 0.13.1
d 1.d 272ms 0.5ms 3.0MB 260ms 0ms ldc2 1.32.2
wasm 7.rs 278ms 0.4ms 27.8MB 260ms 0ms wasmedgec 0.13.1
odin 1.odin 284ms 0.1ms 1.9MB 270ms 0ms odin 2023
zig 1.zig 285ms 1.6ms 1.0MB 270ms 0ms zig 0.11.0-dev.3978+711b4e93e
wasm 2.rs 289ms 5.6ms 16.0MB 270ms 0ms wasmtime 10.0.1
chapel 1.chpl 298ms 4.4ms 32.3MB 290ms 0ms chpl 1.31.0
javascript 6-m.js 303ms 6.8ms 68.3MB 477ms 33ms node 20.4.0
d 1.d 304ms 0.4ms 5.0MB 290ms 0ms dmd 2.104.1
go 1.go 312ms 3.2ms 2.9MB 300ms 0ms go 1.20.6
wasm 2.rs 317ms 1.2ms 47.0MB 297ms 10ms node 18.16.1
haxe 1.hx 330ms 0.5ms 2.9MB 320ms 0ms haxe/hl/c 4.2.5
dart 1.dart 331ms 0.7ms 11.6MB 317ms 0ms dart/exe 3.0.6
wasm 7.rs 332ms 1.3ms 48.0MB 313ms 7ms node 18.16.1
rust 2.rs 358ms 0.8ms 1.1MB 350ms 0ms rustc 1.70.0
crystal 1.cr 364ms 0.3ms 4.0MB 350ms 0ms crystal 1.9.0
v 1.v 391ms 0.7ms 2.5MB 380ms 0ms v/clang+gc 0.4.0
v 1.v 392ms 1.3ms 2.5MB 380ms 0ms v/clang 0.4.0
lua 1.lua 393ms 0.7ms 1.4MB 383ms 0ms luajit 2.1.0-beta3
ocaml 2.ml 412ms 0.4ms 3.3MB 400ms 0ms ocaml 5.0.0
java 2-m.java 418ms 13ms 43.6MB 710ms 7ms openjdk 22
csharp 3.cs 433ms 78ms 29.7MB 567ms 13ms dotnet 7.0.306
java 2-m.java 435ms 10ms 93.6MB 717ms 33ms graal/jvm 17.0.7
typescript 7.ts 504ms 42ms 46.6MB 440ms 13ms deno 1.35.1
haxe 1.hx 590ms 0.8ms 5.4MB 577ms 0ms haxe/cpp 4.2.5
java 2-m.java 595ms 5.3ms 40.9MB 1060ms 10ms openjdk 20
java 2-m.java 638ms 37ms 42.3MB 1057ms 57ms openjdk/zgc 20
go 1.go 646ms 1.0ms 0.0MB 637ms 0ms tinygo 0.28.1
csharp 3-m.cs 802ms 3.6ms 29.7MB 1520ms 7ms mono 6.12.0
wasm 7.rs 822ms 1.0ms 16.1MB 810ms 0ms wasmtime 10.0.1
ruby 4.rb 2469ms 3.3ms 477.2MB 2927ms 177ms truffleruby 22.3.1
python 8-m.py 3124ms 25ms 105.3MB 5340ms 337ms pypy 3.10.12
haxe 1.hx 3423ms 1.0ms 3.6MB 3410ms 0ms haxe/hl/jit 1.13.0
perl 4-m.pl 4699ms 56ms 8.8MB 9137ms 7ms perl 5.38.0
lua 1.lua timeout 0.0ms 1.5MB 4987ms 0ms lua 5.4.4
python 8.py timeout 0.0ms 16.2MB 263ms 17ms cpython 3.11.4
python 8.py timeout 0.0ms 16.7MB 320ms 57ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 32.4MB 4973ms 7ms ruby 3.2.2
ruby 4.rb timeout 0.0ms 32.8MB 4970ms 13ms ruby/yjit 3.2.2