All lru problem benchmarks

Current benchmark data was generated on Sun Dec 01 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.)

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 35ms 1.7ms 2.9MB 23ms 0ms zig 0.13.0
crystal 0-unsafe.cr 36ms 1.4ms 3.1MB 20ms 0ms crystal 1.14.0
rust 0-unsafe.rs 42ms 1.1ms 1.9MB 30ms 0ms rustc 1.83.0
rust 1.rs 51ms 4.9ms 2.0MB 43ms 0ms rustc 1.83.0
crystal 1.cr 63ms 1.1ms 3.1MB 50ms 0ms crystal 1.14.0
wasm 1.rs 79ms 1.1ms 20.7MB 60ms 0ms wasmtime 27.0.0
wasm 1.rs 80ms 0.5ms 37.2MB 63ms 0ms wasmer/llvm 5.0.2
csharp 2.cs 94ms 2.1ms 13.8MB 80ms 0ms dotnet/aot 9.0.100
nim 2.nim 110ms 2.7ms 1.6MB 100ms 0ms nim/clang 2.2.0
nim 2.nim 116ms 2.9ms 1.3MB 107ms 0ms nim 2.2.0
d 1.d 125ms 0.6ms 5.8MB 117ms 3ms ldc2 1.39.0
go 3.go 132ms 1.8ms 3.4MB 123ms 0ms go 1.23.3
go 3.go 135ms 3.9ms 0.3MB 127ms 0ms tinygo 0.34.0
haxe 1.hx 135ms 3.7ms 20.4MB 123ms 3ms haxe/cpp 4.3.6
haxe 1.hx 136ms 1.5ms 5.0MB 130ms 0ms haxe/hl/c 4.3.6
odin 1.odin 144ms 0.2ms 1.6MB 137ms 0ms odin 2024
python 2.py 146ms 5.0ms 57.9MB 120ms 7ms pypy 3.10.14
csharp 2.cs 150ms 3.6ms 24.7MB 137ms 0ms mono 6.12.0
haxe 1.hx 159ms 3.9ms 5.8MB 143ms 3ms haxe/hl/jit 1.14.0
dart 2.dart 162ms 2.4ms 9.3MB 153ms 0ms dart/exe 3.5.4
python 1.py 176ms 0.5ms 59.5MB 150ms 10ms pypy 3.10.14
d 1.d 181ms 0.7ms 7.8MB 170ms 3ms dmd 2.109.1
ocaml 1.ml 183ms 10ms 6.4MB 170ms 0ms ocaml 5.2.1
kotlin 1-m.kt 185ms 5.2ms 96.3MB 300ms 30ms kotlin/jvm 21
kotlin 2-m.kt 198ms 2.7ms 103.3MB 427ms 33ms kotlin/jvm 21
v 1.v 239ms 2.0ms 1.3MB 230ms 0ms v/clang 0.4.8
csharp 2.cs 257ms 15ms 35.6MB 233ms 7ms dotnet 9.0.100
v 1.v 259ms 4.5ms 2.1MB 250ms 0ms v/clang+gc 0.4.8
typescript 2.ts 270ms 3.0ms 69.3MB 253ms 17ms deno 2.1.2
kotlin 2.kt 303ms 3.4ms 7.6MB 423ms 17ms kotlin/native 1.8.21
javascript 2.js 307ms 1.5ms 66.6MB 293ms 17ms node 23.3.0
ruby 1.rb 327ms 4.3ms 28.4MB 293ms 20ms ruby/yjit 3.3.6
dart 1.dart 491ms 6.8ms 9.5MB 483ms 0ms dart/exe 3.5.4
kotlin 1.kt 505ms 3.2ms 7.8MB 597ms 7ms kotlin/native 1.8.21
ruby 1.rb 541ms 51ms 28.3MB 510ms 17ms ruby 3.3.6
javascript 1.js 556ms 4.1ms 64.6MB 543ms 7ms node 23.3.0
typescript 1.ts 572ms 3.4ms 61.9MB 550ms 17ms deno 2.1.2
javascript 2.js 654ms 2.5ms 122.6MB 690ms 73ms bun 1.1.38
ruby 1-m.rb 688ms 35ms 390.9MB 1207ms 143ms truffleruby 24.1.1
python 1.py 713ms 3.1ms 8.9MB 703ms 0ms pyston 3.8.12
python 2.py 841ms 12ms 8.5MB 830ms 0ms pyston 3.8.12
javascript 1.js 879ms 2.7ms 110.8MB 957ms 87ms bun 1.1.38
csharp 1.cs 1062ms 8.1ms 17.1MB 1037ms 10ms dotnet/aot 9.0.100
python 1.py 1118ms 25ms 9.4MB 1110ms 0ms cpython 3.13.0
python 2.py 1290ms 15ms 9.1MB 1273ms 0ms cpython 3.13.0
csharp 1.cs 1361ms 54ms 37.1MB 1357ms 3ms dotnet 9.0.100
csharp 1.cs 3397ms 88ms 45.7MB 3350ms 33ms mono 6.12.0
nim 1.nim timeout 0.0ms 1.5MB 4990ms 0ms nim/clang 2.2.0
nim 1.nim timeout 0.0ms 1.3MB 4987ms 0ms nim 2.2.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 98ms 2.2ms 2.9MB 90ms 0ms zig 0.13.0
crystal 0-unsafe.cr 99ms 0.6ms 3.1MB 90ms 0ms crystal 1.14.0
rust 0-unsafe.rs 156ms 1.9ms 1.9MB 150ms 0ms rustc 1.83.0
crystal 1.cr 187ms 1.0ms 3.3MB 180ms 0ms crystal 1.14.0
rust 1.rs 197ms 16ms 2.0MB 187ms 0ms rustc 1.83.0
wasm 1.rs 220ms 0.7ms 37.4MB 207ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 224ms 4.2ms 19.1MB 210ms 0ms wasmtime 27.0.0
csharp 2.cs 265ms 4.1ms 13.9MB 250ms 0ms dotnet/aot 9.0.100
kotlin 2-m.kt 310ms 1.0ms 213.2MB 547ms 50ms kotlin/jvm 21
nim 2.nim 322ms 3.0ms 1.9MB 313ms 0ms nim/clang 2.2.0
kotlin 1.kt 329ms 4.8ms 204.6MB 437ms 40ms kotlin/jvm 21
nim 2.nim 335ms 1.0ms 1.3MB 323ms 0ms nim 2.2.0
python 2.py 339ms 1.0ms 58.9MB 313ms 13ms pypy 3.10.14
csharp 2.cs 358ms 3.2ms 24.3MB 340ms 7ms mono 6.12.0
d 1.d 359ms 0.1ms 5.8MB 350ms 10ms ldc2 1.39.0
python 1.py 372ms 2.9ms 60.4MB 347ms 10ms pypy 3.10.14
haxe 1.hx 378ms 2.7ms 25.5MB 360ms 7ms haxe/cpp 4.3.6
go 3.go 380ms 0.4ms 3.4MB 370ms 0ms go 1.23.3
go 3.go 391ms 5.4ms 2.3MB 383ms 0ms tinygo 0.34.0
haxe 1.hx 396ms 2.4ms 5.1MB 383ms 0ms haxe/hl/c 4.3.6
csharp 2.cs 401ms 1.0ms 35.5MB 377ms 13ms dotnet 9.0.100
odin 1.odin 428ms 3.8ms 1.6MB 417ms 0ms odin 2024
haxe 1.hx 458ms 2.3ms 5.8MB 447ms 3ms haxe/hl/jit 1.14.0
dart 2.dart 472ms 1.6ms 9.3MB 457ms 3ms dart/exe 3.5.4
ocaml 1.ml 530ms 20ms 6.6MB 517ms 0ms ocaml 5.2.1
d 1.d 531ms 3.4ms 8.1MB 510ms 20ms dmd 2.109.1
v 1.v 706ms 3.0ms 1.3MB 697ms 0ms v/clang 0.4.8
typescript 2.ts 740ms 7.1ms 74.0MB 730ms 20ms deno 2.1.2
v 1.v 767ms 5.1ms 2.1MB 757ms 0ms v/clang+gc 0.4.8
ruby 1.rb 834ms 9.1ms 28.5MB 800ms 20ms ruby/yjit 3.3.6
javascript 2.js 850ms 3.9ms 71.8MB 830ms 23ms node 23.3.0
kotlin 2.kt 910ms 4.1ms 7.8MB 1313ms 40ms kotlin/native 1.8.21
ruby 1-m.rb 1270ms 23ms 436.7MB 1760ms 173ms truffleruby 24.1.1
ruby 1.rb 1406ms 22ms 28.3MB 1373ms 23ms ruby 3.3.6
dart 1.dart 1450ms 3.8ms 9.3MB 1430ms 7ms dart/exe 3.5.4
kotlin 1.kt 1549ms 11ms 7.8MB 1893ms 20ms kotlin/native 1.8.21
javascript 1.js 1581ms 2.8ms 71.0MB 1560ms 17ms node 23.3.0
typescript 1.ts 1651ms 25ms 72.1MB 1627ms 20ms deno 2.1.2
javascript 2.js 1821ms 23ms 122.0MB 1977ms 60ms bun 1.1.38
python 1.py 2130ms 31ms 8.9MB 2117ms 3ms pyston 3.8.12
python 2.py 2504ms 61ms 8.5MB 2490ms 0ms pyston 3.8.12
javascript 1.js 2555ms 37ms 110.8MB 2857ms 143ms bun 1.1.38
csharp 1.cs 3170ms 34ms 17.2MB 3147ms 13ms dotnet/aot 9.0.100
python 1.py 3298ms 41ms 9.4MB 3283ms 0ms cpython 3.13.0
csharp 1.cs 3581ms 8.0ms 39.1MB 3553ms 30ms dotnet 9.0.100
python 2.py 3869ms 4.9ms 9.1MB 3853ms 0ms cpython 3.13.0
csharp 1.cs timeout 0.0ms 47.7MB 4940ms 50ms mono 6.12.0
nim 1.nim timeout 0.0ms 1.5MB 4990ms 0ms nim/clang 2.2.0
nim 1.nim timeout 0.0ms 1.3MB 4987ms 0ms nim 2.2.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
zig 1.zig 16ms 1.3ms 1.4MB 10ms 0ms zig 0.13.0
crystal 0-unsafe.cr 19ms 1.0ms 3.0MB 10ms 0ms crystal 1.14.0
rust 0-unsafe.rs 26ms 0.5ms 1.9MB 20ms 0ms rustc 1.83.0
rust 1.rs 29ms 0.7ms 1.9MB 20ms 0ms rustc 1.83.0
crystal 1.cr 30ms 0.7ms 3.0MB 20ms 0ms crystal 1.14.0
wasm 1.rs 46ms 0.7ms 19.2MB 37ms 0ms wasmtime 27.0.0
nim 2.nim 49ms 1.7ms 1.5MB 40ms 0ms nim/clang 2.2.0
wasm 1.rs 49ms 1.3ms 38.5MB 37ms 0ms wasmer/llvm 5.0.2
nim 2.nim 51ms 0.5ms 1.3MB 40ms 0ms nim 2.2.0
csharp 2.cs 51ms 1.5ms 13.5MB 37ms 3ms dotnet/aot 9.0.100
d 1.d 55ms 0.6ms 5.9MB 50ms 0ms ldc2 1.39.0
haxe 1.hx 62ms 0.1ms 12.4MB 50ms 0ms haxe/cpp 4.3.6
haxe 1.hx 67ms 0.4ms 5.0MB 60ms 0ms haxe/hl/c 4.3.6
odin 1.odin 67ms 1.9ms 1.6MB 60ms 0ms odin 2024
go 3.go 68ms 0.8ms 5.4MB 57ms 0ms go 1.23.3
go 3.go 69ms 1.6ms 0.1MB 60ms 0ms tinygo 0.34.0
ocaml 1.ml 78ms 2.4ms 5.9MB 67ms 0ms ocaml 5.2.1
haxe 1.hx 79ms 0.1ms 5.7MB 67ms 0ms haxe/hl/jit 1.14.0
dart 2.dart 79ms 4.7ms 9.4MB 70ms 0ms dart/exe 3.5.4
d 1.d 81ms 0.9ms 7.9MB 73ms 0ms dmd 2.109.1
v 1.v 92ms 1.4ms 1.3MB 80ms 0ms v/clang 0.4.8
csharp 2.cs 92ms 0.6ms 27.2MB 80ms 0ms mono 6.12.0
v 1.v 101ms 1.3ms 2.1MB 90ms 0ms v/clang+gc 0.4.8
python 2.py 103ms 0.8ms 57.8MB 77ms 13ms pypy 3.10.14
dart 1.dart 115ms 0.9ms 9.4MB 100ms 0ms dart/exe 3.5.4
python 1.py 120ms 2.9ms 58.5MB 97ms 7ms pypy 3.10.14
kotlin 2.kt 137ms 0.1ms 5.7MB 190ms 0ms kotlin/native 1.8.21
kotlin 1-m.kt 142ms 1.1ms 90.9MB 277ms 27ms kotlin/jvm 21
typescript 2.ts 142ms 3.0ms 64.8MB 137ms 7ms deno 2.1.2
kotlin 2-m.kt 158ms 11ms 93.7MB 300ms 37ms kotlin/jvm 21
javascript 2.js 166ms 2.5ms 60.1MB 163ms 3ms node 23.3.0
kotlin 1.kt 166ms 2.7ms 5.8MB 203ms 0ms kotlin/native 1.8.21
typescript 1.ts 167ms 2.2ms 60.9MB 150ms 10ms deno 2.1.2
javascript 1.js 172ms 16ms 61.8MB 157ms 10ms node 23.3.0
csharp 2.cs 190ms 12ms 35.5MB 153ms 0ms dotnet 9.0.100
ruby 1.rb 197ms 0.7ms 28.4MB 167ms 13ms ruby/yjit 3.3.6
ruby 1.rb 290ms 3.2ms 28.3MB 260ms 13ms ruby 3.3.6
javascript 1.js 323ms 4.0ms 119.0MB 360ms 73ms bun 1.1.38
python 1.py 349ms 5.9ms 8.5MB 333ms 0ms pyston 3.8.12
javascript 2.js 352ms 4.1ms 125.4MB 380ms 47ms bun 1.1.38
python 2.py 384ms 5.3ms 8.1MB 367ms 3ms pyston 3.8.12
nim 1.nim 489ms 3.0ms 1.5MB 480ms 0ms nim/clang 2.2.0
nim 1.nim 490ms 1.1ms 1.3MB 480ms 0ms nim 2.2.0
python 1.py 536ms 14ms 9.3MB 520ms 0ms cpython 3.13.0
ruby 1-m.rb 555ms 11ms 368.8MB 1063ms 157ms truffleruby 24.1.1
python 2.py 617ms 1.4ms 8.8MB 607ms 0ms cpython 3.13.0
csharp 1.cs 1618ms 7.3ms 36.6MB 1607ms 13ms dotnet 9.0.100
csharp 1.cs 1808ms 9.3ms 17.0MB 1787ms 3ms dotnet/aot 9.0.100
csharp 1.cs 1811ms 3.9ms 28.8MB 1797ms 0ms mono 6.12.0