All spectral-norm problem benchmarks

Current benchmark data was generated on Mon Apr 14 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 470ms 3.9ms 3.4MB 1817ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 483ms 0.5ms 2.1MB 1883ms 0ms g++ 11.4.0
rust 8-m.rs 494ms 0.6ms 2.4MB 1910ms 3ms rustc 1.88.0-nightly
rust 7-m.rs 501ms 0.5ms 2.3MB 1937ms 3ms rustc 1.86.0
cpp 6-im.cpp 927ms 14ms 3.5MB 3627ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 930ms 9.8ms 2.1MB 3640ms 0ms g++ 11.4.0
c 6-im.c 963ms 12ms 2.0MB 3780ms 0ms gcc 14.2.0
c 4-m.c 965ms 1.5ms 2.0MB 3797ms 0ms gcc 14.2.0
rust 8.rs 993ms 1.6ms 2.4MB 980ms 0ms rustc 1.88.0-nightly
c 6-im.c 1008ms 5.5ms 3.3MB 3950ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1088ms 1.2ms 2.0MB 4290ms 0ms gcc 14.2.0
c 4-m.c 1122ms 3.5ms 3.3MB 4407ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1342ms 23ms 3.3MB 5257ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1834ms 11ms 3.1MB 7227ms 7ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1860ms 1.8ms 10.4MB 7253ms 10ms dotnet/aot 9.0.203
go 4-m.go 1911ms 19ms 5.4MB 7407ms 10ms go 1.24.2
chapel 1-m.chpl 1926ms 20ms 28.8MB 3823ms 0ms chpl 1.31.0
csharp 3-m.cs 1926ms 4.5ms 29.9MB 7353ms 23ms dotnet 9.0.203
rust 2-m.rs 1965ms 1.7ms 2.4MB 7730ms 7ms rustc 1.86.0
c 3-m.c 1969ms 3.6ms 2.0MB 7777ms 0ms gcc 14.2.0
java 2-m.java 1996ms 8.8ms 47.7MB 7623ms 27ms openjdk 21
java 2-m.java 2011ms 5.1ms 48.3MB 7643ms 27ms openjdk 23
rust 7.rs 2063ms 2.7ms 2.0MB 2053ms 0ms rustc 1.86.0
java 2-m.java 2140ms 20ms 45.4MB 7653ms 150ms openjdk/zgc 21
javascript 6-m.js 2192ms 18ms 115.7MB 8290ms 60ms node 23.11.0
java 2-m.java 2509ms 8.6ms 94.2MB 9357ms 43ms graal/jvm 17.0.8
nim 1.nim 3587ms 0.7ms 1.6MB 3580ms 0ms nim/clang 2.2.2
nim 1.nim 3592ms 2.0ms 1.4MB 3580ms 0ms nim 2.2.2
odin 1.odin 3596ms 1.3ms 2.9MB 3590ms 0ms odin 2024
d 1.d 3597ms 3.3ms 3.9MB 3583ms 0ms ldc2 1.40.1
wasm 2.rs 3601ms 2.7ms 16.9MB 3587ms 0ms wasmtime 31.0.0
d 1.d 3641ms 25ms 6.0MB 3633ms 0ms dmd 2.111.0
go 1.go 3650ms 0.9ms 5.6MB 3640ms 3ms go 1.24.2
zig 1.zig 3690ms 5.3ms 1.4MB 3680ms 0ms zig 0.14.0
chapel 1.chpl 3715ms 1.4ms 28.6MB 3710ms 0ms chpl 1.31.0
crystal 1.cr 3762ms 7.2ms 4.5MB 3753ms 0ms crystal 1.16.0
dart 1.dart 3773ms 11ms 6.4MB 3760ms 0ms dart/exe 3.7.2
haxe 1.hx 3955ms 12ms 3.3MB 3947ms 0ms haxe/hl/c 4.3.6
typescript 7.ts 4033ms 4.4ms 54.0MB 4017ms 10ms deno 2.2.9
lua 1.lua 4064ms 3.3ms 2.5MB 4053ms 0ms luajit 2.1.0-beta3
rust 2.rs 4219ms 3.4ms 2.1MB 4207ms 0ms rustc 1.86.0
dart 2.dart 4339ms 3.8ms 6.5MB 4330ms 0ms dart/exe 3.7.2
ocaml 2.ml 4555ms 3.1ms 6.3MB 4543ms 0ms ocaml 5.3.0
csharp 3-m.cs 4693ms 178ms 25.5MB 17890ms 10ms mono 6.12.0
wasm 7.rs 4897ms 8.1ms 16.8MB 4880ms 0ms wasmtime 31.0.0
go 1.go timeout 0.0ms 0.5MB 4990ms 0ms tinygo 0.37.0
haxe 1.hx timeout 0.0ms 6.9MB 4990ms 0ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 3.7MB 4990ms 0ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 2.4MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 9.8MB 19750ms 10ms perl 5.40.1
python 8.py timeout 0.0ms 14.8MB 40ms 7ms cpython 3.13.3
python 8.py timeout 0.0ms 96.8MB 803ms 73ms pypy 3.10.16
python 8.py timeout 0.0ms 14.1MB 33ms 10ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4983ms 3ms ruby 3.4.2
ruby 4.rb timeout 0.0ms 13.5MB 4983ms 7ms ruby/yjit 3.4.2
ruby 4.rb timeout 0.0ms 434.6MB 5167ms 233ms truffleruby 24.2.0
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 124ms 1.8ms 3.6MB 457ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 127ms 1.2ms 2.0MB 477ms 0ms g++ 11.4.0
rust 8-m.rs 128ms 0.1ms 2.4MB 463ms 0ms rustc 1.88.0-nightly
rust 7-m.rs 130ms 0.6ms 2.3MB 473ms 0ms rustc 1.86.0
cpp 6-im.cpp 237ms 0.4ms 3.4MB 903ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 239ms 0.7ms 2.0MB 917ms 0ms g++ 11.4.0
c 6-im.c 247ms 1.3ms 2.0MB 947ms 0ms gcc 14.2.0
rust 8.rs 251ms 1.0ms 2.3MB 240ms 0ms rustc 1.88.0-nightly
c 4-m.c 255ms 2.8ms 2.0MB 973ms 0ms gcc 14.2.0
c 6-im.c 269ms 18ms 3.3MB 1007ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 284ms 3.3ms 2.0MB 1090ms 0ms gcc 14.2.0
c 4-m.c 289ms 1.8ms 3.1MB 1103ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 341ms 1.0ms 3.3MB 1310ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 467ms 6.6ms 3.3MB 1810ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 481ms 0.8ms 5.5MB 1843ms 0ms go 1.24.2
chapel 1-m.chpl 492ms 0.1ms 28.9MB 960ms 0ms chpl 1.31.0
csharp 3-m.cs 494ms 33ms 10.5MB 1787ms 3ms dotnet/aot 9.0.203
rust 2-m.rs 495ms 0.3ms 2.1MB 1910ms 7ms rustc 1.86.0
c 3-m.c 497ms 0.7ms 2.0MB 1937ms 0ms gcc 14.2.0
rust 7.rs 521ms 1.8ms 1.8MB 510ms 0ms rustc 1.86.0
java 2-m.java 607ms 5.8ms 47.6MB 2140ms 23ms openjdk 21
java 2-m.java 621ms 7.5ms 48.9MB 2170ms 23ms openjdk 23
csharp 3-m.cs 657ms 23ms 30.0MB 1690ms 10ms dotnet 9.0.203
javascript 6-m.js 668ms 7.2ms 113.6MB 2350ms 57ms node 23.11.0
java 2-m.java 743ms 7.4ms 45.4MB 2183ms 143ms openjdk/zgc 21
java 2-m.java 769ms 3.8ms 95.1MB 2703ms 37ms graal/jvm 17.0.8
nim 1.nim 900ms 0.9ms 1.5MB 890ms 0ms nim/clang 2.2.2
d 1.d 902ms 0.9ms 3.5MB 890ms 0ms ldc2 1.40.1
nim 1.nim 902ms 2.5ms 1.3MB 890ms 0ms nim 2.2.2
odin 1.odin 903ms 1.6ms 2.3MB 890ms 0ms odin 2024
wasm 2.rs 908ms 1.2ms 16.9MB 897ms 0ms wasmtime 31.0.0
go 1.go 921ms 11ms 3.5MB 913ms 0ms go 1.24.2
zig 1.zig 923ms 2.2ms 1.3MB 913ms 0ms zig 0.14.0
d 1.d 928ms 5.7ms 5.3MB 917ms 0ms dmd 2.111.0
chapel 1.chpl 944ms 5.1ms 28.8MB 937ms 0ms chpl 1.31.0
dart 1.dart 945ms 0.3ms 6.3MB 933ms 0ms dart/exe 3.7.2
crystal 1.cr 950ms 9.5ms 4.3MB 940ms 0ms crystal 1.16.0
haxe 1.hx 1001ms 3.8ms 3.1MB 983ms 0ms haxe/hl/c 4.3.6
lua 1.lua 1022ms 2.6ms 2.4MB 1013ms 0ms luajit 2.1.0-beta3
typescript 7.ts 1037ms 4.4ms 54.7MB 1020ms 7ms deno 2.2.9
rust 2.rs 1059ms 1.2ms 1.9MB 1050ms 0ms rustc 1.86.0
dart 2.dart 1092ms 3.1ms 6.3MB 1080ms 0ms dart/exe 3.7.2
ocaml 2.ml 1144ms 2.0ms 6.1MB 1137ms 0ms ocaml 5.3.0
csharp 3-m.cs 1197ms 19ms 27.2MB 4503ms 13ms mono 6.12.0
wasm 7.rs 1232ms 2.1ms 16.8MB 1220ms 0ms wasmtime 31.0.0
v 1.v 1284ms 0.9ms 1.5MB 1277ms 0ms v/clang 0.4.10
v 1.v 1299ms 2.5ms 2.5MB 1290ms 0ms v/clang+gc 0.4.10
go 1.go 1397ms 1.5ms 0.5MB 1390ms 0ms tinygo 0.37.0
haxe 1.hx 2398ms 1.4ms 6.6MB 2387ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4868ms 23ms 439.6MB 5153ms 217ms truffleruby 24.2.0
haxe 1.hx timeout 0.0ms 3.9MB 4987ms 0ms haxe/hl/jit 1.15.0
lua 1.lua timeout 0.0ms 2.3MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 10.1MB 19607ms 7ms perl 5.40.1
python 8.py timeout 0.0ms 14.6MB 50ms 10ms cpython 3.13.3
python 8.py timeout 0.0ms 96.2MB 1303ms 180ms pypy 3.10.16
python 8.py timeout 0.0ms 13.7MB 57ms 20ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4987ms 3ms ruby 3.4.2
ruby 4.rb timeout 0.0ms 13.5MB 4980ms 3ms ruby/yjit 3.4.2

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 35ms 0.4ms 2.1MB 110ms 0ms rustc 1.88.0-nightly
rust 7-m.rs 36ms 0.2ms 2.1MB 107ms 3ms rustc 1.86.0
cpp 8-m.cpp 37ms 1.6ms 3.4MB 110ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 39ms 0.2ms 2.0MB 130ms 0ms g++ 11.4.0
cpp 6-im.cpp 65ms 0.1ms 3.5MB 227ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8.rs 65ms 1.0ms 2.0MB 57ms 0ms rustc 1.88.0-nightly
cpp 6-im.cpp 68ms 0.6ms 2.0MB 243ms 0ms g++ 11.4.0
c 6-im.c 69ms 0.2ms 2.0MB 250ms 0ms gcc 14.2.0
c 4-m.c 71ms 0.4ms 2.0MB 253ms 0ms gcc 14.2.0
c 6-im.c 71ms 1.3ms 3.3MB 250ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 78ms 0.9ms 3.1MB 280ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 79ms 1.7ms 2.0MB 283ms 0ms gcc 14.2.0
c 5-im.c 91ms 0.7ms 3.0MB 330ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 122ms 1.0ms 3.3MB 450ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 126ms 0.6ms 5.5MB 450ms 0ms go 1.24.2
rust 2-m.rs 128ms 0.5ms 2.1MB 470ms 0ms rustc 1.86.0
csharp 3-m.cs 128ms 1.5ms 10.4MB 450ms 0ms dotnet/aot 9.0.203
c 3-m.c 131ms 0.8ms 2.0MB 490ms 0ms gcc 14.2.0
rust 7.rs 133ms 2.1ms 1.9MB 127ms 0ms rustc 1.86.0
chapel 1-m.chpl 134ms 1.9ms 28.8MB 247ms 0ms chpl 1.31.0
nim 1.nim 227ms 0.4ms 1.5MB 220ms 0ms nim/clang 2.2.2
nim 1.nim 227ms 1.0ms 1.3MB 220ms 0ms nim 2.2.2
odin 1.odin 229ms 1.8ms 1.9MB 220ms 0ms odin 2024
d 1.d 230ms 0.6ms 3.0MB 220ms 0ms ldc2 1.40.1
d 1.d 234ms 2.3ms 5.0MB 223ms 0ms dmd 2.111.0
zig 1.zig 234ms 1.1ms 1.3MB 230ms 0ms zig 0.14.0
go 1.go 235ms 5.5ms 3.5MB 223ms 0ms go 1.24.2
wasm 2.rs 235ms 2.0ms 16.7MB 220ms 0ms wasmtime 31.0.0
crystal 1.cr 240ms 2.6ms 3.8MB 233ms 0ms crystal 1.16.0
dart 1.dart 241ms 2.2ms 6.3MB 230ms 0ms dart/exe 3.7.2
csharp 3-m.cs 248ms 8.5ms 28.6MB 463ms 10ms dotnet 9.0.203
java 2-m.java 248ms 3.4ms 47.9MB 757ms 17ms openjdk 21
chapel 1.chpl 249ms 4.1ms 28.8MB 247ms 0ms chpl 1.31.0
haxe 1.hx 257ms 1.4ms 3.0MB 250ms 0ms haxe/hl/c 4.3.6
lua 1.lua 260ms 3.0ms 2.3MB 250ms 0ms luajit 2.1.0-beta3
rust 2.rs 267ms 1.3ms 1.9MB 257ms 0ms rustc 1.86.0
java 2-m.java 270ms 8.8ms 48.8MB 790ms 27ms openjdk 23
javascript 6-m.js 277ms 3.0ms 109.7MB 853ms 53ms node 23.11.0
dart 2.dart 279ms 3.2ms 6.3MB 270ms 0ms dart/exe 3.7.2
typescript 7.ts 284ms 2.0ms 54.4MB 270ms 10ms deno 2.2.9
ocaml 2.ml 294ms 3.8ms 5.2MB 287ms 0ms ocaml 5.3.0
wasm 7.rs 315ms 1.3ms 17.3MB 300ms 0ms wasmtime 31.0.0
java 2-m.java 321ms 25ms 94.1MB 983ms 40ms graal/jvm 17.0.8
v 1.v 325ms 1.3ms 1.5MB 320ms 0ms v/clang 0.4.10
v 1.v 326ms 0.2ms 2.5MB 320ms 0ms v/clang+gc 0.4.10
csharp 3-m.cs 352ms 13ms 24.8MB 1190ms 10ms mono 6.12.0
go 1.go 352ms 1.2ms 0.4MB 340ms 0ms tinygo 0.37.0
java 2-m.java 400ms 6.1ms 45.6MB 820ms 153ms openjdk/zgc 21
haxe 1.hx 603ms 0.6ms 5.4MB 590ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1435ms 5.1ms 375.6MB 1770ms 137ms truffleruby 24.2.0
python 8-m.py 1955ms 10ms 93.2MB 6330ms 253ms pypy 3.10.16
haxe 1.hx 2229ms 148ms 3.6MB 2217ms 0ms haxe/hl/jit 1.15.0
perl 4-m.pl 3406ms 24ms 9.6MB 13197ms 10ms perl 5.40.1
lua 1.lua timeout 0.0ms 2.0MB 4990ms 0ms lua 5.4.7
python 8.py timeout 0.0ms 14.3MB 90ms 13ms cpython 3.13.3
python 8.py timeout 0.0ms 13.1MB 127ms 37ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4983ms 3ms ruby 3.4.2
ruby 4.rb timeout 0.0ms 13.8MB 4980ms 3ms ruby/yjit 3.4.2