All spectral-norm problem benchmarks

Current benchmark data was generated on Wed Jan 22 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 471ms 6.8ms 7.6MB 1820ms 0ms clang++ 14.0.0-1ubuntu1.1
zig 2-m.zig 473ms 1.2ms 3.9MB 1583ms 7ms zig 0.13.0
cpp 8-m.cpp 488ms 8.2ms 4.2MB 1883ms 0ms g++ 11.4.0
rust 8-m.rs 498ms 0.6ms 4.6MB 1907ms 0ms rustc 1.86.0-nightly
rust 7-m.rs 499ms 0.2ms 4.2MB 1927ms 0ms rustc 1.84.0
zig 2.zig 916ms 1.6ms 1.5MB 903ms 0ms zig 0.13.0
cpp 6-im.cpp 920ms 3.4ms 7.4MB 3587ms 7ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 925ms 1.0ms 4.2MB 3613ms 0ms g++ 11.4.0
c 6-im.c 969ms 4.6ms 4.1MB 3777ms 0ms gcc 14.2.0
c 4-m.c 976ms 6.3ms 4.1MB 3807ms 0ms gcc 14.2.0
c 6-im.c 1005ms 2.0ms 5.3MB 3930ms 3ms clang 14.0.0-1ubuntu1.1
rust 8.rs 1010ms 1.5ms 2.4MB 1000ms 0ms rustc 1.86.0-nightly
c 5-im.c 1102ms 12ms 4.1MB 4300ms 0ms gcc 14.2.0
c 4-m.c 1121ms 6.6ms 5.2MB 4377ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1349ms 29ms 7.3MB 5250ms 7ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1870ms 63ms 7.2MB 7260ms 3ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1873ms 37ms 18.4MB 7180ms 7ms dotnet/aot 9.0.102
go 4-m.go 1892ms 1.2ms 5.5MB 7360ms 13ms go 1.23.5
chapel 1-m.chpl 1913ms 0.6ms 32.8MB 3787ms 0ms chpl 1.31.0
rust 2-m.rs 1942ms 1.3ms 6.2MB 7613ms 3ms rustc 1.84.0
java 2-m.java 1963ms 2.5ms 47.3MB 7453ms 20ms openjdk 21
java 2-m.java 1965ms 7.5ms 48.6MB 7467ms 17ms openjdk 23
csharp 3-m.cs 1971ms 75ms 38.1MB 7220ms 13ms dotnet 9.0.102
c 3-m.c 1983ms 19ms 4.1MB 7780ms 3ms gcc 14.2.0
java 2-m.java 2080ms 2.7ms 45.3MB 7453ms 143ms openjdk/zgc 21
rust 7.rs 2082ms 9.0ms 2.0MB 2070ms 0ms rustc 1.84.0
javascript 6-m.js 2158ms 5.7ms 116.7MB 8230ms 53ms node 23.6.0
java 2-m.java 2480ms 17ms 98.9MB 8800ms 40ms graal/jvm 17.0.8
nim 1.nim 3573ms 2.3ms 1.6MB 3560ms 0ms nim/clang 2.2.0
wasm 2.rs 3585ms 7.0ms 19.0MB 3567ms 0ms wasmtime 29.0.1
odin 1.odin 3586ms 3.8ms 2.9MB 3577ms 0ms odin 2024
d 1.d 3589ms 9.3ms 4.0MB 3573ms 7ms ldc2 1.40.0
nim 1.nim 3597ms 4.0ms 1.4MB 3587ms 0ms nim 2.2.0
d 1.d 3616ms 21ms 8.2MB 3607ms 0ms dmd 2.109.1
go 1.go 3668ms 14ms 5.5MB 3660ms 3ms go 1.23.5
zig 1.zig 3670ms 6.3ms 1.5MB 3660ms 0ms zig 0.13.0
chapel 1.chpl 3715ms 5.7ms 32.8MB 3700ms 0ms chpl 1.31.0
dart 1.dart 3754ms 33ms 6.3MB 3743ms 0ms dart/exe 3.6.1
crystal 1.cr 3801ms 27ms 4.4MB 3787ms 0ms crystal 1.15.0
haxe 1.hx 3914ms 2.8ms 5.3MB 3900ms 3ms haxe/hl/c 4.3.6
typescript 7.ts 4038ms 7.2ms 56.5MB 4023ms 7ms deno 2.1.7
lua 1.lua 4060ms 12ms 2.5MB 4047ms 0ms luajit 2.1.0-beta3
rust 2.rs 4212ms 29ms 2.0MB 4203ms 0ms rustc 1.84.0
dart 2.dart 4364ms 3.7ms 6.3MB 4350ms 0ms dart/exe 3.6.1
ocaml 2.ml 4564ms 17ms 6.3MB 4553ms 0ms ocaml 5.3.0
csharp 3-m.cs 4634ms 249ms 30.7MB 17543ms 10ms mono 6.12.0
wasm 7.rs 4890ms 13ms 21.0MB 4873ms 0ms wasmtime 29.0.1
go 1.go timeout 0.0ms 2.2MB 4990ms 0ms tinygo 0.35.0
haxe 1.hx timeout 0.0ms 7.0MB 4990ms 0ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 5.9MB 4983ms 0ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 2.5MB 4987ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 13.8MB 19717ms 23ms perl 5.40.1
python 8.py timeout 0.0ms 16.6MB 63ms 0ms cpython 3.13.1
python 8.py timeout 0.0ms 99.4MB 853ms 167ms pypy 3.10.14
python 8.py timeout 0.0ms 18.1MB 77ms 17ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4980ms 7ms ruby 3.4.1
ruby 4.rb timeout 0.0ms 13.6MB 4980ms 3ms ruby/yjit 3.4.1
ruby 4.rb timeout 0.0ms 448.7MB 5180ms 220ms truffleruby 24.1.2
v 1.v timeout 0.0ms 2.8MB 4987ms 0ms v/clang+gc 0.4.9
v 1.v timeout 0.0ms 1.6MB 4990ms 0ms v/clang 0.4.9

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 2-m.zig 125ms 0.3ms 3.7MB 273ms 3ms zig 0.13.0
rust 8-m.rs 128ms 0.3ms 4.2MB 463ms 0ms rustc 1.86.0-nightly
rust 7-m.rs 128ms 0.3ms 6.1MB 470ms 0ms rustc 1.84.0
cpp 8-m.cpp 129ms 6.4ms 7.4MB 460ms 3ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 129ms 0.3ms 4.1MB 477ms 0ms g++ 11.4.0
zig 2.zig 231ms 2.4ms 1.4MB 220ms 0ms zig 0.13.0
cpp 6-im.cpp 244ms 4.5ms 4.2MB 917ms 0ms g++ 11.4.0
cpp 6-im.cpp 246ms 5.8ms 7.3MB 917ms 0ms clang++ 14.0.0-1ubuntu1.1
c 4-m.c 253ms 0.8ms 4.1MB 963ms 0ms gcc 14.2.0
rust 8.rs 255ms 0.7ms 2.3MB 250ms 0ms rustc 1.86.0-nightly
c 6-im.c 256ms 5.0ms 4.0MB 970ms 0ms gcc 14.2.0
c 6-im.c 263ms 9.0ms 5.3MB 977ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 291ms 13ms 4.0MB 1097ms 0ms gcc 14.2.0
c 4-m.c 292ms 5.9ms 7.0MB 1100ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 363ms 27ms 5.3MB 1363ms 3ms clang 14.0.0-1ubuntu1.1
c 3-m.c 474ms 12ms 7.2MB 1800ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 476ms 1.6ms 18.2MB 1790ms 10ms dotnet/aot 9.0.102
go 4-m.go 479ms 1.8ms 5.5MB 1813ms 0ms go 1.23.5
rust 2-m.rs 491ms 0.2ms 4.1MB 1880ms 7ms rustc 1.84.0
chapel 1-m.chpl 497ms 2.2ms 32.9MB 960ms 0ms chpl 1.31.0
c 3-m.c 504ms 4.5ms 4.0MB 1957ms 0ms gcc 14.2.0
rust 7.rs 525ms 4.8ms 1.9MB 517ms 0ms rustc 1.84.0
csharp 3-m.cs 542ms 12ms 39.9MB 1870ms 10ms dotnet 9.0.102
java 2-m.java 592ms 8.0ms 47.7MB 2083ms 13ms openjdk 21
java 2-m.java 592ms 6.7ms 48.8MB 2033ms 30ms openjdk 23
javascript 6-m.js 642ms 4.1ms 114.0MB 2290ms 50ms node 23.6.0
java 2-m.java 712ms 1.7ms 45.3MB 2087ms 133ms openjdk/zgc 21
java 2-m.java 739ms 6.2ms 98.0MB 2493ms 37ms graal/jvm 17.0.8
nim 1.nim 895ms 0.4ms 1.5MB 880ms 0ms nim/clang 2.2.0
d 1.d 897ms 0.8ms 3.5MB 887ms 0ms ldc2 1.40.0
nim 1.nim 898ms 1.4ms 1.3MB 887ms 0ms nim 2.2.0
odin 1.odin 899ms 1.8ms 2.3MB 887ms 0ms odin 2024
wasm 2.rs 905ms 2.5ms 20.9MB 890ms 3ms wasmtime 29.0.1
d 1.d 911ms 4.9ms 7.6MB 903ms 0ms dmd 2.109.1
zig 1.zig 921ms 1.9ms 1.4MB 910ms 0ms zig 0.13.0
go 1.go 931ms 2.4ms 3.4MB 923ms 0ms go 1.23.5
dart 1.dart 938ms 3.2ms 6.3MB 923ms 0ms dart/exe 3.6.1
chapel 1.chpl 945ms 2.0ms 32.8MB 937ms 0ms chpl 1.31.0
crystal 1.cr 955ms 2.5ms 4.3MB 943ms 0ms crystal 1.15.0
haxe 1.hx 991ms 6.4ms 5.1MB 973ms 3ms haxe/hl/c 4.3.6
lua 1.lua 1017ms 2.5ms 2.4MB 1010ms 0ms luajit 2.1.0-beta3
typescript 7.ts 1032ms 7.5ms 57.3MB 1017ms 10ms deno 2.1.7
rust 2.rs 1050ms 2.4ms 2.0MB 1037ms 0ms rustc 1.84.0
dart 2.dart 1099ms 5.6ms 6.4MB 1093ms 0ms dart/exe 3.6.1
ocaml 2.ml 1141ms 5.8ms 6.1MB 1130ms 0ms ocaml 5.3.0
csharp 3-m.cs 1203ms 18ms 31.0MB 4483ms 7ms mono 6.12.0
wasm 7.rs 1227ms 3.4ms 20.7MB 1210ms 0ms wasmtime 29.0.1
v 1.v 1278ms 0.9ms 1.6MB 1267ms 0ms v/clang 0.4.9
v 1.v 1326ms 10ms 2.5MB 1317ms 0ms v/clang+gc 0.4.9
go 1.go 1389ms 0.7ms 2.3MB 1380ms 0ms tinygo 0.35.0
haxe 1.hx 2391ms 1.5ms 6.5MB 2380ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4530ms 33ms 454.5MB 4833ms 187ms truffleruby 24.1.2
haxe 1.hx timeout 0.0ms 5.8MB 4983ms 3ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 2.1MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 14.0MB 19480ms 10ms perl 5.40.1
python 8.py timeout 0.0ms 16.5MB 113ms 17ms cpython 3.13.1
python 8.py timeout 0.0ms 99.1MB 1567ms 470ms pypy 3.10.14
python 8.py timeout 0.0ms 17.6MB 137ms 33ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 12.9MB 4980ms 7ms ruby 3.4.1
ruby 4.rb timeout 0.0ms 13.6MB 4980ms 10ms ruby/yjit 3.4.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 36ms 0.4ms 4.1MB 107ms 0ms rustc 1.86.0-nightly
rust 7-m.rs 36ms 0.4ms 4.1MB 103ms 7ms rustc 1.84.0
zig 2-m.zig 39ms 1.5ms 3.7MB 33ms 0ms zig 0.13.0
cpp 8-m.cpp 40ms 1.9ms 7.4MB 110ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 8-m.cpp 40ms 0.7ms 4.0MB 127ms 0ms g++ 11.4.0
zig 2.zig 60ms 0.8ms 1.4MB 50ms 0ms zig 0.13.0
rust 8.rs 66ms 0.8ms 2.0MB 57ms 0ms rustc 1.86.0-nightly
cpp 6-im.cpp 67ms 0.7ms 7.1MB 227ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 68ms 0.6ms 4.0MB 240ms 0ms g++ 11.4.0
c 6-im.c 72ms 2.5ms 4.0MB 250ms 0ms gcc 14.2.0
c 6-im.c 72ms 0.6ms 7.3MB 240ms 0ms clang 14.0.0-1ubuntu1.1
c 4-m.c 77ms 7.1ms 4.0MB 263ms 0ms gcc 14.2.0
c 4-m.c 80ms 0.6ms 5.2MB 273ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 80ms 0.7ms 4.0MB 280ms 0ms gcc 14.2.0
c 5-im.c 94ms 2.4ms 5.5MB 330ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 124ms 0.9ms 5.1MB 443ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 126ms 0.3ms 5.4MB 437ms 7ms go 1.23.5
rust 2-m.rs 127ms 0.2ms 4.1MB 460ms 3ms rustc 1.84.0
csharp 3-m.cs 129ms 1.0ms 18.4MB 440ms 7ms dotnet/aot 9.0.102
c 3-m.c 133ms 1.5ms 4.0MB 493ms 0ms gcc 14.2.0
rust 7.rs 134ms 2.4ms 1.9MB 127ms 0ms rustc 1.84.0
chapel 1-m.chpl 140ms 2.4ms 32.9MB 247ms 0ms chpl 1.31.0
csharp 3-m.cs 193ms 15ms 36.4MB 497ms 10ms dotnet 9.0.102
nim 1.nim 226ms 0.5ms 1.5MB 213ms 0ms nim/clang 2.2.0
nim 1.nim 227ms 0.9ms 1.3MB 217ms 0ms nim 2.2.0
odin 1.odin 227ms 0.7ms 1.9MB 213ms 0ms odin 2024
d 1.d 227ms 0.7ms 3.1MB 220ms 0ms ldc2 1.40.0
d 1.d 231ms 3.3ms 4.8MB 223ms 0ms dmd 2.109.1
zig 1.zig 232ms 0.8ms 1.4MB 220ms 0ms zig 0.13.0
go 1.go 234ms 5.1ms 3.4MB 220ms 0ms go 1.23.5
dart 1.dart 241ms 2.9ms 6.5MB 233ms 0ms dart/exe 3.6.1
wasm 2.rs 243ms 13ms 18.8MB 230ms 0ms wasmtime 29.0.1
crystal 1.cr 245ms 2.9ms 3.8MB 237ms 0ms crystal 1.15.0
java 2-m.java 246ms 3.6ms 48.5MB 717ms 20ms openjdk 23
java 2-m.java 247ms 13ms 47.4MB 710ms 23ms openjdk 21
haxe 1.hx 253ms 2.4ms 5.0MB 243ms 0ms haxe/hl/c 4.3.6
chapel 1.chpl 255ms 3.6ms 32.8MB 247ms 3ms chpl 1.31.0
lua 1.lua 257ms 0.2ms 2.3MB 247ms 0ms luajit 2.1.0-beta3
javascript 6-m.js 263ms 2.0ms 113.2MB 823ms 40ms node 23.6.0
rust 2.rs 265ms 1.3ms 2.0MB 253ms 0ms rustc 1.84.0
dart 2.dart 280ms 3.0ms 6.3MB 267ms 0ms dart/exe 3.6.1
java 2-m.java 285ms 13ms 96.7MB 827ms 40ms graal/jvm 17.0.8
typescript 7.ts 286ms 2.2ms 56.6MB 270ms 10ms deno 2.1.7
ocaml 2.ml 292ms 4.1ms 5.3MB 283ms 0ms ocaml 5.3.0
wasm 7.rs 315ms 2.2ms 20.7MB 300ms 0ms wasmtime 29.0.1
v 1.v 324ms 0.9ms 1.5MB 310ms 0ms v/clang 0.4.9
v 1.v 331ms 2.0ms 2.5MB 323ms 0ms v/clang+gc 0.4.9
csharp 3-m.cs 348ms 2.4ms 26.4MB 1160ms 7ms mono 6.12.0
go 1.go 350ms 0.4ms 0.3MB 340ms 0ms tinygo 0.35.0
java 2-m.java 355ms 6.7ms 47.3MB 680ms 137ms openjdk/zgc 21
haxe 1.hx 602ms 1.7ms 5.4MB 587ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1303ms 67ms 435.1MB 1637ms 147ms truffleruby 24.1.2
python 8-m.py 2021ms 18ms 94.9MB 6423ms 333ms pypy 3.10.14
haxe 1.hx 2305ms 4.5ms 5.8MB 2297ms 0ms haxe/hl/jit 1.14.0
perl 4-m.pl 3392ms 3.3ms 12.4MB 13083ms 10ms perl 5.40.1
lua 1.lua timeout 0.0ms 2.0MB 4987ms 0ms lua 5.4.7
python 8.py timeout 0.0ms 16.1MB 233ms 53ms cpython 3.13.1
python 8.py timeout 0.0ms 15.5MB 447ms 113ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4977ms 7ms ruby 3.4.1
ruby 4.rb timeout 0.0ms 13.8MB 4977ms 10ms ruby/yjit 3.4.1