All spectral-norm problem benchmarks

Current benchmark data was generated on Mon May 19 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 2.9ms 3.4MB 1823ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 483ms 0.4ms 2.1MB 1880ms 0ms g++ 11.4.0
rust 8-m.rs 493ms 0.6ms 2.5MB 1910ms 0ms rustc 1.89.0-nightly
rust 7-m.rs 493ms 0.7ms 2.1MB 1910ms 0ms rustc 1.87.0
c 3-m.c 736ms 1.0ms 2.3MB 2893ms 0ms gcc 15.1.0
cpp 6-im.cpp 925ms 8.4ms 2.3MB 3630ms 0ms g++ 11.4.0
cpp 6-im.cpp 926ms 13ms 3.4MB 3623ms 0ms clang++ 14.0.0-1ubuntu1.1
c 6-im.c 952ms 1.7ms 2.0MB 3753ms 0ms gcc 15.1.0
c 4-m.c 989ms 1.3ms 2.1MB 3890ms 0ms gcc 15.1.0
rust 8.rs 993ms 1.0ms 2.3MB 983ms 0ms rustc 1.89.0-nightly
c 6-im.c 1001ms 0.7ms 3.1MB 3933ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 1118ms 0.5ms 3.3MB 4400ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1174ms 26ms 2.3MB 4553ms 0ms gcc 15.1.0
c 5-im.c 1341ms 14ms 3.3MB 5260ms 3ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1846ms 16ms 3.3MB 7243ms 10ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1877ms 33ms 10.4MB 7243ms 3ms dotnet/aot 9.0.300
go 4-m.go 1909ms 16ms 5.6MB 7410ms 7ms go 1.24.3
chapel 1-m.chpl 1912ms 1.5ms 28.9MB 3800ms 0ms chpl 1.31.0
rust 7.rs 1961ms 4.4ms 1.9MB 1950ms 0ms rustc 1.87.0
java 2-m.java 1987ms 7.3ms 47.4MB 7587ms 27ms openjdk 21
csharp 3-m.cs 1988ms 108ms 30.3MB 7253ms 20ms dotnet 9.0.300
java 2-m.java 2001ms 11ms 48.8MB 7653ms 27ms openjdk 23
rust 2-m.rs 2070ms 3.8ms 2.3MB 8130ms 10ms rustc 1.87.0
java 2-m.java 2120ms 12ms 45.2MB 7633ms 150ms openjdk/zgc 21
javascript 6-m.js 2184ms 8.5ms 118.8MB 8193ms 60ms node 24.0.2
java 2-m.java 2521ms 48ms 94.9MB 9407ms 50ms graal/jvm 17.0.8
nim 1.nim 3587ms 2.7ms 1.6MB 3580ms 0ms nim/clang 2.2.4
d 1.d 3596ms 3.2ms 3.9MB 3583ms 0ms ldc2 1.40.1
odin 1.odin 3596ms 2.6ms 2.9MB 3587ms 0ms odin 2024
nim 1.nim 3610ms 12ms 1.4MB 3597ms 0ms nim 2.2.4
d 1.d 3660ms 2.7ms 6.0MB 3650ms 0ms dmd 2.111.0
go 1.go 3665ms 9.0ms 5.6MB 3663ms 0ms go 1.24.3
zig 1.zig 3690ms 7.6ms 1.4MB 3680ms 0ms zig 0.14.0
wasm 2.rs 3700ms 13ms 17.7MB 3687ms 0ms wasmtime 32.0.0
chapel 1.chpl 3730ms 9.2ms 28.8MB 3720ms 0ms chpl 1.31.0
crystal 1.cr 3761ms 7.0ms 4.5MB 3750ms 0ms crystal 1.16.3
dart 1.dart 3808ms 27ms 6.5MB 3793ms 0ms dart/exe 3.7.3
haxe 1.hx 3900ms 6.3ms 3.4MB 3887ms 0ms haxe/hl/c 4.3.6
typescript 7.ts 4049ms 24ms 56.4MB 4033ms 10ms deno 2.3.3
lua 1.lua 4074ms 26ms 2.5MB 4067ms 0ms luajit 2.1.0-beta3
rust 2.rs 4266ms 1.8ms 2.1MB 4257ms 0ms rustc 1.87.0
dart 2.dart 4346ms 9.0ms 6.4MB 4337ms 0ms dart/exe 3.7.3
ocaml 2.ml 4567ms 9.8ms 6.3MB 4560ms 0ms ocaml 5.3.0
csharp 3-m.cs 4713ms 116ms 24.7MB 18030ms 17ms mono 6.12.0
wasm 7.rs 4896ms 4.6ms 17.6MB 4883ms 0ms wasmtime 32.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 19797ms 10ms perl 5.40.2
python 8.py timeout 0.0ms 14.9MB 37ms 10ms cpython 3.13.3
python 8.py timeout 0.0ms 95.9MB 810ms 90ms pypy 3.10.16
python 8.py timeout 0.0ms 14.1MB 30ms 13ms 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.5MB 4980ms 3ms ruby/yjit 3.4.4
ruby 4.rb timeout 0.0ms 442.8MB 5163ms 247ms 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 124ms 0.4ms 3.4MB 460ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8-m.rs 127ms 0.5ms 2.3MB 467ms 3ms rustc 1.89.0-nightly
rust 7-m.rs 128ms 0.3ms 2.1MB 467ms 3ms rustc 1.87.0
cpp 8-m.cpp 128ms 1.3ms 2.0MB 477ms 0ms g++ 11.4.0
c 3-m.c 195ms 2.3ms 2.0MB 737ms 0ms gcc 15.1.0
cpp 6-im.cpp 238ms 1.4ms 3.4MB 907ms 0ms clang++ 14.0.0-1ubuntu1.1
c 6-im.c 246ms 1.4ms 2.0MB 947ms 0ms gcc 15.1.0
rust 8.rs 251ms 0.6ms 2.0MB 240ms 0ms rustc 1.89.0-nightly
cpp 6-im.cpp 253ms 24ms 2.0MB 953ms 0ms g++ 11.4.0
c 6-im.c 258ms 0.3ms 3.4MB 987ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 259ms 0.8ms 2.1MB 993ms 0ms gcc 15.1.0
c 4-m.c 289ms 1.6ms 3.3MB 1107ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 298ms 7.8ms 2.0MB 1143ms 0ms gcc 15.1.0
c 5-im.c 340ms 1.4ms 3.3MB 1310ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 466ms 4.2ms 3.4MB 1800ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 475ms 1.5ms 10.5MB 1810ms 0ms dotnet/aot 9.0.300
go 4-m.go 480ms 0.9ms 5.5MB 1843ms 0ms go 1.24.3
chapel 1-m.chpl 492ms 1.7ms 28.8MB 960ms 0ms chpl 1.31.0
rust 7.rs 493ms 1.4ms 1.8MB 480ms 0ms rustc 1.87.0
rust 2-m.rs 521ms 0.9ms 2.3MB 2030ms 0ms rustc 1.87.0
csharp 3-m.cs 535ms 3.2ms 30.1MB 1887ms 10ms dotnet 9.0.300
java 2-m.java 605ms 4.2ms 47.7MB 2140ms 20ms openjdk 21
java 2-m.java 617ms 2.8ms 48.8MB 2187ms 20ms openjdk 23
javascript 6-m.js 663ms 3.7ms 117.6MB 2293ms 53ms node 24.0.2
java 2-m.java 732ms 8.1ms 45.3MB 2153ms 147ms openjdk/zgc 21
java 2-m.java 776ms 4.7ms 95.1MB 2737ms 43ms graal/jvm 17.0.8
nim 1.nim 899ms 0.8ms 1.5MB 890ms 0ms nim/clang 2.2.4
odin 1.odin 900ms 0.2ms 2.3MB 890ms 0ms odin 2024
d 1.d 902ms 2.2ms 3.5MB 890ms 0ms ldc2 1.40.1
nim 1.nim 902ms 1.4ms 1.3MB 893ms 0ms nim 2.2.4
go 1.go 915ms 1.2ms 3.5MB 910ms 0ms go 1.24.3
zig 1.zig 923ms 1.2ms 1.3MB 910ms 0ms zig 0.14.0
d 1.d 926ms 1.0ms 7.9MB 917ms 0ms dmd 2.111.0
wasm 2.rs 932ms 4.9ms 17.6MB 920ms 0ms wasmtime 32.0.0
chapel 1.chpl 940ms 3.7ms 28.8MB 933ms 0ms chpl 1.31.0
dart 1.dart 946ms 2.6ms 6.3MB 933ms 0ms dart/exe 3.7.3
crystal 1.cr 948ms 1.7ms 4.4MB 940ms 0ms crystal 1.16.3
haxe 1.hx 983ms 3.9ms 3.3MB 970ms 0ms haxe/hl/c 4.3.6
lua 1.lua 1025ms 6.0ms 2.4MB 1013ms 0ms luajit 2.1.0-beta3
typescript 7.ts 1040ms 10ms 56.2MB 1027ms 10ms deno 2.3.3
rust 2.rs 1069ms 4.4ms 2.0MB 1063ms 0ms rustc 1.87.0
dart 2.dart 1093ms 4.1ms 6.3MB 1083ms 0ms dart/exe 3.7.3
ocaml 2.ml 1147ms 4.8ms 6.1MB 1137ms 0ms ocaml 5.3.0
wasm 7.rs 1230ms 0.5ms 18.1MB 1220ms 0ms wasmtime 32.0.0
csharp 3-m.cs 1236ms 42ms 25.8MB 4650ms 7ms mono 6.12.0
v 1.v 1285ms 1.0ms 1.5MB 1280ms 0ms v/clang 0.4.10
v 1.v 1299ms 3.2ms 2.5MB 1290ms 0ms v/clang+gc 0.4.10
go 1.go 1396ms 0.6ms 0.5MB 1390ms 0ms tinygo 0.37.0
haxe 1.hx 2400ms 2.4ms 6.5MB 2387ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4839ms 22ms 427.6MB 5120ms 207ms 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.3MB 19513ms 7ms perl 5.40.2
python 8.py timeout 0.0ms 14.6MB 47ms 10ms cpython 3.13.3
python 8.py timeout 0.0ms 96.4MB 1343ms 187ms pypy 3.10.16
python 8.py timeout 0.0ms 13.6MB 57ms 10ms 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.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 35ms 0.1ms 2.1MB 107ms 3ms rustc 1.89.0-nightly
rust 7-m.rs 36ms 0.6ms 2.0MB 113ms 0ms rustc 1.87.0
cpp 8-m.cpp 40ms 0.5ms 2.0MB 133ms 0ms g++ 11.4.0
cpp 8-m.cpp 41ms 7.1ms 3.5MB 120ms 0ms clang++ 14.0.0-1ubuntu1.1
c 3-m.c 57ms 1.9ms 2.3MB 193ms 0ms gcc 15.1.0
cpp 6-im.cpp 65ms 0.5ms 3.5MB 223ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8.rs 65ms 0.9ms 1.9MB 60ms 0ms rustc 1.89.0-nightly
cpp 6-im.cpp 68ms 1.0ms 2.0MB 243ms 0ms g++ 11.4.0
c 6-im.c 72ms 3.1ms 3.4MB 250ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 73ms 0.8ms 2.0MB 260ms 0ms gcc 15.1.0
c 6-im.c 73ms 7.6ms 2.0MB 260ms 0ms gcc 15.1.0
c 4-m.c 78ms 1.0ms 3.1MB 277ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 81ms 0.3ms 2.0MB 290ms 0ms gcc 15.1.0
c 5-im.c 92ms 0.5ms 3.1MB 330ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 124ms 1.7ms 3.3MB 457ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 125ms 0.1ms 5.5MB 450ms 0ms go 1.24.3
rust 7.rs 128ms 2.5ms 1.8MB 120ms 0ms rustc 1.87.0
csharp 3-m.cs 128ms 1.5ms 10.5MB 450ms 0ms dotnet/aot 9.0.300
rust 2-m.rs 134ms 0.7ms 2.1MB 490ms 3ms rustc 1.87.0
chapel 1-m.chpl 134ms 0.9ms 28.9MB 240ms 0ms chpl 1.31.0
csharp 3-m.cs 176ms 1.1ms 28.5MB 503ms 10ms dotnet 9.0.300
nim 1.nim 226ms 0.1ms 1.5MB 220ms 0ms nim/clang 2.2.4
odin 1.odin 227ms 1.0ms 1.9MB 220ms 0ms odin 2024
d 1.d 228ms 0.6ms 3.1MB 220ms 0ms ldc2 1.40.1
nim 1.nim 229ms 1.9ms 1.3MB 220ms 0ms nim 2.2.4
zig 1.zig 232ms 0.7ms 1.3MB 220ms 0ms zig 0.14.0
go 1.go 233ms 2.1ms 3.5MB 223ms 0ms go 1.24.3
d 1.d 234ms 1.2ms 4.9MB 223ms 0ms dmd 2.111.0
wasm 2.rs 238ms 0.5ms 18.2MB 227ms 0ms wasmtime 32.0.0
dart 1.dart 240ms 0.4ms 6.3MB 230ms 0ms dart/exe 3.7.3
crystal 1.cr 240ms 2.2ms 3.9MB 230ms 0ms crystal 1.16.3
java 2-m.java 248ms 5.2ms 47.7MB 723ms 20ms openjdk 21
chapel 1.chpl 249ms 2.0ms 28.8MB 243ms 0ms chpl 1.31.0
haxe 1.hx 251ms 2.3ms 3.0MB 240ms 0ms haxe/hl/c 4.3.6
lua 1.lua 259ms 1.6ms 2.3MB 250ms 0ms luajit 2.1.0-beta3
java 2-m.java 267ms 4.0ms 48.4MB 787ms 20ms openjdk 23
rust 2.rs 269ms 1.2ms 1.9MB 260ms 0ms rustc 1.87.0
javascript 6-m.js 269ms 2.4ms 112.1MB 823ms 50ms node 24.0.2
dart 2.dart 277ms 1.0ms 6.3MB 270ms 0ms dart/exe 3.7.3
typescript 7.ts 284ms 2.3ms 55.1MB 270ms 7ms deno 2.3.3
ocaml 2.ml 295ms 7.0ms 5.2MB 287ms 0ms ocaml 5.3.0
wasm 7.rs 314ms 0.7ms 17.9MB 300ms 0ms wasmtime 32.0.0
java 2-m.java 323ms 9.1ms 94.0MB 987ms 43ms graal/jvm 17.0.8
v 1.v 324ms 1.0ms 1.5MB 313ms 0ms v/clang 0.4.10
v 1.v 328ms 1.2ms 2.5MB 320ms 0ms v/clang+gc 0.4.10
go 1.go 352ms 1.1ms 0.4MB 340ms 0ms tinygo 0.37.0
csharp 3-m.cs 356ms 11ms 25.4MB 1197ms 3ms mono 6.12.0
java 2-m.java 387ms 8.0ms 45.5MB 783ms 147ms openjdk/zgc 21
haxe 1.hx 603ms 0.3ms 5.3MB 590ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1449ms 47ms 375.2MB 1810ms 133ms truffleruby 24.2.1
python 8-m.py 1983ms 24ms 93.1MB 6417ms 257ms pypy 3.10.16
haxe 1.hx 2307ms 6.7ms 3.6MB 2297ms 0ms haxe/hl/jit 1.15.0
perl 4-m.pl 3444ms 2.0ms 9.5MB 13363ms 3ms 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 87ms 23ms cpython 3.13.3
python 8.py timeout 0.0ms 13.4MB 140ms 33ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 12.9MB 4980ms 0ms ruby 3.4.4
ruby 4.rb timeout 0.0ms 13.6MB 4980ms 7ms ruby/yjit 3.4.4