All spectral-norm problem benchmarks

Current benchmark data was generated on Thu Feb 01 2024, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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 475ms 1.1ms 3.8MB 1780ms 7ms zig 0.12.0-dev.2341+92211135f
cpp 8-m.cpp 479ms 0.8ms 4.2MB 1863ms 0ms g++ 11.4.0
cpp 8-m.cpp 482ms 26ms 7.3MB 1840ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8-m.rs 525ms 0.4ms 6.3MB 2023ms 3ms rustc 1.77.0-nightly
cpp 6-im.cpp 916ms 3.0ms 5.3MB 3587ms 0ms clang++ 14.0.0-1ubuntu1.1
zig 2.zig 917ms 2.4ms 1.5MB 910ms 0ms zig 0.12.0-dev.2341+92211135f
cpp 6-im.cpp 917ms 3.4ms 4.3MB 3607ms 0ms g++ 11.4.0
c 4-m.c 947ms 11ms 4.1MB 3703ms 0ms gcc 13.2.0
c 6-im.c 981ms 47ms 4.1MB 3790ms 0ms gcc 13.2.0
rust 7-m.rs 997ms 0.9ms 6.2MB 3887ms 3ms rustc 1.75.0
c 6-im.c 1003ms 11ms 9.1MB 3920ms 3ms clang 14.0.0-1ubuntu1.1
rust 8.rs 1075ms 1.1ms 2.3MB 1063ms 0ms rustc 1.77.0-nightly
c 4-m.c 1117ms 3.7ms 5.1MB 4367ms 10ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1145ms 6.7ms 4.1MB 4493ms 0ms gcc 13.2.0
c 5-im.c 1335ms 18ms 5.3MB 5220ms 13ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1825ms 3.8ms 7.3MB 7183ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1868ms 28ms 18.9MB 7187ms 17ms dotnet/aot 8.0.101
chapel 1-m.chpl 1911ms 0.6ms 32.9MB 3783ms 0ms chpl 1.31.0
go 4-m.go 1911ms 7.7ms 5.3MB 7327ms 0ms go 1.21.6
c 3-m.c 1933ms 0.6ms 4.1MB 7637ms 3ms gcc 13.2.0
rust 2-m.rs 1935ms 1.0ms 6.2MB 7583ms 13ms rustc 1.75.0
java 2-m.java 1956ms 9.0ms 48.0MB 7453ms 37ms openjdk 23
java 2-m.java 1957ms 12ms 47.8MB 7463ms 27ms openjdk 21
csharp 3-m.cs 2016ms 168ms 39.0MB 7077ms 27ms dotnet 8.0.101
rust 7.rs 2068ms 5.9ms 2.0MB 2063ms 0ms rustc 1.75.0
java 2-m.java 2081ms 13ms 45.6MB 7440ms 140ms openjdk/zgc 21
javascript 6-m.js 2120ms 26ms 92.2MB 7783ms 97ms node 21.6.1
java 2-m.java 2462ms 20ms 94.8MB 8777ms 47ms graal/jvm 17.0.8
nim 1.nim 3574ms 1.9ms 1.6MB 3567ms 0ms nim/clang 2.0.2
d 1.d 3582ms 3.5ms 3.9MB 3567ms 0ms ldc2 1.36.0
nim 1.nim 3591ms 12ms 1.4MB 3580ms 0ms nim 2.0.2
d 1.d 3609ms 12ms 5.8MB 3600ms 0ms dmd 2.106.1
go 1.go 3639ms 25ms 5.4MB 3630ms 0ms go 1.21.6
zig 1.zig 3668ms 10ms 1.4MB 3657ms 0ms zig 0.12.0-dev.2341+92211135f
wasm 7.rs 3705ms 9.4ms 49.9MB 3690ms 7ms node 18.19.0
chapel 1.chpl 3712ms 4.9ms 32.8MB 3703ms 0ms chpl 1.31.0
wasm 2.rs 3742ms 13ms 18.3MB 3727ms 0ms wasmtime 17.0.0
crystal 1.cr 3743ms 15ms 4.8MB 3727ms 0ms crystal 1.11.2
wasm 2.rs 3746ms 4.9ms 49.7MB 3730ms 7ms node 18.19.0
odin 1.odin 3783ms 11ms 2.9MB 3773ms 0ms odin 2024
dart 1.dart 3807ms 41ms 6.1MB 3797ms 0ms dart/exe 3.2.6
haxe 1.hx 3903ms 4.9ms 5.3MB 3890ms 0ms haxe/hl/c 4.3.3
lua 1.lua 4049ms 5.8ms 2.5MB 4037ms 0ms luajit 2.1.0-beta3
typescript 7.ts 4066ms 156ms 59.5MB 4050ms 13ms deno 1.40.2
rust 2.rs 4161ms 0.9ms 2.0MB 4150ms 0ms rustc 1.75.0
ocaml 2.ml 4552ms 0.3ms 4.4MB 4537ms 0ms ocaml 5.1.1
csharp 3-m.cs 4685ms 117ms 29.1MB 17887ms 20ms mono 6.12.0
wasm 7.rs 4973ms 5.7ms 18.3MB 4957ms 3ms wasmtime 17.0.0
go 1.go timeout 0.0ms 2.4MB 4990ms 0ms tinygo 0.30.0
haxe 1.hx timeout 0.0ms 7.4MB 4987ms 0ms haxe/cpp 4.3.3
haxe 1.hx timeout 0.0ms 5.8MB 4990ms 0ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 2.4MB 4990ms 0ms lua 5.4.6
perl 4.pl timeout 0.0ms 13.8MB 19783ms 10ms perl 5.38.2
python 8.py timeout 0.0ms 17.2MB 57ms 13ms cpython 3.12.1
python 8.py timeout 0.0ms 76.8MB 967ms 133ms pypy 3.10.13
python 8.py timeout 0.0ms 18.1MB 63ms 10ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 28.1MB 4973ms 10ms ruby 3.3.0
ruby 4.rb timeout 0.0ms 28.5MB 4963ms 17ms ruby/yjit 3.3.0
ruby 4.rb timeout 0.0ms 527.7MB 5150ms 253ms truffleruby 23.1.2
v 1.v timeout 0.0ms 3.0MB 4987ms 0ms v/clang+gc 0.4.4
v 1.v timeout 0.0ms 1.8MB 4990ms 0ms v/clang 0.4.4

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 126ms 0.2ms 7.3MB 450ms 0ms clang++ 14.0.0-1ubuntu1.1
zig 2-m.zig 126ms 0.3ms 3.7MB 427ms 7ms zig 0.12.0-dev.2341+92211135f
cpp 8-m.cpp 128ms 0.2ms 4.1MB 477ms 0ms g++ 11.4.0
rust 8-m.rs 135ms 0.6ms 6.2MB 497ms 0ms rustc 1.77.0-nightly
zig 2.zig 230ms 0.9ms 1.4MB 220ms 0ms zig 0.12.0-dev.2341+92211135f
cpp 6-im.cpp 238ms 0.4ms 5.4MB 890ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 242ms 4.2ms 4.2MB 907ms 0ms g++ 11.4.0
c 4-m.c 246ms 0.5ms 4.1MB 937ms 0ms gcc 13.2.0
c 6-im.c 252ms 6.4ms 4.0MB 957ms 0ms gcc 13.2.0
rust 7-m.rs 255ms 0.2ms 6.1MB 947ms 7ms rustc 1.75.0
c 6-im.c 258ms 0.1ms 9.2MB 973ms 3ms clang 14.0.0-1ubuntu1.1
rust 8.rs 272ms 1.1ms 2.0MB 260ms 0ms rustc 1.77.0-nightly
c 4-m.c 288ms 1.9ms 7.0MB 1090ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 297ms 1.3ms 4.0MB 1130ms 0ms gcc 13.2.0
c 5-im.c 340ms 0.0ms 7.3MB 1300ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 462ms 0.4ms 5.3MB 1787ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 477ms 2.0ms 18.7MB 1807ms 10ms dotnet/aot 8.0.101
go 4-m.go 479ms 0.9ms 5.3MB 1817ms 3ms go 1.21.6
c 3-m.c 487ms 1.0ms 4.0MB 1893ms 0ms gcc 13.2.0
rust 2-m.rs 488ms 0.9ms 8.1MB 1880ms 3ms rustc 1.75.0
chapel 1-m.chpl 496ms 1.2ms 32.9MB 953ms 0ms chpl 1.31.0
rust 7.rs 517ms 1.8ms 1.9MB 507ms 0ms rustc 1.75.0
csharp 3-m.cs 536ms 3.2ms 36.9MB 1843ms 17ms dotnet 8.0.101
java 2-m.java 583ms 3.4ms 47.7MB 2050ms 20ms openjdk 21
java 2-m.java 586ms 3.4ms 47.9MB 2070ms 20ms openjdk 23
javascript 6-m.js 636ms 17ms 91.5MB 2100ms 110ms node 21.6.1
java 2-m.java 713ms 3.2ms 45.6MB 2100ms 133ms openjdk/zgc 21
java 2-m.java 744ms 11ms 100.2MB 2513ms 37ms graal/jvm 17.0.8
nim 1.nim 895ms 0.8ms 1.5MB 887ms 0ms nim/clang 2.0.2
d 1.d 897ms 1.0ms 3.5MB 880ms 0ms ldc2 1.36.0
nim 1.nim 899ms 2.9ms 1.8MB 890ms 0ms nim 2.0.2
d 1.d 907ms 1.8ms 5.3MB 900ms 0ms dmd 2.106.1
zig 1.zig 920ms 1.8ms 1.3MB 910ms 0ms zig 0.12.0-dev.2341+92211135f
odin 1.odin 927ms 7.4ms 2.3MB 917ms 0ms odin 2024
go 1.go 928ms 8.2ms 3.3MB 923ms 0ms go 1.21.6
wasm 2.rs 942ms 1.0ms 18.3MB 930ms 0ms wasmtime 17.0.0
chapel 1.chpl 944ms 2.4ms 32.8MB 933ms 0ms chpl 1.31.0
crystal 1.cr 945ms 4.4ms 4.4MB 933ms 0ms crystal 1.11.2
wasm 7.rs 954ms 2.8ms 49.9MB 937ms 10ms node 18.19.0
dart 1.dart 961ms 4.2ms 6.1MB 950ms 0ms dart/exe 3.2.6
wasm 2.rs 963ms 1.3ms 49.4MB 953ms 3ms node 18.19.0
haxe 1.hx 988ms 15ms 5.1MB 973ms 0ms haxe/hl/c 4.3.3
typescript 7.ts 1002ms 27ms 57.1MB 993ms 7ms deno 1.40.2
lua 1.lua 1015ms 1.6ms 2.4MB 1003ms 0ms luajit 2.1.0-beta3
rust 2.rs 1043ms 0.9ms 2.0MB 1030ms 0ms rustc 1.75.0
ocaml 2.ml 1148ms 4.4ms 4.0MB 1137ms 0ms ocaml 5.1.1
csharp 3-m.cs 1178ms 36ms 29.3MB 4430ms 7ms mono 6.12.0
wasm 7.rs 1251ms 3.1ms 18.2MB 1237ms 0ms wasmtime 17.0.0
v 1.v 1280ms 17ms 1.6MB 1270ms 0ms v/clang 0.4.4
v 1.v 1312ms 4.6ms 2.6MB 1297ms 0ms v/clang+gc 0.4.4
go 1.go 1394ms 5.3ms 0.4MB 1383ms 0ms tinygo 0.30.0
haxe 1.hx 2387ms 2.0ms 7.0MB 2377ms 0ms haxe/cpp 4.3.3
ruby 4.rb 4605ms 65ms 509.3MB 4857ms 220ms truffleruby 23.1.2
haxe 1.hx timeout 0.0ms 5.8MB 4980ms 0ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 2.3MB 4990ms 0ms lua 5.4.6
perl 4.pl timeout 0.0ms 14.0MB 19403ms 13ms perl 5.38.2
python 8.py timeout 0.0ms 16.8MB 100ms 13ms cpython 3.12.1
python 8.py timeout 0.0ms 75.9MB 1767ms 440ms pypy 3.10.13
python 8.py timeout 0.0ms 17.8MB 150ms 30ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 28.1MB 4967ms 20ms ruby 3.3.0
ruby 4.rb timeout 0.0ms 28.5MB 4963ms 20ms ruby/yjit 3.3.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 38ms 0.6ms 7.3MB 107ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8-m.rs 38ms 0.4ms 6.1MB 113ms 0ms rustc 1.77.0-nightly
zig 2-m.zig 38ms 0.0ms 3.7MB 97ms 3ms zig 0.12.0-dev.2341+92211135f
cpp 8-m.cpp 44ms 8.7ms 4.0MB 140ms 0ms g++ 11.4.0
zig 2.zig 60ms 1.0ms 1.4MB 50ms 0ms zig 0.12.0-dev.2341+92211135f
cpp 6-im.cpp 67ms 0.9ms 5.4MB 227ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 68ms 0.2ms 4.2MB 237ms 0ms g++ 11.4.0
rust 7-m.rs 69ms 0.5ms 6.1MB 227ms 10ms rustc 1.75.0
c 4-m.c 69ms 0.7ms 4.1MB 243ms 0ms gcc 13.2.0
c 6-im.c 70ms 0.0ms 4.0MB 247ms 0ms gcc 13.2.0
rust 8.rs 71ms 0.4ms 1.9MB 60ms 0ms rustc 1.77.0-nightly
c 6-im.c 72ms 1.1ms 7.1MB 247ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 80ms 0.5ms 5.1MB 280ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 83ms 0.5ms 4.0MB 300ms 0ms gcc 13.2.0
c 5-im.c 109ms 28ms 5.2MB 363ms 3ms clang 14.0.0-1ubuntu1.1
c 3-m.c 124ms 0.7ms 7.0MB 447ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 126ms 1.3ms 5.3MB 437ms 0ms go 1.21.6
rust 2-m.rs 127ms 1.1ms 6.1MB 457ms 3ms rustc 1.75.0
c 3-m.c 129ms 1.4ms 4.0MB 480ms 0ms gcc 13.2.0
rust 7.rs 131ms 0.2ms 1.9MB 120ms 0ms rustc 1.75.0
csharp 3-m.cs 132ms 0.4ms 18.9MB 453ms 3ms dotnet/aot 8.0.101
chapel 1-m.chpl 140ms 0.8ms 33.0MB 240ms 7ms chpl 1.31.0
csharp 3-m.cs 191ms 6.2ms 35.6MB 490ms 10ms dotnet 8.0.101
nim 1.nim 226ms 0.0ms 1.5MB 217ms 0ms nim/clang 2.0.2
nim 1.nim 227ms 1.0ms 1.8MB 220ms 0ms nim 2.0.2
d 1.d 229ms 0.4ms 3.1MB 217ms 0ms ldc2 1.36.0
zig 1.zig 232ms 1.1ms 1.3MB 223ms 0ms zig 0.12.0-dev.2341+92211135f
d 1.d 232ms 2.4ms 5.0MB 223ms 0ms dmd 2.106.1
java 2-m.java 233ms 0.9ms 47.6MB 667ms 20ms openjdk 21
odin 1.odin 235ms 2.8ms 1.9MB 227ms 0ms odin 2024
go 1.go 236ms 5.1ms 3.3MB 223ms 0ms go 1.21.6
crystal 1.cr 238ms 0.1ms 4.1MB 227ms 0ms crystal 1.11.2
dart 1.dart 243ms 1.0ms 6.0MB 230ms 0ms dart/exe 3.2.6
java 2-m.java 243ms 5.5ms 47.9MB 727ms 23ms openjdk 23
wasm 2.rs 245ms 0.7ms 18.7MB 230ms 0ms wasmtime 17.0.0
chapel 1.chpl 252ms 1.7ms 32.8MB 247ms 0ms chpl 1.31.0
haxe 1.hx 259ms 10ms 5.2MB 247ms 0ms haxe/hl/c 4.3.3
lua 1.lua 259ms 2.7ms 2.3MB 250ms 0ms luajit 2.1.0-beta3
javascript 6-m.js 260ms 4.6ms 91.2MB 737ms 90ms node 21.6.1
rust 2.rs 262ms 0.2ms 2.0MB 250ms 0ms rustc 1.75.0
typescript 7.ts 263ms 2.7ms 57.1MB 243ms 10ms deno 1.40.2
wasm 7.rs 268ms 1.8ms 49.7MB 253ms 10ms node 18.19.0
wasm 2.rs 271ms 2.4ms 49.3MB 263ms 3ms node 18.19.0
java 2-m.java 277ms 8.5ms 98.5MB 783ms 43ms graal/jvm 17.0.8
ocaml 2.ml 296ms 9.9ms 3.4MB 287ms 0ms ocaml 5.1.1
wasm 7.rs 320ms 1.0ms 18.2MB 303ms 0ms wasmtime 17.0.0
v 1.v 322ms 1.6ms 1.6MB 310ms 0ms v/clang 0.4.4
v 1.v 332ms 1.3ms 2.5MB 320ms 0ms v/clang+gc 0.4.4
csharp 3-m.cs 344ms 4.8ms 33.1MB 1147ms 17ms mono 6.12.0
go 1.go 349ms 0.4ms 0.3MB 340ms 0ms tinygo 0.30.0
java 2-m.java 372ms 13ms 45.5MB 740ms 133ms openjdk/zgc 21
haxe 1.hx 601ms 1.4ms 5.9MB 590ms 0ms haxe/cpp 4.3.3
ruby 4.rb 1257ms 60ms 358.6MB 1563ms 133ms truffleruby 23.1.2
python 8-m.py 2161ms 17ms 76.3MB 6830ms 320ms pypy 3.10.13
haxe 1.hx 2301ms 9.1ms 5.8MB 2287ms 0ms haxe/hl/jit 1.14.0
perl 4-m.pl 3241ms 7.1ms 13.5MB 12600ms 10ms perl 5.38.2
lua 1.lua timeout 0.0ms 2.0MB 4993ms 0ms lua 5.4.6
python 8.py timeout 0.0ms 14.6MB 293ms 40ms cpython 3.12.1
python 8.py timeout 0.0ms 17.2MB 430ms 120ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 28.3MB 4973ms 10ms ruby 3.3.0
ruby 4.rb timeout 0.0ms 28.4MB 4970ms 13ms ruby/yjit 3.3.0