All lru problem benchmarks

Current benchmark data was generated on Mon Oct 03 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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.)

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 44ms 0.5ms 2.9MB 33ms 0ms zig 0.10.0-dev.4213+91b05ad47
crystal 0-unsafe.cr 61ms 0.1ms 3.1MB 50ms 0ms crystal 1.5.1
rust 0-unsafe.rs 63ms 2.4ms 0.6MB 53ms 0ms rustc 1.64.0
rust 1.rs 87ms 4.7ms 2.1MB 77ms 0ms rustc 1.64.0
crystal 1.cr 108ms 3.9ms 3.1MB 100ms 0ms crystal 1.5.1
wasm 1.rs 125ms 0.6ms 6.0MB 117ms 0ms wasmer/llvm 2.3.0
wasm 1.rs 139ms 1.7ms 20.9MB 130ms 0ms wasmedgec 0.11.0
nim 2.nim 147ms 0.8ms 1.0MB 140ms 0ms nim/clang 1.6.8
odin 1.odin 149ms 4.0ms 1.8MB 140ms 0ms odin 2022
wasm 1.rs 151ms 0.5ms 11.1MB 137ms 0ms wasmtime 1.0.1
nim 2.nim 158ms 1.3ms 0.7MB 150ms 0ms nim 1.6.8
go 3.go 166ms 1.0ms 0.3MB 160ms 0ms tinygo 0.25.0
go 3.go 174ms 2.3ms 4.8MB 160ms 0ms go 1.19.1
d 1.d 179ms 0.8ms 4.1MB 170ms 0ms ldc2 1.30.0
haxe 1.hx 180ms 0.8ms 22.3MB 167ms 3ms haxe/cpp 4.2.5
haxe 1.hx 183ms 0.7ms 3.0MB 170ms 0ms haxe/hl/c 4.2.5
csharp 2.cs 186ms 2.6ms 25.5MB 167ms 0ms mono 6.12.0
python 2.py 206ms 8.8ms 80.0MB 177ms 13ms pypy 3.8.13
csharp 2.cs 206ms 5.1ms 28.1MB 170ms 0ms dotnet 6.0.401
kotlin 2-m.kt 219ms 2.9ms 113.0MB 323ms 23ms kotlin/jvm 17.0.2
wasm 1.rs 226ms 3.1ms 44.5MB 250ms 0ms node 16.17.0
kotlin 1.kt 235ms 1.6ms 109.5MB 293ms 17ms kotlin/jvm 17.0.2
dart 2.dart 235ms 0.3ms 16.6MB 223ms 0ms dart/exe 2.18.2
ocaml 1.ml 238ms 0.1ms 6.0MB 230ms 0ms ocaml 4.14.0
haxe 1.hx 238ms 4.1ms 3.8MB 227ms 0ms haxe/hl/jit 1.12.0
python 1.py 239ms 0.8ms 81.1MB 213ms 13ms pypy 3.8.13
d 1.d 245ms 1.5ms 4.9MB 237ms 0ms dmd 2.100.2
v 1.v 418ms 0.4ms 2.2MB 410ms 0ms v/clang+gc 0.3.1
v 1.v 427ms 0.4ms 2.3MB 420ms 0ms v/clang 0.3.1
kotlin 2-m.kt 441ms 4.2ms 42.4MB 730ms 3ms kotlin/native 1.7.20
javascript 2.js 523ms 5.3ms 107.6MB 517ms 23ms bun 0.1.13
javascript 1.js 553ms 2.4ms 148.4MB 557ms 13ms bun 0.1.13
ruby 1.rb 615ms 14ms 30.1MB 593ms 10ms ruby 3.1.2
ruby 1.rb 628ms 4.4ms 286.7MB 473ms 137ms ruby/yjit 3.1.2
typescript 2.ts 653ms 1.1ms 45.3MB 647ms 7ms deno 1.26.0
ruby 1-m.rb 773ms 57ms 312.0MB 1127ms 97ms truffleruby 22.2.0
javascript 2.js 792ms 3.7ms 60.7MB 763ms 17ms node 18.10.0
python 1.py 980ms 3.6ms 9.0MB 963ms 0ms pyston 3.8.12
typescript 1.ts 1079ms 1.8ms 44.8MB 1063ms 7ms deno 1.26.0
javascript 1.js 1145ms 5.0ms 61.5MB 1113ms 20ms node 18.10.0
python 2.py 1155ms 3.7ms 8.7MB 1140ms 0ms pyston 3.8.12
dart 1.dart 1457ms 6.3ms 16.8MB 1437ms 7ms dart/exe 2.18.2
csharp 1.cs 1695ms 39ms 88.7MB 1610ms 33ms dotnet 6.0.401
python 1.py 1854ms 29ms 8.4MB 1843ms 0ms cpython 3.10.7
python 2.py 2594ms 29ms 8.3MB 2583ms 0ms cpython 3.10.7
csharp 1.cs 3023ms 16ms 49.6MB 2993ms 20ms mono 6.12.0
kotlin 1.kt timeout 0.0ms 0.0MB 0ms 0ms kotlin/native 1.7.20
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim/clang 1.6.8
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim 1.6.8

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 127ms 3.7ms 2.8MB 117ms 0ms zig 0.10.0-dev.4213+91b05ad47
crystal 0-unsafe.cr 174ms 1.0ms 3.1MB 163ms 0ms crystal 1.5.1
rust 0-unsafe.rs 205ms 4.3ms 0.6MB 190ms 0ms rustc 1.64.0
rust 1.rs 290ms 20ms 2.1MB 280ms 0ms rustc 1.64.0
crystal 1.cr 312ms 1.1ms 5.0MB 300ms 0ms crystal 1.5.1
kotlin 2.kt 365ms 2.6ms 129.5MB 467ms 30ms kotlin/jvm 17.0.2
wasm 1.rs 371ms 1.6ms 6.3MB 360ms 0ms wasmer/llvm 2.3.0
wasm 1.rs 398ms 6.5ms 18.9MB 387ms 0ms wasmedgec 0.11.0
nim 2.nim 434ms 0.5ms 0.9MB 420ms 0ms nim/clang 1.6.8
odin 1.odin 435ms 4.8ms 1.8MB 427ms 0ms odin 2022
wasm 1.rs 441ms 13ms 11.2MB 427ms 0ms wasmtime 1.0.1
kotlin 1.kt 454ms 1.4ms 138.4MB 503ms 30ms kotlin/jvm 17.0.2
csharp 2.cs 462ms 9.8ms 28.4MB 440ms 0ms dotnet 6.0.401
nim 2.nim 466ms 0.8ms 0.7MB 457ms 0ms nim 1.6.8
python 2.py 469ms 1.8ms 80.3MB 437ms 13ms pypy 3.8.13
wasm 1.rs 489ms 11ms 44.6MB 507ms 3ms node 16.17.0
go 3.go 490ms 1.3ms 2.0MB 480ms 0ms tinygo 0.25.0
csharp 2.cs 506ms 4.4ms 27.5MB 493ms 0ms mono 6.12.0
python 1.py 509ms 5.6ms 81.5MB 490ms 7ms pypy 3.8.13
go 3.go 512ms 1.0ms 2.8MB 500ms 0ms go 1.19.1
haxe 1.hx 515ms 4.3ms 27.3MB 500ms 3ms haxe/cpp 4.2.5
d 1.d 526ms 1.0ms 4.0MB 520ms 0ms ldc2 1.30.0
haxe 1.hx 541ms 3.6ms 3.0MB 530ms 0ms haxe/hl/c 4.2.5
dart 2.dart 686ms 3.9ms 16.9MB 677ms 0ms dart/exe 2.18.2
ocaml 1.ml 706ms 0.9ms 5.9MB 690ms 0ms ocaml 4.14.0
haxe 1.hx 710ms 16ms 3.6MB 697ms 0ms haxe/hl/jit 1.12.0
d 1.d 722ms 0.5ms 5.0MB 713ms 0ms dmd 2.100.2
v 1.v 1248ms 2.5ms 2.2MB 1240ms 0ms v/clang+gc 0.3.1
v 1.v 1278ms 1.8ms 2.3MB 1267ms 0ms v/clang 0.3.1
kotlin 2-m.kt 1339ms 41ms 147.6MB 2167ms 47ms kotlin/native 1.7.20
ruby 1.rb 1391ms 9.5ms 286.8MB 1243ms 130ms ruby/yjit 3.1.2
ruby 1.rb 1431ms 73ms 353.1MB 1917ms 123ms truffleruby 22.2.0
javascript 2.js 1508ms 2.5ms 104.2MB 1513ms 17ms bun 0.1.13
javascript 1.js 1588ms 8.2ms 172.8MB 1613ms 30ms bun 0.1.13
ruby 1.rb 1660ms 16ms 30.2MB 1640ms 7ms ruby 3.1.2
typescript 2.ts 1867ms 2.7ms 53.4MB 1857ms 10ms deno 1.26.0
javascript 2.js 2202ms 18ms 63.0MB 2180ms 20ms node 18.10.0
python 1.py 2897ms 7.1ms 9.0MB 2880ms 0ms pyston 3.8.12
typescript 1.ts 3163ms 15ms 53.0MB 3147ms 13ms deno 1.26.0
javascript 1.js 3262ms 5.5ms 61.7MB 3240ms 17ms node 18.10.0
python 2.py 3450ms 16ms 8.7MB 3437ms 0ms pyston 3.8.12
dart 1.dart 4345ms 2.0ms 16.8MB 4333ms 3ms dart/exe 2.18.2
csharp 1.cs 4631ms 6.8ms 91.1MB 4590ms 27ms dotnet 6.0.401
csharp 1.cs timeout 0.0ms 0.0MB 0ms 0ms mono 6.12.0
kotlin 1.kt timeout 0.0ms 0.0MB 0ms 0ms kotlin/native 1.7.20
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim/clang 1.6.8
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim 1.6.8
python 1.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7
python 2.py timeout 0.0ms 0.0MB 0ms 0ms cpython 3.10.7

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 21ms 0.6ms 1.6MB 10ms 0ms zig 0.10.0-dev.4213+91b05ad47
crystal 0-unsafe.cr 30ms 0.9ms 3.1MB 20ms 0ms crystal 1.5.1
rust 0-unsafe.rs 35ms 0.9ms 0.6MB 27ms 0ms rustc 1.64.0
rust 1.rs 44ms 0.1ms 0.6MB 40ms 0ms rustc 1.64.0
crystal 1.cr 55ms 0.8ms 3.1MB 47ms 0ms crystal 1.5.1
wasm 1.rs 62ms 0.5ms 5.0MB 50ms 0ms wasmer/llvm 2.3.0
nim 2.nim 65ms 0.6ms 1.0MB 53ms 0ms nim/clang 1.6.8
odin 1.odin 66ms 0.3ms 0.9MB 60ms 0ms odin 2022
nim 2.nim 68ms 0.9ms 0.6MB 60ms 0ms nim 1.6.8
wasm 1.rs 72ms 0.8ms 19.0MB 60ms 0ms wasmedgec 0.11.0
wasm 1.rs 75ms 1.2ms 9.3MB 67ms 0ms wasmtime 1.0.1
d 1.d 78ms 0.1ms 4.2MB 70ms 0ms ldc2 1.30.0
go 3.go 81ms 1.1ms 0.0MB 70ms 0ms tinygo 0.25.0
haxe 1.hx 86ms 1.6ms 15.8MB 73ms 0ms haxe/cpp 4.2.5
haxe 1.hx 90ms 0.4ms 2.9MB 77ms 0ms haxe/hl/c 4.2.5
go 3.go 93ms 2.6ms 6.1MB 83ms 0ms go 1.19.1
ocaml 1.ml 105ms 1.1ms 5.2MB 93ms 0ms ocaml 4.14.0
csharp 2.cs 106ms 1.7ms 26.0MB 90ms 3ms mono 6.12.0
d 1.d 106ms 0.3ms 4.7MB 97ms 0ms dmd 2.100.2
dart 2.dart 111ms 0.9ms 16.6MB 100ms 0ms dart/exe 2.18.2
haxe 1.hx 119ms 3.9ms 3.7MB 103ms 0ms haxe/hl/jit 1.12.0
csharp 2.cs 134ms 1.6ms 30.0MB 97ms 3ms dotnet 6.0.401
v 1.v 136ms 0.8ms 2.3MB 127ms 0ms v/clang+gc 0.3.1
v 1.v 141ms 0.8ms 2.2MB 130ms 0ms v/clang 0.3.1
python 2.py 147ms 2.5ms 80.0MB 120ms 10ms pypy 3.8.13
wasm 1.rs 158ms 0.7ms 44.6MB 177ms 3ms node 16.17.0
python 1.py 162ms 1.0ms 81.0MB 130ms 20ms pypy 3.8.13
kotlin 1-m.kt 170ms 0.3ms 75.9MB 247ms 13ms kotlin/jvm 17.0.2
kotlin 2-m.kt 183ms 3.1ms 78.7MB 253ms 27ms kotlin/jvm 17.0.2
dart 1.dart 206ms 0.8ms 16.7MB 190ms 0ms dart/exe 2.18.2
kotlin 2-m.kt 229ms 0.3ms 30.3MB 383ms 7ms kotlin/native 1.7.20
javascript 2.js 266ms 2.2ms 96.0MB 257ms 17ms bun 0.1.13
javascript 1.js 280ms 1.9ms 113.7MB 280ms 13ms bun 0.1.13
ruby 1.rb 337ms 2.5ms 29.9MB 317ms 7ms ruby 3.1.2
typescript 2.ts 339ms 2.3ms 39.2MB 327ms 3ms deno 1.26.0
typescript 1.ts 371ms 1.7ms 38.9MB 357ms 7ms deno 1.26.0
javascript 2.js 415ms 3.4ms 50.6MB 403ms 3ms node 18.10.0
nim 1.nim 419ms 6.5ms 1.0MB 407ms 0ms nim/clang 1.6.8
ruby 1.rb 433ms 1.4ms 286.6MB 270ms 140ms ruby/yjit 3.1.2
nim 1.nim 448ms 0.6ms 0.7MB 440ms 0ms nim 1.6.8
javascript 1.js 449ms 5.1ms 49.6MB 430ms 0ms node 18.10.0
python 1.py 477ms 4.2ms 8.7MB 457ms 0ms pyston 3.8.12
python 2.py 540ms 4.5ms 8.2MB 527ms 0ms pyston 3.8.12
ruby 1-m.rb 568ms 48ms 298.6MB 857ms 90ms truffleruby 22.2.0
python 1.py 869ms 9.9ms 7.9MB 857ms 0ms cpython 3.10.7
python 2.py 1253ms 11ms 7.3MB 1237ms 0ms cpython 3.10.7
csharp 1.cs 3184ms 4.2ms 77.1MB 3137ms 30ms dotnet 6.0.401
csharp 1.cs 3186ms 0.7ms 30.6MB 3167ms 3ms mono 6.12.0
kotlin 1.kt timeout 0.0ms 0.0MB 0ms 0ms kotlin/native 1.7.20