All spectral-norm problem benchmarks

Current benchmark data was generated on Tue Dec 31 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
zig 2-m.zig 450ms 8.0ms 3.8MB 1500ms 7ms zig 0.13.0
cpp 8-m.cpp 458ms 3.4ms 4.2MB 1780ms 0ms g++ 11.4.0
cpp 8-m.cpp 459ms 22ms 7.3MB 1757ms 0ms clang++ 14.0.0-1ubuntu1.1
rust 8-m.rs 469ms 0.9ms 4.6MB 1810ms 0ms rustc 1.85.0-nightly
rust 7-m.rs 471ms 4.6ms 4.2MB 1817ms 3ms rustc 1.83.0
zig 2.zig 872ms 1.5ms 1.5MB 860ms 0ms zig 0.13.0
cpp 6-im.cpp 876ms 7.8ms 7.4MB 3420ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 885ms 20ms 4.2MB 3437ms 3ms g++ 11.4.0
c 4-m.c 912ms 4.9ms 4.1MB 3580ms 0ms gcc 14.2.0
c 6-im.c 916ms 6.9ms 4.1MB 3603ms 0ms gcc 14.2.0
c 6-im.c 957ms 5.6ms 7.3MB 3750ms 3ms clang 14.0.0-1ubuntu1.1
rust 8.rs 961ms 14ms 2.4MB 950ms 0ms rustc 1.85.0-nightly
c 5-im.c 1032ms 4.9ms 4.1MB 4060ms 0ms gcc 14.2.0
c 4-m.c 1101ms 27ms 5.1MB 4260ms 13ms clang 14.0.0-1ubuntu1.1
c 5-im.c 1258ms 3.2ms 5.2MB 4933ms 7ms clang 14.0.0-1ubuntu1.1
c 3-m.c 1730ms 10ms 7.2MB 6810ms 3ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 1779ms 35ms 18.5MB 6860ms 3ms dotnet/aot 9.0.101
go 4-m.go 1818ms 34ms 5.4MB 6960ms 13ms go 1.23.4
chapel 1-m.chpl 1822ms 10.0ms 32.9MB 3613ms 0ms chpl 1.31.0
rust 2-m.rs 1855ms 2.8ms 4.1MB 7283ms 7ms rustc 1.83.0
java 2-m.java 1867ms 20ms 47.6MB 7143ms 20ms openjdk 21
c 3-m.c 1868ms 12ms 4.1MB 7353ms 7ms gcc 14.2.0
java 2-m.java 1877ms 26ms 49.0MB 7130ms 20ms openjdk 23
java 2-m.java 1981ms 11ms 45.4MB 7137ms 137ms openjdk/zgc 21
rust 7.rs 1994ms 3.4ms 1.9MB 1987ms 0ms rustc 1.83.0
javascript 6-m.js 2043ms 5.4ms 114.5MB 7827ms 53ms node 23.5.0
csharp 3-m.cs 2081ms 305ms 38.1MB 6603ms 27ms dotnet 9.0.101
java 2-m.java 2318ms 11ms 100.9MB 8233ms 47ms graal/jvm 17.0.8
nim 1.nim 3383ms 20ms 1.6MB 3370ms 0ms nim/clang 2.2.0
d 1.d 3388ms 14ms 4.0MB 3377ms 0ms ldc2 1.40.0
wasm 2.rs 3400ms 18ms 18.6MB 3387ms 0ms wasmtime 28.0.0
odin 1.odin 3403ms 22ms 2.9MB 3390ms 0ms odin 2024
d 1.d 3420ms 19ms 5.8MB 3410ms 0ms dmd 2.109.1
nim 1.nim 3439ms 35ms 1.4MB 3430ms 0ms nim 2.2.0
zig 1.zig 3472ms 17ms 1.5MB 3463ms 0ms zig 0.13.0
go 1.go 3496ms 38ms 5.5MB 3487ms 0ms go 1.23.4
chapel 1.chpl 3541ms 31ms 32.8MB 3530ms 3ms chpl 1.31.0
dart 1.dart 3542ms 12ms 6.1MB 3533ms 0ms dart/exe 3.6.0
crystal 1.cr 3700ms 16ms 4.6MB 3683ms 3ms crystal 1.14.0
haxe 1.hx 3731ms 16ms 5.2MB 3720ms 0ms haxe/hl/c 4.3.6
lua 1.lua 3844ms 19ms 2.5MB 3830ms 0ms luajit 2.1.0-beta3
typescript 7.ts 3867ms 25ms 60.0MB 3850ms 10ms deno 2.1.4
rust 2.rs 3948ms 11ms 2.0MB 3937ms 0ms rustc 1.83.0
dart 2.dart 4104ms 5.2ms 6.3MB 4093ms 0ms dart/exe 3.6.0
ocaml 2.ml 4270ms 34ms 6.3MB 4260ms 0ms ocaml 5.2.1
csharp 3-m.cs 4402ms 103ms 30.5MB 17000ms 13ms mono 6.12.0
wasm 7.rs 4694ms 77ms 18.6MB 4683ms 0ms wasmtime 28.0.0
v 1.v 4853ms 3.5ms 1.6MB 4843ms 0ms v/clang 0.4.9
v 1.v 4929ms 9.5ms 2.8MB 4917ms 0ms v/clang+gc 0.4.9
go 1.go timeout 0.0ms 0.5MB 4990ms 0ms tinygo 0.35.0
haxe 1.hx timeout 0.0ms 6.9MB 4987ms 0ms haxe/cpp 4.3.6
haxe 1.hx timeout 0.0ms 5.8MB 4987ms 3ms haxe/hl/jit 1.14.0
lua 1.lua timeout 0.0ms 2.4MB 4990ms 0ms lua 5.4.7
perl 4.pl timeout 0.0ms 13.8MB 19753ms 10ms perl 5.40.0
python 8.py timeout 0.0ms 16.7MB 43ms 13ms cpython 3.13.1
python 8.py timeout 0.0ms 99.4MB 790ms 163ms pypy 3.10.14
python 8.py timeout 0.0ms 16.5MB 67ms 20ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4987ms 0ms ruby 3.4.1
ruby 4.rb timeout 0.0ms 13.6MB 4983ms 3ms ruby/yjit 3.4.1
ruby 4.rb timeout 0.0ms 452.3MB 5147ms 223ms truffleruby 24.1.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
cpp 8-m.cpp 118ms 1.8ms 7.4MB 433ms 0ms clang++ 14.0.0-1ubuntu1.1
zig 2-m.zig 119ms 0.9ms 3.7MB 250ms 3ms zig 0.13.0
rust 7-m.rs 121ms 0.3ms 4.1MB 443ms 3ms rustc 1.83.0
rust 8-m.rs 123ms 3.8ms 4.4MB 443ms 0ms rustc 1.85.0-nightly
cpp 8-m.cpp 126ms 5.2ms 4.1MB 463ms 0ms g++ 11.4.0
zig 2.zig 218ms 2.6ms 1.4MB 203ms 0ms zig 0.13.0
cpp 6-im.cpp 225ms 2.6ms 7.4MB 847ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 226ms 2.7ms 4.1MB 857ms 0ms g++ 11.4.0
rust 8.rs 240ms 1.0ms 2.1MB 227ms 0ms rustc 1.85.0-nightly
c 4-m.c 242ms 7.9ms 4.0MB 927ms 0ms gcc 14.2.0
c 6-im.c 249ms 5.3ms 5.3MB 937ms 3ms clang 14.0.0-1ubuntu1.1
c 6-im.c 250ms 20ms 4.0MB 937ms 0ms gcc 14.2.0
c 4-m.c 272ms 1.5ms 5.1MB 1027ms 0ms clang 14.0.0-1ubuntu1.1
c 5-im.c 278ms 9.7ms 4.0MB 1050ms 0ms gcc 14.2.0
c 5-im.c 327ms 5.4ms 5.3MB 1250ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 450ms 2.7ms 18.4MB 1703ms 7ms dotnet/aot 9.0.101
c 3-m.c 452ms 20ms 7.3MB 1713ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 453ms 6.4ms 5.4MB 1723ms 0ms go 1.23.4
chapel 1-m.chpl 467ms 2.3ms 32.8MB 897ms 3ms chpl 1.31.0
rust 2-m.rs 468ms 6.0ms 4.1MB 1797ms 3ms rustc 1.83.0
c 3-m.c 477ms 2.5ms 4.0MB 1860ms 0ms gcc 14.2.0
rust 7.rs 498ms 3.3ms 1.8MB 490ms 0ms rustc 1.83.0
csharp 3-m.cs 536ms 66ms 37.8MB 1747ms 3ms dotnet 9.0.101
java 2-m.java 557ms 2.8ms 48.4MB 1953ms 27ms openjdk 23
java 2-m.java 558ms 2.6ms 47.5MB 1963ms 23ms openjdk 21
javascript 6-m.js 615ms 5.5ms 118.0MB 2180ms 43ms node 23.5.0
java 2-m.java 676ms 7.0ms 45.6MB 1957ms 140ms openjdk/zgc 21
java 2-m.java 688ms 5.7ms 98.9MB 2293ms 57ms graal/jvm 17.0.8
odin 1.odin 846ms 8.4ms 2.3MB 837ms 0ms odin 2024
nim 1.nim 848ms 4.3ms 1.5MB 837ms 0ms nim/clang 2.2.0
d 1.d 854ms 19ms 3.5MB 840ms 0ms ldc2 1.40.0
wasm 2.rs 856ms 6.8ms 18.7MB 843ms 0ms wasmtime 28.0.0
d 1.d 859ms 2.7ms 5.3MB 847ms 0ms dmd 2.109.1
nim 1.nim 860ms 8.6ms 1.3MB 853ms 0ms nim 2.2.0
zig 1.zig 875ms 2.0ms 1.4MB 867ms 0ms zig 0.13.0
go 1.go 887ms 4.1ms 3.4MB 873ms 0ms go 1.23.4
chapel 1.chpl 893ms 7.1ms 32.8MB 887ms 0ms chpl 1.31.0
dart 1.dart 895ms 6.1ms 6.3MB 883ms 0ms dart/exe 3.6.0
crystal 1.cr 933ms 19ms 4.5MB 923ms 0ms crystal 1.14.0
haxe 1.hx 936ms 9.4ms 5.2MB 923ms 0ms haxe/hl/c 4.3.6
lua 1.lua 970ms 12ms 2.4MB 960ms 0ms luajit 2.1.0-beta3
typescript 7.ts 977ms 8.7ms 60.4MB 957ms 17ms deno 2.1.4
rust 2.rs 1001ms 10ms 1.9MB 987ms 0ms rustc 1.83.0
dart 2.dart 1041ms 1.0ms 6.1MB 1027ms 0ms dart/exe 3.6.0
ocaml 2.ml 1068ms 1.5ms 5.9MB 1057ms 0ms ocaml 5.2.1
wasm 7.rs 1168ms 17ms 20.5MB 1160ms 0ms wasmtime 28.0.0
v 1.v 1209ms 8.0ms 1.5MB 1200ms 0ms v/clang 0.4.9
csharp 3-m.cs 1220ms 125ms 28.6MB 4300ms 13ms mono 6.12.0
v 1.v 1252ms 9.5ms 2.5MB 1240ms 0ms v/clang+gc 0.4.9
go 1.go 1335ms 3.6ms 2.1MB 1323ms 0ms tinygo 0.35.0
haxe 1.hx 2279ms 6.3ms 6.6MB 2267ms 0ms haxe/cpp 4.3.6
ruby 4.rb 4148ms 29ms 427.7MB 4383ms 190ms 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.3MB 19510ms 17ms perl 5.40.0
python 8.py timeout 0.0ms 16.5MB 87ms 20ms cpython 3.13.1
python 8.py timeout 0.0ms 100.4MB 1460ms 480ms pypy 3.10.14
python 8.py timeout 0.0ms 15.6MB 147ms 37ms pyston 3.8.12
ruby 4.rb timeout 0.0ms 13.0MB 4987ms 0ms ruby 3.4.1
ruby 4.rb timeout 0.0ms 13.8MB 4980ms 3ms ruby/yjit 3.4.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 34ms 0.6ms 4.1MB 103ms 0ms rustc 1.83.0
rust 8-m.rs 35ms 0.2ms 4.2MB 110ms 0ms rustc 1.85.0-nightly
zig 2-m.zig 37ms 1.7ms 3.7MB 30ms 0ms zig 0.13.0
cpp 8-m.cpp 37ms 0.9ms 4.0MB 117ms 0ms g++ 11.4.0
cpp 8-m.cpp 42ms 11ms 7.4MB 117ms 0ms clang++ 14.0.0-1ubuntu1.1
zig 2.zig 56ms 0.1ms 1.4MB 50ms 0ms zig 0.13.0
rust 8.rs 63ms 1.0ms 2.1MB 50ms 0ms rustc 1.85.0-nightly
cpp 6-im.cpp 64ms 1.6ms 7.3MB 210ms 0ms clang++ 14.0.0-1ubuntu1.1
cpp 6-im.cpp 64ms 0.1ms 4.0MB 227ms 0ms g++ 11.4.0
c 4-m.c 67ms 0.5ms 4.0MB 233ms 0ms gcc 14.2.0
c 6-im.c 69ms 3.3ms 7.3MB 240ms 0ms clang 14.0.0-1ubuntu1.1
c 6-im.c 70ms 6.7ms 4.0MB 240ms 0ms gcc 14.2.0
c 5-im.c 76ms 1.5ms 4.0MB 270ms 0ms gcc 14.2.0
c 4-m.c 83ms 7.1ms 5.0MB 277ms 7ms clang 14.0.0-1ubuntu1.1
c 5-im.c 89ms 2.8ms 5.1MB 320ms 0ms clang 14.0.0-1ubuntu1.1
go 4-m.go 117ms 0.9ms 5.4MB 417ms 0ms go 1.23.4
c 3-m.c 117ms 2.1ms 5.1MB 417ms 0ms clang 14.0.0-1ubuntu1.1
csharp 3-m.cs 122ms 0.6ms 18.1MB 423ms 7ms dotnet/aot 9.0.101
rust 2-m.rs 123ms 2.3ms 6.1MB 447ms 3ms rustc 1.83.0
c 3-m.c 126ms 1.7ms 4.0MB 470ms 0ms gcc 14.2.0
chapel 1-m.chpl 132ms 0.7ms 32.8MB 230ms 0ms chpl 1.31.0
rust 7.rs 135ms 1.1ms 1.8MB 123ms 0ms rustc 1.83.0
csharp 3-m.cs 167ms 2.0ms 36.5MB 470ms 7ms dotnet 9.0.101
d 1.d 214ms 0.7ms 3.1MB 200ms 0ms ldc2 1.40.0
nim 1.nim 214ms 1.3ms 1.3MB 203ms 0ms nim 2.2.0
odin 1.odin 216ms 3.1ms 1.9MB 207ms 0ms odin 2024
nim 1.nim 217ms 5.1ms 1.5MB 207ms 0ms nim/clang 2.2.0
wasm 2.rs 221ms 1.7ms 20.5MB 210ms 0ms wasmtime 28.0.0
d 1.d 223ms 4.2ms 4.8MB 213ms 0ms dmd 2.109.1
zig 1.zig 224ms 2.6ms 1.4MB 213ms 0ms zig 0.13.0
go 1.go 224ms 4.2ms 3.4MB 217ms 0ms go 1.23.4
java 2-m.java 229ms 5.7ms 48.4MB 670ms 23ms openjdk 23
dart 1.dart 231ms 2.3ms 6.3MB 220ms 0ms dart/exe 3.6.0
crystal 1.cr 237ms 1.8ms 4.0MB 223ms 0ms crystal 1.14.0
java 2-m.java 238ms 14ms 47.6MB 693ms 20ms openjdk 21
chapel 1.chpl 241ms 1.9ms 32.9MB 230ms 3ms chpl 1.31.0
haxe 1.hx 242ms 7.7ms 5.1MB 227ms 0ms haxe/hl/c 4.3.6
lua 1.lua 243ms 1.7ms 2.3MB 230ms 0ms luajit 2.1.0-beta3
javascript 6-m.js 250ms 4.8ms 114.8MB 770ms 47ms node 23.5.0
rust 2.rs 256ms 5.0ms 1.9MB 247ms 0ms rustc 1.83.0
dart 2.dart 266ms 0.3ms 6.1MB 253ms 0ms dart/exe 3.6.0
ocaml 2.ml 269ms 1.8ms 5.2MB 257ms 0ms ocaml 5.2.1
typescript 7.ts 272ms 3.6ms 57.4MB 253ms 10ms deno 2.1.4
java 2-m.java 281ms 23ms 101.8MB 823ms 40ms graal/jvm 17.0.8
wasm 7.rs 298ms 4.7ms 18.9MB 290ms 0ms wasmtime 28.0.0
v 1.v 305ms 1.8ms 1.5MB 293ms 0ms v/clang 0.4.9
v 1.v 314ms 3.8ms 2.5MB 303ms 0ms v/clang+gc 0.4.9
go 1.go 333ms 7.4ms 0.3MB 323ms 0ms tinygo 0.35.0
csharp 3-m.cs 342ms 16ms 28.5MB 1147ms 10ms mono 6.12.0
java 2-m.java 346ms 3.4ms 47.1MB 667ms 133ms openjdk/zgc 21
haxe 1.hx 568ms 1.8ms 5.4MB 557ms 0ms haxe/cpp 4.3.6
ruby 4.rb 1193ms 53ms 393.2MB 1497ms 130ms truffleruby 24.1.1
python 8-m.py 1880ms 5.8ms 95.0MB 6000ms 323ms pypy 3.10.14
haxe 1.hx 2209ms 6.9ms 5.8MB 2200ms 0ms haxe/hl/jit 1.14.0
perl 4-m.pl 3251ms 16ms 12.6MB 12587ms 10ms perl 5.40.0
lua 1.lua timeout 0.0ms 2.0MB 4990ms 0ms lua 5.4.7
python 8.py timeout 0.0ms 16.2MB 233ms 33ms cpython 3.13.1
python 8.py timeout 0.0ms 17.2MB 440ms 127ms 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.9MB 4977ms 3ms ruby/yjit 3.4.1