All spectral-norm problem benchmarks

Current benchmark data was generated on Sat Nov 16 2024, 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.4ms 5.4MB 1820ms 0ms clang++ 14.0.0-1ubuntu1.1
zig 2-m.zig 473ms 0.3ms 3.8MB 1590ms 7ms zig 0.13.0
cpp 8-m.cpp 484ms 2.2ms 4.2MB 1877ms 0ms g++ 11.4.0
rust 8-m.rs 496ms 0.1ms 4.5MB 1907ms 0ms rustc 1.84.0-nightly
rust 7-m.rs 498ms 0.3ms 4.2MB 1917ms 3ms rustc 1.82.0
zig 2.zig 918ms 5.7ms 1.5MB 903ms 0ms zig 0.13.0
cpp 6-im.cpp 931ms 22ms 7.4MB 3610ms 10ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 932ms 17ms 4.3MB 3617ms 0ms g++ 11.4.0
c 4-m.c 971ms 0.9ms 4.0MB 3807ms 0ms gcc 14.2.0
c 6-im.c 973ms 27ms 4.1MB 3773ms 0ms gcc 14.2.0
rust 8.rs 1010ms 2.8ms 2.4MB 1000ms 0ms rustc 1.84.0-nightly
c 6-im.c 1018ms 30ms 5.3MB 3953ms 7ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1102ms 20ms 4.1MB 4300ms 3ms gcc 14.2.0
c 4-m.c 1127ms 17ms 7.2MB 4397ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1327ms 0.2ms 7.3MB 5197ms 3ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1824ms 3.8ms 5.3MB 7187ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1872ms 21ms 18.3MB 7233ms 7ms dotnet/aot 9.0.100
go 4-m.go 1890ms 3.1ms 5.5MB 7367ms 0ms go 1.23.3
csharp 3-m.cs 1919ms 8.5ms 39.9MB 7290ms 23ms dotnet 9.0.100
chapel 1-m.chpl 1932ms 20ms 32.9MB 3827ms 0ms chpl 1.31.0
rust 2-m.rs 1936ms 2.2ms 4.1MB 7590ms 7ms rustc 1.82.0
java 2-m.java 1961ms 4.4ms 47.6MB 7457ms 33ms openjdk 21
java 2-m.java 1968ms 4.8ms 48.4MB 7473ms 27ms openjdk 23
c 3-m.c 1982ms 14ms 4.1MB 7777ms 3ms gcc 14.2.0
rust 7.rs 2078ms 11ms 1.9MB 2067ms 0ms rustc 1.82.0
java 2-m.java 2079ms 15ms 45.4MB 7450ms 147ms openjdk/zgc 21
javascript 6-m.js 2158ms 16ms 114.9MB 8220ms 57ms node 23.1.0
java 2-m.java 2453ms 9.0ms 99.2MB 8760ms 27ms graal/jvm 17.0.8
nim 1.nim 3574ms 3.5ms 1.6MB 3563ms 0ms nim/clang 2.2.0
d 1.d 3584ms 9.1ms 4.1MB 3570ms 0ms ldc2 1.39.0
nim 1.nim 3585ms 8.7ms 1.4MB 3577ms 0ms nim 2.2.0
odin 1.odin 3586ms 7.2ms 2.9MB 3573ms 0ms odin 2024
wasm 2.rs 3591ms 4.7ms 18.4MB 3577ms 0ms wasmtime 25.0.3
go 1.go 3654ms 21ms 5.5MB 3643ms 3ms go 1.23.3
d 1.d 3665ms 31ms 5.9MB 3653ms 0ms dmd 2.109.1
zig 1.zig 3679ms 26ms 1.5MB 3670ms 0ms zig 0.13.0
chapel 1.chpl 3718ms 11ms 32.8MB 3707ms 0ms chpl 1.31.0
dart 1.dart 3829ms 42ms 6.0MB 3817ms 0ms dart/exe 3.5.4
crystal 1.cr 3898ms 25ms 4.6MB 3887ms 0ms crystal 1.14.0
haxe 1.hx 3918ms 28ms 5.2MB 3897ms 7ms haxe/hl/c 4.3.6
typescript 7.ts 4028ms 5.0ms 58.9MB 4007ms 13ms deno 2.0.6
lua 1.lua 4052ms 6.0ms 2.5MB 4043ms 0ms luajit 2.1.0-beta3
rust 2.rs 4188ms 1.3ms 2.0MB 4177ms 0ms rustc 1.82.0
dart 2.dart 4246ms 12ms 6.1MB 4233ms 0ms dart/exe 3.5.4
ocaml 2.ml 4482ms 6.4ms 6.4MB 4473ms 0ms ocaml 5.2.0
csharp 3-m.cs 4604ms 45ms 26.8MB 17770ms 10ms mono 6.12.0
wasm 7.rs 4884ms 13ms 20.4MB 4870ms 0ms wasmtime 25.0.3
go 1.go timeout 0.0ms 2.3MB 4990ms 0ms tinygo 0.34.0
haxe 1.hx timeout 0.0ms 6.9MB 4987ms 0ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 5.8MB 4983ms 0ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 2.5MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 14.0MB 19773ms 3ms perl 5.40.0
python 8.py timeout 0.0ms 16.8MB 43ms 10ms cpython 3.13.0
python 8.py timeout 0.0ms 100.4MB 843ms 157ms pypy 3.10.14
python 8.py timeout 0.0ms 18.3MB 67ms 20ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 28.1MB 4963ms 17ms ruby 3.3.6
ruby 4.rb timeout 0.0ms 28.3MB 4963ms 20ms ruby/yjit 3.3.6
ruby 4.rb timeout 0.0ms 442.6MB 5190ms 203ms truffleruby 24.1.1
v 1.v timeout 0.0ms 3.0MB 4990ms 0ms v/clang+gc 0.4.8
v 1.v timeout 0.0ms 1.6MB 4990ms 0ms v/clang 0.4.8

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 125ms 0.5ms 5.4MB 450ms 0ms clang++ 14.0.0-1ubuntu1.1
zig 2-m.zig 126ms 0.9ms 3.7MB 267ms 0ms zig 0.13.0
rust 8-m.rs 128ms 0.4ms 4.2MB 467ms 3ms rustc 1.84.0-nightly
rust 7-m.rs 128ms 0.2ms 4.1MB 467ms 0ms rustc 1.82.0
cpp 8-m.cpp 129ms 0.9ms 4.1MB 473ms 0ms g++ 11.4.0
zig 2.zig 232ms 0.2ms 1.4MB 220ms 0ms zig 0.13.0
cpp 6-im.cpp 239ms 2.6ms 5.4MB 897ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 241ms 2.7ms 4.2MB 917ms 0ms g++ 11.4.0
c 6-im.c 250ms 2.0ms 4.0MB 950ms 0ms gcc 14.2.0
c 4-m.c 254ms 3.2ms 4.1MB 967ms 0ms gcc 14.2.0
rust 8.rs 255ms 0.6ms 2.1MB 247ms 0ms rustc 1.84.0-nightly
c 6-im.c 261ms 2.3ms 5.3MB 970ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 285ms 3.0ms 4.0MB 1090ms 0ms gcc 14.2.0
c 4-m.c 288ms 0.1ms 5.1MB 1093ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 342ms 3.7ms 7.3MB 1313ms 0ms clang 14.0.0-1ubuntu1.1
c 3-m.c 469ms 2.2ms 5.4MB 1797ms 3ms clang 14.0.0-1ubuntu1.1
go 4-m.go 479ms 3.5ms 5.5MB 1820ms 7ms go 1.23.3
rust 2-m.rs 488ms 1.2ms 4.1MB 1873ms 7ms rustc 1.82.0
chapel 1-m.chpl 496ms 0.6ms 32.9MB 957ms 0ms chpl 1.31.0
csharp 3-m.cs 497ms 35ms 18.3MB 1783ms 3ms dotnet/aot 9.0.100
c 3-m.c 505ms 5.3ms 4.0MB 1953ms 0ms gcc 14.2.0
rust 7.rs 529ms 14ms 1.8MB 517ms 0ms rustc 1.82.0
csharp 3-m.cs 530ms 1.5ms 37.9MB 1857ms 20ms dotnet 9.0.100
java 2-m.java 584ms 3.8ms 48.4MB 2047ms 17ms openjdk 23
java 2-m.java 584ms 2.4ms 47.5MB 2050ms 23ms openjdk 21
javascript 6-m.js 643ms 8.4ms 118.0MB 2277ms 40ms node 23.1.0
java 2-m.java 710ms 3.8ms 47.5MB 2070ms 140ms openjdk/zgc 21
java 2-m.java 739ms 5.6ms 96.7MB 2483ms 43ms graal/jvm 17.0.8
nim 1.nim 899ms 7.6ms 1.5MB 890ms 0ms nim/clang 2.2.0
nim 1.nim 900ms 3.3ms 1.8MB 890ms 0ms nim 2.2.0
d 1.d 902ms 0.5ms 3.5MB 890ms 0ms ldc2 1.39.0
odin 1.odin 904ms 9.0ms 2.3MB 893ms 0ms odin 2024
wasm 2.rs 906ms 3.5ms 20.3MB 887ms 0ms wasmtime 25.0.3
d 1.d 911ms 2.1ms 5.8MB 900ms 0ms dmd 2.109.1
zig 1.zig 922ms 1.3ms 1.4MB 910ms 0ms zig 0.13.0
go 1.go 922ms 9.4ms 3.4MB 913ms 0ms go 1.23.3
chapel 1.chpl 947ms 4.7ms 32.8MB 937ms 3ms chpl 1.31.0
dart 1.dart 968ms 2.8ms 6.0MB 960ms 0ms dart/exe 3.5.4
crystal 1.cr 981ms 2.7ms 4.5MB 967ms 0ms crystal 1.14.0
haxe 1.hx 981ms 2.9ms 5.1MB 967ms 0ms haxe/hl/c 4.3.6
lua 1.lua 1024ms 0.9ms 2.4MB 1010ms 0ms luajit 2.1.0-beta3
typescript 7.ts 1036ms 5.7ms 59.0MB 1020ms 7ms deno 2.0.6
rust 2.rs 1049ms 1.1ms 1.9MB 1040ms 0ms rustc 1.82.0
dart 2.dart 1069ms 4.7ms 6.3MB 1060ms 0ms dart/exe 3.5.4
ocaml 2.ml 1129ms 4.1ms 6.1MB 1117ms 0ms ocaml 5.2.0
wasm 7.rs 1230ms 3.1ms 18.4MB 1217ms 0ms wasmtime 25.0.3
v 1.v 1276ms 3.2ms 1.5MB 1263ms 0ms v/clang 0.4.8
csharp 3-m.cs 1290ms 128ms 25.6MB 4493ms 13ms mono 6.12.0
v 1.v 1305ms 3.2ms 2.6MB 1290ms 0ms v/clang+gc 0.4.8
go 1.go 1392ms 2.1ms 0.4MB 1380ms 0ms tinygo 0.34.0
haxe 1.hx 2390ms 2.8ms 6.5MB 2380ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4430ms 29ms 453.8MB 4663ms 227ms truffleruby 24.1.1
haxe 1.hx timeout 0.0ms 5.8MB 4987ms 0ms 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.1MB 19587ms 7ms perl 5.40.0
python 8.py timeout 0.0ms 16.4MB 110ms 20ms cpython 3.13.0
python 8.py timeout 0.0ms 97.6MB 1480ms 487ms pypy 3.10.14
python 8.py timeout 0.0ms 17.5MB 137ms 43ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 28.1MB 4967ms 17ms ruby 3.3.6
ruby 4.rb timeout 0.0ms 28.3MB 4970ms 17ms ruby/yjit 3.3.6

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 36ms 0.3ms 6.1MB 113ms 0ms rustc 1.82.0
rust 8-m.rs 36ms 0.4ms 6.1MB 113ms 0ms rustc 1.84.0-nightly
cpp 8-m.cpp 38ms 0.7ms 7.3MB 107ms 3ms clang++ 14.0.0-1ubuntu1.1
zig 2-m.zig 38ms 1.0ms 3.7MB 37ms 0ms zig 0.13.0
cpp 8-m.cpp 40ms 1.0ms 4.0MB 127ms 0ms g++ 11.4.0
zig 2.zig 60ms 0.9ms 1.4MB 50ms 0ms zig 0.13.0
rust 8.rs 66ms 0.9ms 2.0MB 57ms 0ms rustc 1.84.0-nightly
cpp 6-im.cpp 67ms 0.4ms 5.4MB 223ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 69ms 1.4ms 4.0MB 233ms 0ms g++ 11.4.0
c 6-im.c 71ms 0.7ms 4.0MB 247ms 0ms gcc 14.2.0
c 4-m.c 72ms 0.7ms 4.1MB 253ms 0ms gcc 14.2.0
c 6-im.c 72ms 0.0ms 5.1MB 233ms 3ms clang 14.0.0-1ubuntu1.1
c 5-im.c 81ms 1.7ms 4.0MB 283ms 0ms gcc 14.2.0
c 4-m.c 82ms 4.3ms 5.1MB 280ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 108ms 26ms 7.1MB 367ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 126ms 2.3ms 5.4MB 437ms 3ms go 1.23.3
c 3-m.c 126ms 3.5ms 7.2MB 450ms 0ms clang 14.0.0-1ubuntu1.1
rust 2-m.rs 126ms 0.2ms 4.1MB 467ms 0ms rustc 1.82.0
csharp 3-m.cs 130ms 0.9ms 18.3MB 437ms 0ms dotnet/aot 9.0.100
rust 7.rs 135ms 3.0ms 1.8MB 123ms 0ms rustc 1.82.0
c 3-m.c 136ms 2.4ms 4.0MB 500ms 0ms gcc 14.2.0
chapel 1-m.chpl 140ms 0.2ms 32.9MB 243ms 0ms chpl 1.31.0
csharp 3-m.cs 178ms 2.3ms 36.4MB 500ms 7ms dotnet 9.0.100
nim 1.nim 225ms 0.1ms 1.5MB 210ms 0ms nim/clang 2.2.0
d 1.d 227ms 0.4ms 3.0MB 220ms 0ms ldc2 1.39.0
odin 1.odin 227ms 1.7ms 1.9MB 220ms 0ms odin 2024
nim 1.nim 228ms 1.4ms 1.3MB 220ms 0ms nim 2.2.0
wasm 2.rs 233ms 1.4ms 20.3MB 220ms 0ms wasmtime 25.0.3
zig 1.zig 234ms 2.0ms 1.4MB 223ms 0ms zig 0.13.0
go 1.go 235ms 4.7ms 3.4MB 227ms 0ms go 1.23.3
d 1.d 235ms 1.0ms 4.9MB 220ms 0ms dmd 2.109.1
java 2-m.java 243ms 3.7ms 48.4MB 690ms 17ms openjdk 23
dart 1.dart 247ms 1.7ms 5.9MB 237ms 0ms dart/exe 3.5.4
crystal 1.cr 251ms 3.2ms 4.0MB 240ms 0ms crystal 1.14.0
haxe 1.hx 252ms 2.4ms 5.0MB 243ms 0ms haxe/hl/c 4.3.6
java 2-m.java 252ms 12ms 48.0MB 717ms 23ms openjdk 21
chapel 1.chpl 253ms 1.1ms 32.8MB 243ms 0ms chpl 1.31.0
lua 1.lua 258ms 1.0ms 2.3MB 247ms 0ms luajit 2.1.0-beta3
javascript 6-m.js 264ms 1.9ms 113.5MB 810ms 43ms node 23.1.0
rust 2.rs 266ms 1.0ms 1.9MB 253ms 0ms rustc 1.82.0
dart 2.dart 274ms 2.0ms 6.1MB 260ms 0ms dart/exe 3.5.4
java 2-m.java 281ms 21ms 98.1MB 813ms 33ms graal/jvm 17.0.8
typescript 7.ts 284ms 2.6ms 56.2MB 267ms 7ms deno 2.0.6
ocaml 2.ml 285ms 4.6ms 5.2MB 273ms 0ms ocaml 5.2.0
wasm 7.rs 314ms 1.8ms 18.3MB 300ms 3ms wasmtime 25.0.3
v 1.v 324ms 1.8ms 1.5MB 310ms 0ms v/clang 0.4.8
v 1.v 329ms 1.4ms 2.5MB 320ms 0ms v/clang+gc 0.4.8
csharp 3-m.cs 346ms 0.2ms 28.4MB 1153ms 13ms mono 6.12.0
go 1.go 350ms 0.2ms 0.3MB 340ms 0ms tinygo 0.34.0
java 2-m.java 358ms 5.7ms 47.1MB 680ms 140ms openjdk/zgc 21
haxe 1.hx 601ms 1.6ms 5.4MB 587ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1226ms 41ms 385.4MB 1527ms 130ms truffleruby 24.1.1
python 8-m.py 1978ms 11ms 94.6MB 6323ms 333ms pypy 3.10.14
haxe 1.hx 2314ms 4.6ms 5.8MB 2300ms 0ms haxe/hl/jit 1.14.0
perl 4-m.pl 3421ms 21ms 12.7MB 13180ms 17ms perl 5.40.0
lua 1.lua timeout 0.0ms 2.1MB 4990ms 0ms lua 5.4.7
python 8.py timeout 0.0ms 14.1MB 243ms 43ms cpython 3.13.0
python 8.py timeout 0.0ms 17.2MB 390ms 117ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 28.1MB 4967ms 20ms ruby 3.3.6
ruby 4.rb timeout 0.0ms 28.3MB 4960ms 20ms ruby/yjit 3.3.6