All spectral-norm problem benchmarks

Current benchmark data was generated on Sun Jun 01 2025, 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
cpp 8-m.cpp 469ms 3.7ms 3.5MB 1823ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 482ms 1.3ms 2.1MB 1887ms 0ms g++ 11.4.0
rust 7-m.rs 493ms 0.4ms 2.1MB 1903ms 3ms rustc 1.87.0
rust 8-m.rs 494ms 3.1ms 2.4MB 1890ms 7ms rustc 1.89.0-nightly
c 3-m.c 736ms 1.2ms 2.0MB 2897ms 0ms gcc 15.1.0
cpp 6-im.cpp 917ms 0.3ms 3.4MB 3603ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 920ms 1.7ms 2.1MB 3617ms 0ms g++ 11.4.0
c 6-im.c 951ms 0.7ms 2.0MB 3743ms 0ms gcc 15.1.0
rust 8.rs 993ms 1.1ms 2.3MB 980ms 0ms rustc 1.89.0-nightly
c 4-m.c 999ms 19ms 2.0MB 3907ms 0ms gcc 15.1.0
c 6-im.c 1002ms 3.9ms 3.3MB 3943ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 1132ms 22ms 3.4MB 4423ms 7ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1142ms 1.9ms 2.0MB 4507ms 0ms gcc 15.1.0
c 5-im.c 1330ms 4.1ms 3.3MB 5240ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1830ms 5.6ms 3.3MB 7220ms 10ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1881ms 41ms 10.4MB 7243ms 7ms dotnet/aot 9.0.300
go 4-m.go 1909ms 15ms 5.6MB 7397ms 7ms go 1.24.3
chapel 1-m.chpl 1922ms 11ms 29.0MB 3817ms 0ms chpl 1.31.0
csharp 3-m.cs 1938ms 34ms 29.9MB 7323ms 20ms dotnet 9.0.300
rust 7.rs 1955ms 10ms 2.0MB 1947ms 0ms rustc 1.87.0
java 2-m.java 1986ms 9.7ms 47.8MB 7600ms 27ms openjdk 21
java 2-m.java 1987ms 18ms 48.7MB 7617ms 30ms openjdk 23
rust 2-m.rs 2077ms 1.2ms 2.3MB 8183ms 0ms rustc 1.87.0
java 2-m.java 2117ms 11ms 45.8MB 7620ms 153ms openjdk/zgc 21
javascript 6-m.js 2185ms 14ms 119.3MB 8240ms 53ms node 24.1.0
java 2-m.java 2514ms 6.9ms 94.5MB 9423ms 43ms graal/jvm 17.0.8
nim 1.nim 3587ms 1.2ms 1.6MB 3580ms 0ms nim/clang 2.2.4
d 1.d 3595ms 3.6ms 4.0MB 3587ms 0ms ldc2 1.40.1
wasm 2.rs 3597ms 4.4ms 17.7MB 3583ms 0ms wasmtime 33.0.0
odin 1.odin 3598ms 2.4ms 2.9MB 3590ms 0ms odin 2024
nim 1.nim 3604ms 3.0ms 1.8MB 3593ms 0ms nim 2.2.4
d 1.d 3642ms 31ms 5.9MB 3633ms 0ms dmd 2.111.0
zig 1.zig 3684ms 1.8ms 1.4MB 3670ms 0ms zig 0.14.1
go 1.go 3690ms 9.5ms 5.6MB 3687ms 0ms go 1.24.3
chapel 1.chpl 3716ms 4.8ms 28.8MB 3710ms 0ms chpl 1.31.0
dart 1.dart 3751ms 7.5ms 6.4MB 3740ms 0ms dart/exe 3.8.1
crystal 1.cr 3757ms 8.8ms 4.6MB 3743ms 0ms crystal 1.16.3
haxe 1.hx 3896ms 11ms 3.3MB 3883ms 0ms haxe/hl/c 4.3.6
typescript 7.ts 4058ms 21ms 56.3MB 4047ms 7ms deno 2.3.5
lua 1.lua 4062ms 9.7ms 2.5MB 4053ms 0ms luajit 2.1.0-beta3
rust 2.rs 4266ms 7.7ms 2.0MB 4257ms 0ms rustc 1.87.0
ocaml 2.ml 4557ms 9.2ms 6.3MB 4543ms 0ms ocaml 5.3.0
csharp 3-m.cs 4838ms 168ms 25.5MB 18427ms 13ms mono 6.12.0
wasm 7.rs 4900ms 7.4ms 17.7MB 4887ms 0ms wasmtime 33.0.0
dart 2.dart 4932ms 8.5ms 6.3MB 4923ms 0ms dart/exe 3.8.1
go 1.go timeout 0.0ms 0.5MB 4990ms 0ms tinygo 0.37.0
haxe 1.hx timeout 0.0ms 7.0MB 4990ms 0ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 3.9MB 4990ms 0ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 2.5MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 9.9MB 19830ms 0ms perl 5.40.2
python 8.py timeout 0.0ms 14.8MB 40ms 10ms cpython 3.13.3
python 8.py timeout 0.0ms 95.2MB 787ms 80ms pypy 3.10.16
python 8.py timeout 0.0ms 14.2MB 37ms 10ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 12.9MB 4983ms 3ms ruby 3.4.4
ruby 4.rb timeout 0.0ms 13.5MB 4980ms 3ms ruby/yjit 3.4.4
ruby 4.rb timeout 0.0ms 436.2MB 5167ms 233ms truffleruby 24.2.1
v 1.v timeout 0.0ms 2.8MB 4990ms 0ms v/clang+gc 0.4.10
v 1.v timeout 0.0ms 1.6MB 4990ms 0ms v/clang 0.4.10

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 123ms 0.4ms 3.4MB 457ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 7-m.rs 127ms 0.1ms 2.1MB 470ms 0ms rustc 1.87.0
rust 8-m.rs 127ms 1.0ms 2.1MB 467ms 3ms rustc 1.89.0-nightly
cpp 8-m.cpp 128ms 0.5ms 2.0MB 480ms 0ms g++ 11.4.0
c 3-m.c 193ms 1.4ms 2.0MB 737ms 0ms gcc 15.1.0
cpp 6-im.cpp 236ms 0.8ms 3.4MB 900ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 238ms 0.2ms 2.1MB 920ms 0ms g++ 11.4.0
c 6-im.c 247ms 2.2ms 2.0MB 943ms 0ms gcc 15.1.0
rust 8.rs 250ms 0.5ms 2.0MB 240ms 0ms rustc 1.89.0-nightly
c 4-m.c 258ms 0.8ms 2.0MB 990ms 0ms gcc 15.1.0
c 6-im.c 259ms 2.3ms 3.3MB 983ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 290ms 4.2ms 3.1MB 1107ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 303ms 19ms 2.0MB 1153ms 0ms gcc 15.1.0
c 5-im.c 341ms 2.7ms 3.4MB 1310ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 475ms 1.3ms 10.5MB 1813ms 0ms dotnet/aot 9.0.300
c 3-m.c 476ms 17ms 3.3MB 1823ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 481ms 1.5ms 5.5MB 1840ms 0ms go 1.24.3
rust 7.rs 491ms 2.2ms 1.8MB 480ms 0ms rustc 1.87.0
chapel 1-m.chpl 492ms 1.0ms 28.9MB 957ms 0ms chpl 1.31.0
rust 2-m.rs 522ms 0.1ms 2.1MB 2030ms 0ms rustc 1.87.0
csharp 3-m.cs 529ms 1.2ms 30.0MB 1873ms 10ms dotnet 9.0.300
java 2-m.java 599ms 0.5ms 47.8MB 2133ms 23ms openjdk 21
java 2-m.java 614ms 4.8ms 49.0MB 2180ms 20ms openjdk 23
javascript 6-m.js 653ms 1.5ms 117.6MB 2320ms 57ms node 24.1.0
java 2-m.java 737ms 1.7ms 45.5MB 2183ms 140ms openjdk/zgc 21
java 2-m.java 761ms 25ms 95.2MB 2687ms 37ms graal/jvm 17.0.8
nim 1.nim 898ms 0.5ms 1.5MB 890ms 0ms nim/clang 2.2.4
d 1.d 901ms 2.0ms 3.5MB 890ms 0ms ldc2 1.40.1
odin 1.odin 902ms 1.5ms 2.3MB 890ms 0ms odin 2024
nim 1.nim 903ms 2.7ms 1.3MB 893ms 0ms nim 2.2.4
wasm 2.rs 905ms 1.7ms 18.2MB 890ms 0ms wasmtime 33.0.0
zig 1.zig 927ms 2.1ms 1.3MB 920ms 0ms zig 0.14.1
go 1.go 929ms 22ms 3.5MB 923ms 0ms go 1.24.3
d 1.d 930ms 9.2ms 5.4MB 920ms 0ms dmd 2.111.0
chapel 1.chpl 940ms 1.7ms 28.8MB 940ms 0ms chpl 1.31.0
dart 1.dart 942ms 2.6ms 6.3MB 930ms 0ms dart/exe 3.8.1
crystal 1.cr 942ms 1.3ms 4.4MB 930ms 0ms crystal 1.16.3
haxe 1.hx 985ms 3.4ms 3.2MB 973ms 0ms haxe/hl/c 4.3.6
lua 1.lua 1019ms 1.0ms 2.4MB 1010ms 0ms luajit 2.1.0-beta3
typescript 7.ts 1035ms 5.1ms 56.5MB 1023ms 10ms deno 2.3.5
rust 2.rs 1068ms 1.1ms 2.0MB 1060ms 0ms rustc 1.87.0
ocaml 2.ml 1144ms 6.9ms 6.1MB 1133ms 0ms ocaml 5.3.0
csharp 3-m.cs 1200ms 10ms 26.7MB 4517ms 7ms mono 6.12.0
wasm 7.rs 1229ms 2.0ms 17.7MB 1217ms 0ms wasmtime 33.0.0
dart 2.dart 1242ms 3.4ms 6.5MB 1233ms 0ms dart/exe 3.8.1
v 1.v 1285ms 5.0ms 1.5MB 1277ms 0ms v/clang 0.4.10
v 1.v 1330ms 15ms 2.5MB 1320ms 0ms v/clang+gc 0.4.10
go 1.go 1397ms 0.5ms 0.5MB 1390ms 0ms tinygo 0.37.0
haxe 1.hx 2398ms 1.9ms 6.5MB 2387ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4820ms 15ms 423.5MB 5103ms 203ms truffleruby 24.2.1
haxe 1.hx timeout 0.0ms 3.8MB 4990ms 0ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 2.1MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 10.0MB 19553ms 10ms perl 5.40.2
python 8.py timeout 0.0ms 14.6MB 50ms 10ms cpython 3.13.3
python 8.py timeout 0.0ms 96.8MB 1343ms 173ms pypy 3.10.16
python 8.py timeout 0.0ms 13.6MB 53ms 23ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 12.9MB 4987ms 3ms ruby 3.4.4
ruby 4.rb timeout 0.0ms 13.5MB 4980ms 0ms ruby/yjit 3.4.4

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 35ms 0.3ms 2.1MB 110ms 0ms rustc 1.87.0
rust 8-m.rs 35ms 0.7ms 2.1MB 117ms 0ms rustc 1.89.0-nightly
cpp 8-m.cpp 39ms 0.4ms 2.0MB 130ms 0ms g++ 11.4.0
cpp 8-m.cpp 41ms 8.7ms 3.5MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
c 3-m.c 55ms 1.1ms 2.0MB 193ms 0ms gcc 15.1.0
cpp 6-im.cpp 65ms 1.3ms 3.4MB 230ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8.rs 66ms 0.4ms 1.9MB 60ms 0ms rustc 1.89.0-nightly
cpp 6-im.cpp 66ms 0.2ms 2.0MB 240ms 0ms g++ 11.4.0
c 6-im.c 70ms 0.8ms 3.3MB 250ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 72ms 0.8ms 2.1MB 260ms 0ms gcc 15.1.0
c 6-im.c 72ms 6.7ms 2.0MB 257ms 0ms gcc 15.1.0
c 4-m.c 78ms 0.4ms 3.1MB 280ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 81ms 0.6ms 2.0MB 297ms 0ms gcc 15.1.0
c 5-im.c 92ms 0.5ms 3.3MB 330ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 123ms 2.1ms 3.4MB 453ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 125ms 0.3ms 5.5MB 453ms 0ms go 1.24.3
rust 7.rs 126ms 2.5ms 1.8MB 120ms 0ms rustc 1.87.0
csharp 3-m.cs 129ms 0.6ms 10.6MB 447ms 10ms dotnet/aot 9.0.300
chapel 1-m.chpl 133ms 1.1ms 28.9MB 240ms 0ms chpl 1.31.0
rust 2-m.rs 134ms 0.3ms 2.0MB 493ms 3ms rustc 1.87.0
csharp 3-m.cs 179ms 3.3ms 28.4MB 497ms 17ms dotnet 9.0.300
nim 1.nim 226ms 0.4ms 1.5MB 220ms 0ms nim/clang 2.2.4
odin 1.odin 227ms 0.9ms 1.9MB 220ms 0ms odin 2024
d 1.d 228ms 0.6ms 3.0MB 220ms 0ms ldc2 1.40.1
nim 1.nim 229ms 1.5ms 1.3MB 220ms 0ms nim 2.2.4
go 1.go 231ms 0.6ms 3.5MB 220ms 0ms go 1.24.3
zig 1.zig 232ms 0.3ms 1.3MB 220ms 0ms zig 0.14.1
wasm 2.rs 233ms 1.4ms 18.3MB 220ms 0ms wasmtime 33.0.0
d 1.d 234ms 1.3ms 4.9MB 223ms 0ms dmd 2.111.0
dart 1.dart 239ms 1.4ms 6.3MB 230ms 0ms dart/exe 3.8.1
crystal 1.cr 240ms 1.7ms 3.9MB 230ms 0ms crystal 1.16.3
chapel 1.chpl 246ms 3.6ms 28.8MB 240ms 0ms chpl 1.31.0
java 2-m.java 249ms 6.5ms 47.4MB 737ms 17ms openjdk 21
haxe 1.hx 250ms 2.4ms 3.0MB 240ms 0ms haxe/hl/c 4.3.6
java 2-m.java 257ms 2.4ms 48.6MB 783ms 20ms openjdk 23
lua 1.lua 259ms 2.2ms 2.3MB 250ms 0ms luajit 2.1.0-beta3
javascript 6-m.js 270ms 2.9ms 117.4MB 843ms 47ms node 24.1.0
rust 2.rs 270ms 1.4ms 1.9MB 260ms 0ms rustc 1.87.0
typescript 7.ts 285ms 2.4ms 54.4MB 270ms 10ms deno 2.3.5
ocaml 2.ml 295ms 8.4ms 5.2MB 283ms 0ms ocaml 5.3.0
java 2-m.java 310ms 29ms 95.0MB 947ms 40ms graal/jvm 17.0.8
dart 2.dart 313ms 2.4ms 6.1MB 303ms 0ms dart/exe 3.8.1
wasm 7.rs 315ms 1.6ms 17.7MB 300ms 0ms wasmtime 33.0.0
v 1.v 326ms 1.3ms 1.5MB 320ms 0ms v/clang 0.4.10
v 1.v 332ms 2.2ms 2.5MB 323ms 0ms v/clang+gc 0.4.10
csharp 3-m.cs 341ms 6.9ms 25.5MB 1153ms 7ms mono 6.12.0
go 1.go 351ms 0.3ms 0.4MB 340ms 0ms tinygo 0.37.0
java 2-m.java 377ms 11ms 45.3MB 767ms 143ms openjdk/zgc 21
haxe 1.hx 603ms 1.6ms 5.4MB 590ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1453ms 19ms 405.2MB 1797ms 150ms truffleruby 24.2.1
python 8-m.py 1961ms 11ms 93.0MB 6377ms 250ms pypy 3.10.16
haxe 1.hx 2301ms 12ms 3.8MB 2290ms 0ms haxe/hl/jit 1.15.0
perl 4-m.pl 3429ms 2.4ms 9.5MB 13317ms 7ms perl 5.40.2
lua 1.lua timeout 0.0ms 2.0MB 4990ms 0ms lua 5.4.7
python 8.py timeout 0.0ms 14.3MB 90ms 17ms cpython 3.13.3
python 8.py timeout 0.0ms 13.2MB 153ms 37ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 12.9MB 4983ms 7ms ruby 3.4.4
ruby 4.rb timeout 0.0ms 13.6MB 4980ms 7ms ruby/yjit 3.4.4