All spectral-norm problem benchmarks

Current benchmark data was generated on Tue Mar 25 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 474ms 9.5ms 3.5MB 1827ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 484ms 1.5ms 2.1MB 1883ms 0ms g++ 11.4.0
rust 8-m.rs 494ms 0.3ms 2.5MB 1913ms 0ms rustc 1.87.0-nightly
rust 7-m.rs 501ms 1.3ms 2.3MB 1937ms 7ms rustc 1.85.1
cpp 6-im.cpp 927ms 9.1ms 2.1MB 3633ms 0ms g++ 11.4.0
cpp 6-im.cpp 928ms 16ms 3.6MB 3630ms 0ms clang++ 14.0.0-1ubuntu1.1
c 6-im.c 958ms 2.2ms 2.0MB 3770ms 0ms gcc 14.2.0
c 4-m.c 968ms 2.7ms 2.0MB 3810ms 0ms gcc 14.2.0
rust 8.rs 994ms 1.8ms 2.4MB 980ms 0ms rustc 1.87.0-nightly
c 6-im.c 1011ms 12ms 3.3MB 3953ms 7ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1099ms 17ms 2.0MB 4293ms 3ms gcc 14.2.0
c 4-m.c 1132ms 16ms 3.1MB 4430ms 7ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1333ms 5.5ms 3.3MB 5243ms 3ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1845ms 24ms 3.3MB 7243ms 10ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1878ms 31ms 10.4MB 7237ms 7ms dotnet/aot 9.0.202
go 4-m.go 1909ms 14ms 5.4MB 7403ms 3ms go 1.24.1
chapel 1-m.chpl 1928ms 19ms 28.8MB 3830ms 0ms chpl 1.31.0
rust 2-m.rs 1967ms 0.5ms 2.3MB 7720ms 7ms rustc 1.85.1
c 3-m.c 1975ms 10ms 2.3MB 7780ms 7ms gcc 14.2.0
java 2-m.java 1990ms 4.9ms 48.3MB 7590ms 23ms openjdk 21
csharp 3-m.cs 2004ms 130ms 29.9MB 7250ms 13ms dotnet 9.0.202
java 2-m.java 2007ms 4.6ms 48.8MB 7640ms 23ms openjdk 23
rust 7.rs 2112ms 8.4ms 2.0MB 2103ms 0ms rustc 1.85.1
java 2-m.java 2118ms 9.6ms 45.4MB 7597ms 150ms openjdk/zgc 21
javascript 6-m.js 2183ms 18ms 114.0MB 8280ms 57ms node 23.10.0
java 2-m.java 2519ms 21ms 94.5MB 9413ms 47ms graal/jvm 17.0.8
nim 1.nim 3592ms 5.8ms 1.6MB 3583ms 0ms nim/clang 2.2.2
d 1.d 3600ms 4.4ms 3.9MB 3587ms 0ms ldc2 1.40.1
odin 1.odin 3602ms 5.1ms 2.9MB 3593ms 0ms odin 2024
nim 1.nim 3603ms 11ms 1.4MB 3593ms 0ms nim 2.2.2
wasm 2.rs 3604ms 8.1ms 16.9MB 3590ms 0ms wasmtime 31.0.0
d 1.d 3654ms 31ms 5.9MB 3643ms 0ms dmd 2.110.0
go 1.go 3659ms 17ms 5.5MB 3650ms 3ms go 1.24.1
zig 1.zig 3697ms 9.3ms 1.4MB 3690ms 0ms zig 0.14.0
chapel 1.chpl 3725ms 17ms 28.8MB 3720ms 0ms chpl 1.31.0
dart 1.dart 3784ms 4.2ms 6.4MB 3773ms 0ms dart/exe 3.7.2
crystal 1.cr 3792ms 11ms 4.5MB 3783ms 0ms crystal 1.15.1
haxe 1.hx 3940ms 1.3ms 3.3MB 3927ms 0ms haxe/hl/c 4.3.6
lua 1.lua 4066ms 6.0ms 2.5MB 4057ms 0ms luajit 2.1.0-beta3
typescript 7.ts 4076ms 28ms 54.3MB 4060ms 7ms deno 2.2.5
rust 2.rs 4212ms 3.9ms 2.0MB 4203ms 0ms rustc 1.85.1
dart 2.dart 4350ms 3.2ms 6.4MB 4340ms 0ms dart/exe 3.7.2
ocaml 2.ml 4585ms 15ms 6.4MB 4573ms 0ms ocaml 5.3.0
csharp 3-m.cs 4769ms 182ms 27.6MB 18443ms 23ms mono 6.12.0
wasm 7.rs 4908ms 6.3ms 17.4MB 4897ms 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 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.4MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 9.9MB 19793ms 10ms perl 5.40.1
python 8.py timeout 0.0ms 14.8MB 30ms 10ms cpython 3.13.2
python 8.py timeout 0.0ms 95.8MB 803ms 87ms pypy 3.10.16
python 8.py timeout 0.0ms 14.2MB 40ms 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 3ms ruby/yjit 3.4.2
ruby 4.rb timeout 0.0ms 454.8MB 5133ms 270ms 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 0.6ms 3.4MB 460ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8-m.rs 128ms 0.3ms 2.3MB 467ms 3ms rustc 1.87.0-nightly
rust 7-m.rs 129ms 0.0ms 2.1MB 477ms 0ms rustc 1.85.1
cpp 8-m.cpp 130ms 0.6ms 2.0MB 490ms 0ms g++ 11.4.0
cpp 6-im.cpp 238ms 0.5ms 3.4MB 903ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 240ms 2.0ms 2.1MB 917ms 0ms g++ 11.4.0
c 6-im.c 247ms 0.9ms 2.0MB 943ms 0ms gcc 14.2.0
rust 8.rs 251ms 0.9ms 2.1MB 240ms 0ms rustc 1.87.0-nightly
c 4-m.c 252ms 1.3ms 2.1MB 967ms 0ms gcc 14.2.0
c 6-im.c 263ms 2.8ms 3.3MB 993ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 287ms 8.2ms 2.0MB 1100ms 0ms gcc 14.2.0
c 4-m.c 289ms 1.7ms 3.3MB 1110ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 342ms 1.1ms 3.3MB 1313ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 476ms 2.3ms 10.3MB 1813ms 3ms dotnet/aot 9.0.202
go 4-m.go 481ms 0.7ms 5.5MB 1840ms 0ms go 1.24.1
chapel 1-m.chpl 492ms 0.6ms 28.5MB 957ms 0ms chpl 1.31.0
c 3-m.c 496ms 43ms 3.3MB 1873ms 7ms clang 14.0.0-1ubuntu1.1
c 3-m.c 497ms 0.9ms 2.0MB 1940ms 0ms gcc 14.2.0
rust 2-m.rs 499ms 4.2ms 2.1MB 1907ms 0ms rustc 1.85.1
csharp 3-m.cs 532ms 2.2ms 29.9MB 1877ms 13ms dotnet 9.0.202
rust 7.rs 535ms 4.9ms 1.9MB 523ms 0ms rustc 1.85.1
java 2-m.java 603ms 2.9ms 47.6MB 2127ms 23ms openjdk 21
java 2-m.java 618ms 4.6ms 49.0MB 2187ms 27ms openjdk 23
javascript 6-m.js 654ms 3.0ms 114.4MB 2323ms 53ms node 23.10.0
java 2-m.java 737ms 4.9ms 45.5MB 2160ms 147ms openjdk/zgc 21
java 2-m.java 775ms 11ms 95.1MB 2713ms 43ms graal/jvm 17.0.8
d 1.d 901ms 1.0ms 3.8MB 890ms 0ms ldc2 1.40.1
nim 1.nim 901ms 1.0ms 1.8MB 890ms 0ms nim 2.2.2
nim 1.nim 902ms 2.9ms 1.5MB 890ms 0ms nim/clang 2.2.2
odin 1.odin 903ms 2.6ms 2.3MB 893ms 0ms odin 2024
wasm 2.rs 907ms 1.1ms 16.7MB 893ms 0ms wasmtime 31.0.0
go 1.go 916ms 2.1ms 3.5MB 907ms 0ms go 1.24.1
d 1.d 922ms 0.8ms 7.6MB 910ms 0ms dmd 2.110.0
zig 1.zig 925ms 2.3ms 1.3MB 917ms 0ms zig 0.14.0
chapel 1.chpl 940ms 1.1ms 28.8MB 933ms 0ms chpl 1.31.0
dart 1.dart 946ms 0.6ms 6.1MB 933ms 0ms dart/exe 3.7.2
crystal 1.cr 952ms 1.2ms 4.3MB 940ms 0ms crystal 1.15.1
haxe 1.hx 1002ms 14ms 3.2MB 990ms 0ms haxe/hl/c 4.3.6
lua 1.lua 1030ms 16ms 2.4MB 1020ms 0ms luajit 2.1.0-beta3
typescript 7.ts 1041ms 2.8ms 56.3MB 1023ms 13ms deno 2.2.5
rust 2.rs 1057ms 5.0ms 2.0MB 1043ms 0ms rustc 1.85.1
dart 2.dart 1099ms 6.1ms 6.3MB 1087ms 0ms dart/exe 3.7.2
ocaml 2.ml 1148ms 6.8ms 6.1MB 1140ms 0ms ocaml 5.3.0
wasm 7.rs 1232ms 0.2ms 16.9MB 1220ms 0ms wasmtime 31.0.0
csharp 3-m.cs 1261ms 106ms 27.4MB 4513ms 7ms mono 6.12.0
v 1.v 1286ms 3.9ms 1.5MB 1277ms 0ms v/clang 0.4.10
v 1.v 1332ms 3.9ms 2.5MB 1323ms 0ms v/clang+gc 0.4.10
go 1.go 1397ms 0.6ms 0.5MB 1390ms 0ms tinygo 0.37.0
haxe 1.hx 2399ms 0.3ms 6.5MB 2390ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4888ms 24ms 442.4MB 5167ms 227ms truffleruby 24.2.0
haxe 1.hx timeout 0.0ms 3.9MB 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.1MB 19593ms 10ms perl 5.40.1
python 8.py timeout 0.0ms 14.3MB 47ms 13ms cpython 3.13.2
python 8.py timeout 0.0ms 96.3MB 1323ms 190ms pypy 3.10.16
python 8.py timeout 0.0ms 13.6MB 63ms 20ms 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 4980ms 0ms 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 36ms 0.2ms 2.3MB 107ms 0ms rustc 1.87.0-nightly
rust 7-m.rs 37ms 0.8ms 2.1MB 113ms 0ms rustc 1.85.1
cpp 8-m.cpp 40ms 0.2ms 2.0MB 130ms 0ms g++ 11.4.0
cpp 8-m.cpp 41ms 9.9ms 3.4MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 65ms 0.7ms 3.4MB 230ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8.rs 65ms 0.4ms 2.0MB 60ms 0ms rustc 1.87.0-nightly
cpp 6-im.cpp 67ms 0.4ms 2.1MB 240ms 0ms g++ 11.4.0
c 4-m.c 71ms 0.4ms 2.0MB 257ms 0ms gcc 14.2.0
c 6-im.c 73ms 4.0ms 3.3MB 253ms 0ms clang 14.0.0-1ubuntu1.1
c 6-im.c 75ms 7.5ms 2.0MB 263ms 0ms gcc 14.2.0
c 5-im.c 79ms 1.5ms 2.0MB 280ms 0ms gcc 14.2.0
c 4-m.c 79ms 0.8ms 3.1MB 280ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 92ms 1.5ms 3.1MB 327ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 125ms 0.9ms 5.6MB 457ms 0ms go 1.24.1
c 3-m.c 126ms 3.1ms 3.1MB 453ms 0ms clang 14.0.0-1ubuntu1.1
rust 2-m.rs 128ms 0.5ms 2.0MB 470ms 0ms rustc 1.85.1
csharp 3-m.cs 128ms 0.9ms 10.3MB 447ms 3ms dotnet/aot 9.0.202
c 3-m.c 131ms 1.1ms 2.0MB 493ms 0ms gcc 14.2.0
chapel 1-m.chpl 135ms 1.0ms 28.9MB 240ms 0ms chpl 1.31.0
rust 7.rs 136ms 2.4ms 1.9MB 130ms 0ms rustc 1.85.1
csharp 3-m.cs 178ms 0.4ms 28.5MB 500ms 13ms dotnet 9.0.202
nim 1.nim 227ms 0.4ms 1.5MB 220ms 0ms nim/clang 2.2.2
odin 1.odin 227ms 0.1ms 1.9MB 220ms 0ms odin 2024
d 1.d 228ms 0.3ms 3.0MB 220ms 0ms ldc2 1.40.1
nim 1.nim 228ms 0.8ms 1.3MB 220ms 0ms nim 2.2.2
go 1.go 232ms 1.7ms 3.5MB 223ms 0ms go 1.24.1
d 1.d 233ms 1.2ms 5.0MB 220ms 0ms dmd 2.110.0
zig 1.zig 234ms 0.2ms 1.3MB 230ms 0ms zig 0.14.0
wasm 2.rs 235ms 0.3ms 17.0MB 220ms 0ms wasmtime 31.0.0
dart 1.dart 242ms 2.3ms 6.3MB 230ms 0ms dart/exe 3.7.2
chapel 1.chpl 247ms 2.4ms 28.8MB 240ms 0ms chpl 1.31.0
crystal 1.cr 248ms 11ms 3.8MB 237ms 0ms crystal 1.15.1
haxe 1.hx 254ms 3.0ms 3.2MB 243ms 0ms haxe/hl/c 4.3.6
java 2-m.java 255ms 0.5ms 47.6MB 760ms 23ms openjdk 21
java 2-m.java 259ms 11ms 48.6MB 767ms 20ms openjdk 23
lua 1.lua 261ms 2.6ms 2.3MB 250ms 0ms luajit 2.1.0-beta3
rust 2.rs 267ms 1.3ms 2.0MB 260ms 0ms rustc 1.85.1
dart 2.dart 278ms 0.5ms 6.1MB 270ms 0ms dart/exe 3.7.2
javascript 6-m.js 278ms 5.0ms 111.3MB 840ms 50ms node 23.10.0
typescript 7.ts 286ms 1.6ms 53.3MB 270ms 10ms deno 2.2.5
ocaml 2.ml 296ms 5.1ms 5.2MB 287ms 0ms ocaml 5.3.0
java 2-m.java 305ms 26ms 96.4MB 910ms 50ms graal/jvm 17.0.8
wasm 7.rs 316ms 1.5ms 16.7MB 300ms 0ms wasmtime 31.0.0
v 1.v 325ms 1.8ms 1.5MB 317ms 0ms v/clang 0.4.10
v 1.v 336ms 4.5ms 2.5MB 323ms 0ms v/clang+gc 0.4.10
go 1.go 351ms 0.3ms 0.4MB 340ms 0ms tinygo 0.37.0
csharp 3-m.cs 352ms 1.3ms 25.5MB 1173ms 10ms mono 6.12.0
java 2-m.java 384ms 3.8ms 45.7MB 763ms 150ms openjdk/zgc 21
haxe 1.hx 603ms 0.6ms 5.3MB 590ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1433ms 18ms 370.1MB 1793ms 130ms truffleruby 24.2.0
python 8-m.py 1978ms 5.9ms 93.1MB 6363ms 257ms pypy 3.10.16
haxe 1.hx 2314ms 14ms 3.8MB 2303ms 0ms haxe/hl/jit 1.15.0
perl 4-m.pl 3419ms 23ms 9.5MB 13247ms 10ms perl 5.40.1
lua 1.lua timeout 0.0ms 2.1MB 4990ms 0ms lua 5.4.7
python 8.py timeout 0.0ms 14.0MB 90ms 17ms cpython 3.13.2
python 8.py timeout 0.0ms 13.2MB 130ms 40ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4980ms 7ms ruby 3.4.2
ruby 4.rb timeout 0.0ms 13.8MB 4980ms 7ms ruby/yjit 3.4.2