All spectral-norm problem benchmarks

Current benchmark data was generated on Sun Jul 13 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 468ms 1.6ms 3.4MB 1820ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 482ms 0.8ms 2.1MB 1880ms 0ms g++ 11.4.0
rust 7-m.rs 493ms 0.6ms 2.1MB 1910ms 0ms rustc 1.88.0
rust 8-m.rs 494ms 0.2ms 2.5MB 1907ms 3ms rustc 1.90.0-nightly
c 3-m.c 735ms 1.2ms 2.0MB 2887ms 0ms gcc 15.1.0
cpp 6-im.cpp 921ms 2.0ms 2.3MB 3627ms 0ms g++ 11.4.0
cpp 6-im.cpp 924ms 12ms 3.4MB 3610ms 3ms clang++ 14.0.0-1ubuntu1.1
c 6-im.c 969ms 27ms 2.0MB 3773ms 0ms gcc 15.1.0
rust 8.rs 992ms 1.9ms 2.4MB 983ms 0ms rustc 1.90.0-nightly
c 4-m.c 996ms 15ms 2.0MB 3907ms 0ms gcc 15.1.0
c 6-im.c 1002ms 1.1ms 3.1MB 3943ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 1119ms 3.6ms 3.4MB 4407ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1141ms 0.4ms 2.0MB 4510ms 0ms gcc 15.1.0
c 5-im.c 1326ms 1.0ms 3.1MB 5233ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1841ms 29ms 3.3MB 7233ms 7ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1869ms 0.3ms 10.3MB 7317ms 7ms dotnet/aot 9.0.302
go 4-m.go 1905ms 8.6ms 5.5MB 7413ms 7ms go 1.24.5
csharp 3-m.cs 1921ms 2.8ms 30.3MB 7360ms 10ms dotnet 9.0.302
rust 7.rs 1924ms 0.5ms 1.9MB 1913ms 0ms rustc 1.88.0
chapel 1-m.chpl 1924ms 19ms 28.9MB 3823ms 0ms chpl 1.31.0
java 2-m.java 1988ms 6.6ms 47.8MB 7613ms 23ms openjdk 21
java 2-m.java 1996ms 1.7ms 48.5MB 7643ms 30ms openjdk 23
rust 2-m.rs 2071ms 4.3ms 2.4MB 8133ms 3ms rustc 1.88.0
java 2-m.java 2127ms 4.4ms 45.5MB 7673ms 153ms openjdk/zgc 21
javascript 6-m.js 2178ms 17ms 118.9MB 8247ms 70ms node 24.4.0
java 2-m.java 2508ms 27ms 94.1MB 9400ms 37ms graal/jvm 17.0.8
nim 1.nim 3589ms 2.6ms 1.6MB 3580ms 0ms nim/clang 2.2.4
d 1.d 3594ms 2.3ms 4.0MB 3583ms 0ms ldc2 1.41.0
wasm 2.rs 3597ms 3.4ms 17.7MB 3583ms 0ms wasmtime 34.0.1
odin 1.odin 3600ms 2.2ms 2.9MB 3590ms 0ms odin 2024
nim 1.nim 3610ms 3.4ms 1.4MB 3600ms 0ms nim 2.2.4
d 1.d 3630ms 25ms 5.9MB 3620ms 0ms dmd 2.111.0
zig 1.zig 3686ms 3.7ms 1.4MB 3677ms 0ms zig 0.14.1
go 1.go 3702ms 11ms 5.6MB 3693ms 0ms go 1.24.5
chapel 1.chpl 3743ms 29ms 28.8MB 3740ms 0ms chpl 1.31.0
dart 1.dart 3748ms 2.0ms 6.4MB 3740ms 0ms dart/exe 3.8.1
crystal 1.cr 3757ms 13ms 4.5MB 3747ms 0ms crystal 1.16.3
haxe 1.hx 3902ms 1.6ms 3.4MB 3890ms 0ms haxe/hl/c 4.3.6
typescript 7.ts 4048ms 25ms 58.0MB 4033ms 7ms deno 2.4.1
lua 1.lua 4063ms 4.0ms 2.5MB 4053ms 0ms luajit 2.1.0-beta3
rust 2.rs 4270ms 7.1ms 2.0MB 4260ms 0ms rustc 1.88.0
ocaml 2.ml 4558ms 6.5ms 6.3MB 4543ms 0ms ocaml 5.3.0
csharp 3-m.cs 4724ms 142ms 25.7MB 18023ms 13ms mono 6.12.0
wasm 7.rs 4892ms 1.4ms 19.8MB 4880ms 0ms wasmtime 34.0.1
dart 2.dart 4934ms 6.4ms 6.4MB 4923ms 0ms dart/exe 3.8.1
go 1.go timeout 0.0ms 0.5MB 4990ms 0ms tinygo 0.38.0
haxe 1.hx timeout 0.0ms 6.9MB 4990ms 0ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 3.9MB 4990ms 0ms haxe/hl/jit 1.16.0
lua 1.lua timeout 0.0ms 2.5MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 10.0MB 19643ms 7ms perl 5.40.2
python 8.py timeout 0.0ms 14.8MB 33ms 10ms cpython 3.13.5
python 8.py timeout 0.0ms 94.7MB 680ms 60ms pypy 3.11.13
python 8.py timeout 0.0ms 14.2MB 33ms 13ms 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.5MB 4980ms 0ms ruby/yjit 3.4.4
ruby 4.rb timeout 0.0ms 436.6MB 5167ms 240ms truffleruby 24.2.1
v 1.v timeout 0.0ms 2.8MB 4990ms 0ms v/clang+gc 0.4.11
v 1.v timeout 0.0ms 1.6MB 4990ms 0ms v/clang 0.4.11

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 123ms 0.9ms 3.6MB 460ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 7-m.rs 127ms 0.2ms 2.3MB 470ms 3ms rustc 1.88.0
rust 8-m.rs 128ms 0.3ms 2.3MB 470ms 7ms rustc 1.90.0-nightly
cpp 8-m.cpp 128ms 0.7ms 2.0MB 480ms 0ms g++ 11.4.0
c 3-m.c 194ms 0.5ms 2.0MB 740ms 0ms gcc 15.1.0
cpp 6-im.cpp 238ms 0.5ms 2.1MB 913ms 0ms g++ 11.4.0
cpp 6-im.cpp 241ms 5.7ms 3.4MB 910ms 0ms clang++ 14.0.0-1ubuntu1.1
c 6-im.c 245ms 0.6ms 2.0MB 947ms 0ms gcc 15.1.0
rust 8.rs 250ms 0.4ms 2.1MB 240ms 0ms rustc 1.90.0-nightly
c 4-m.c 258ms 0.9ms 2.1MB 990ms 0ms gcc 15.1.0
c 6-im.c 260ms 1.0ms 3.3MB 990ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 287ms 0.9ms 3.3MB 1103ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 298ms 7.7ms 2.0MB 1147ms 0ms gcc 15.1.0
c 5-im.c 341ms 2.4ms 3.3MB 1313ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 468ms 9.9ms 3.3MB 1807ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 482ms 3.4ms 5.5MB 1833ms 0ms go 1.24.5
rust 7.rs 488ms 5.6ms 1.8MB 480ms 0ms rustc 1.88.0
chapel 1-m.chpl 492ms 2.1ms 28.9MB 953ms 0ms chpl 1.31.0
csharp 3-m.cs 494ms 15ms 10.5MB 1790ms 3ms dotnet/aot 9.0.302
rust 2-m.rs 521ms 0.5ms 2.1MB 2013ms 0ms rustc 1.88.0
csharp 3-m.cs 536ms 5.0ms 30.0MB 1870ms 10ms dotnet 9.0.302
java 2-m.java 602ms 2.3ms 47.5MB 2150ms 17ms openjdk 21
java 2-m.java 612ms 9.6ms 48.6MB 2137ms 20ms openjdk 23
javascript 6-m.js 654ms 3.1ms 119.7MB 2343ms 57ms node 24.4.0
java 2-m.java 737ms 8.8ms 45.3MB 2157ms 143ms openjdk/zgc 21
java 2-m.java 761ms 18ms 94.5MB 2673ms 37ms graal/jvm 17.0.8
nim 1.nim 899ms 0.6ms 1.5MB 890ms 0ms nim/clang 2.2.4
d 1.d 901ms 0.5ms 3.5MB 890ms 0ms ldc2 1.41.0
odin 1.odin 901ms 0.4ms 2.3MB 890ms 0ms odin 2024
nim 1.nim 904ms 3.3ms 1.3MB 893ms 0ms nim 2.2.4
wasm 2.rs 906ms 1.0ms 18.3MB 893ms 0ms wasmtime 34.0.1
go 1.go 915ms 1.8ms 3.5MB 907ms 0ms go 1.24.5
d 1.d 920ms 0.8ms 5.3MB 910ms 0ms dmd 2.111.0
zig 1.zig 925ms 2.6ms 1.3MB 917ms 0ms zig 0.14.1
dart 1.dart 939ms 0.1ms 6.3MB 930ms 0ms dart/exe 3.8.1
chapel 1.chpl 939ms 3.2ms 28.8MB 933ms 0ms chpl 1.31.0
crystal 1.cr 948ms 9.2ms 4.4MB 937ms 0ms crystal 1.16.3
haxe 1.hx 985ms 5.5ms 3.1MB 973ms 0ms haxe/hl/c 4.3.6
lua 1.lua 1029ms 1.6ms 2.4MB 1020ms 0ms luajit 2.1.0-beta3
typescript 7.ts 1037ms 3.5ms 57.6MB 1023ms 10ms deno 2.4.1
rust 2.rs 1069ms 2.0ms 1.9MB 1060ms 0ms rustc 1.88.0
ocaml 2.ml 1146ms 5.3ms 6.1MB 1137ms 0ms ocaml 5.3.0
csharp 3-m.cs 1202ms 28ms 25.4MB 4503ms 10ms mono 6.12.0
wasm 7.rs 1231ms 2.6ms 17.7MB 1217ms 0ms wasmtime 34.0.1
dart 2.dart 1238ms 0.9ms 6.4MB 1230ms 0ms dart/exe 3.8.1
v 1.v 1289ms 3.0ms 1.5MB 1280ms 0ms v/clang 0.4.11
v 1.v 1327ms 5.5ms 2.5MB 1317ms 0ms v/clang+gc 0.4.11
go 1.go 1397ms 0.6ms 0.4MB 1390ms 0ms tinygo 0.38.0
haxe 1.hx 2400ms 2.6ms 6.6MB 2390ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4848ms 12ms 433.6MB 5140ms 203ms truffleruby 24.2.1
haxe 1.hx timeout 0.0ms 3.9MB 4990ms 0ms haxe/hl/jit 1.16.0
lua 1.lua timeout 0.0ms 2.1MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 10.0MB 19530ms 3ms perl 5.40.2
python 8.py timeout 0.0ms 14.5MB 43ms 10ms cpython 3.13.5
python 8.py timeout 0.0ms 97.8MB 1170ms 147ms pypy 3.11.13
python 8.py timeout 0.0ms 13.6MB 57ms 20ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 12.8MB 4980ms 0ms ruby 3.4.4
ruby 4.rb timeout 0.0ms 13.5MB 4983ms 3ms ruby/yjit 3.4.4

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 36ms 0.6ms 2.3MB 110ms 0ms rustc 1.90.0-nightly
rust 7-m.rs 36ms 0.0ms 2.1MB 113ms 0ms rustc 1.88.0
cpp 8-m.cpp 39ms 0.4ms 2.0MB 130ms 0ms g++ 11.4.0
cpp 8-m.cpp 39ms 4.7ms 3.4MB 113ms 0ms clang++ 14.0.0-1ubuntu1.1
c 3-m.c 55ms 1.3ms 2.3MB 197ms 0ms gcc 15.1.0
cpp 6-im.cpp 64ms 0.4ms 3.4MB 227ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8.rs 65ms 0.6ms 1.9MB 60ms 0ms rustc 1.90.0-nightly
cpp 6-im.cpp 67ms 0.1ms 2.0MB 240ms 0ms g++ 11.4.0
c 4-m.c 72ms 0.1ms 2.0MB 260ms 0ms gcc 15.1.0
c 6-im.c 73ms 8.3ms 2.0MB 250ms 0ms gcc 15.1.0
c 6-im.c 75ms 7.4ms 3.3MB 257ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 78ms 0.6ms 3.3MB 280ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 81ms 1.3ms 2.0MB 293ms 0ms gcc 15.1.0
c 5-im.c 95ms 6.8ms 3.1MB 340ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 124ms 3.1ms 3.3MB 450ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 125ms 0.9ms 5.5MB 450ms 0ms go 1.24.5
rust 7.rs 127ms 1.7ms 1.8MB 120ms 0ms rustc 1.88.0
csharp 3-m.cs 128ms 0.7ms 10.3MB 450ms 3ms dotnet/aot 9.0.302
rust 2-m.rs 134ms 0.2ms 2.1MB 500ms 0ms rustc 1.88.0
chapel 1-m.chpl 138ms 9.9ms 28.9MB 250ms 3ms chpl 1.31.0
csharp 3-m.cs 179ms 3.7ms 28.5MB 503ms 10ms dotnet 9.0.302
nim 1.nim 226ms 0.2ms 1.5MB 220ms 0ms nim/clang 2.2.4
d 1.d 227ms 0.1ms 3.3MB 220ms 0ms ldc2 1.41.0
nim 1.nim 228ms 1.1ms 1.3MB 220ms 0ms nim 2.2.4
odin 1.odin 228ms 1.5ms 1.9MB 220ms 0ms odin 2024
d 1.d 233ms 1.1ms 4.9MB 220ms 0ms dmd 2.111.0
wasm 2.rs 234ms 0.9ms 17.8MB 220ms 0ms wasmtime 34.0.1
zig 1.zig 235ms 0.4ms 1.3MB 230ms 0ms zig 0.14.1
go 1.go 237ms 2.0ms 3.5MB 230ms 0ms go 1.24.5
crystal 1.cr 238ms 1.0ms 3.9MB 230ms 0ms crystal 1.16.3
dart 1.dart 240ms 2.1ms 6.3MB 230ms 0ms dart/exe 3.8.1
chapel 1.chpl 248ms 1.3ms 28.8MB 240ms 0ms chpl 1.31.0
haxe 1.hx 252ms 2.8ms 3.0MB 240ms 0ms haxe/hl/c 4.3.6
java 2-m.java 253ms 12ms 47.6MB 770ms 17ms openjdk 21
java 2-m.java 255ms 4.3ms 48.5MB 763ms 20ms openjdk 23
lua 1.lua 257ms 0.3ms 2.3MB 250ms 0ms luajit 2.1.0-beta3
rust 2.rs 270ms 1.7ms 1.9MB 260ms 0ms rustc 1.88.0
javascript 6-m.js 273ms 2.7ms 116.3MB 840ms 53ms node 24.4.0
typescript 7.ts 283ms 4.6ms 56.5MB 267ms 10ms deno 2.4.1
ocaml 2.ml 296ms 9.1ms 5.2MB 287ms 0ms ocaml 5.3.0
wasm 7.rs 314ms 0.5ms 18.1MB 300ms 0ms wasmtime 34.0.1
dart 2.dart 315ms 2.5ms 6.1MB 303ms 0ms dart/exe 3.8.1
v 1.v 325ms 1.8ms 1.5MB 317ms 0ms v/clang 0.4.11
java 2-m.java 328ms 5.5ms 93.3MB 1020ms 40ms graal/jvm 17.0.8
v 1.v 335ms 1.1ms 2.4MB 327ms 0ms v/clang+gc 0.4.11
go 1.go 351ms 0.4ms 0.4MB 340ms 0ms tinygo 0.38.0
csharp 3-m.cs 352ms 12ms 25.4MB 1193ms 10ms mono 6.12.0
java 2-m.java 381ms 12ms 45.7MB 770ms 147ms openjdk/zgc 21
haxe 1.hx 603ms 0.4ms 5.4MB 590ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1458ms 6.2ms 377.4MB 1793ms 157ms truffleruby 24.2.1
python 8-m.py 2134ms 4.9ms 94.1MB 7090ms 240ms pypy 3.11.13
haxe 1.hx 2305ms 1.8ms 3.7MB 2297ms 0ms haxe/hl/jit 1.16.0
perl 4-m.pl 3449ms 32ms 9.4MB 13333ms 3ms perl 5.40.2
lua 1.lua timeout 0.0ms 2.1MB 4990ms 0ms lua 5.4.7
python 8.py timeout 0.0ms 14.0MB 87ms 17ms cpython 3.13.5
python 8.py timeout 0.0ms 13.2MB 133ms 33ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 12.9MB 4980ms 3ms ruby 3.4.4
ruby 4.rb timeout 0.0ms 13.6MB 4980ms 3ms ruby/yjit 3.4.4