Current benchmark data was generated on Sat Nov 16 2024, full log can be found HERE
CONTRIBUTIONS are WELCOME!
* -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.)
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 2720ms | 34ms | 46.1MB | 5730ms | 43ms | go 1.23.3 |
lua | 1.lua | 3463ms | 70ms | 172.8MB | 3323ms | 123ms | luajit 2.1.0-beta3 |
go | 1.go | 3817ms | 45ms | 51.5MB | 3800ms | 0ms | tinygo 0.34.0 |
lua | 1.lua | timeout | 0.0ms | 104.9MB | 4960ms | 27ms | lua 5.4.7 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 1612ms | 18ms | 36.6MB | 3263ms | 33ms | go 1.23.3 |
go | 2-m.go | 1871ms | 71ms | 43.0MB | 3923ms | 27ms | go 1.23.3 |
go | 1.go | 2050ms | 9.5ms | 52.0MB | 2030ms | 3ms | tinygo 0.34.0 |
go | 2.go | 3360ms | 7.7ms | 90.6MB | 3333ms | 10ms | tinygo 0.34.0 |
lua | 1.lua | timeout | 0.0ms | 107.4MB | 4953ms | 33ms | lua 5.4.7 |
lua | 1.lua | timeout | 0.0ms | 149.3MB | 4933ms | 47ms | luajit 2.1.0-beta3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 365ms | 1.7ms | 12.1MB | 700ms | 27ms | go 1.23.3 |
go | 2-m.go | 410ms | 1.5ms | 13.9MB | 847ms | 13ms | go 1.23.3 |
go | 1.go | 441ms | 5.4ms | 13.7MB | 430ms | 0ms | tinygo 0.34.0 |
go | 2.go | 669ms | 4.4ms | 29.0MB | 657ms | 0ms | tinygo 0.34.0 |
lua | 1.lua | 1122ms | 32ms | 31.0MB | 1097ms | 10ms | luajit 2.1.0-beta3 |
lua | 1.lua | 2145ms | 2.0ms | 28.6MB | 2120ms | 10ms | lua 5.4.7 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1.go | 348ms | 4.4ms | 0.1MB | 337ms | 0ms | tinygo 0.34.0 |
go | 1.go | 362ms | 2.1ms | 3.4MB | 350ms | 0ms | go 1.23.3 |
lua | 4.lua | 716ms | 7.4ms | 2.4MB | 707ms | 0ms | luajit 2.1.0-beta3 |
lua | 4.lua | timeout | 0.0ms | 2.3MB | 4990ms | 0ms | lua 5.4.7 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 4-m.go | 1890ms | 3.1ms | 5.5MB | 7367ms | 0ms | go 1.23.3 |
go | 1.go | 3654ms | 21ms | 5.5MB | 3643ms | 3ms | go 1.23.3 |
lua | 1.lua | 4052ms | 6.0ms | 2.5MB | 4043ms | 0ms | luajit 2.1.0-beta3 |
go | 1.go | timeout | 0.0ms | 2.3MB | 4990ms | 0ms | tinygo 0.34.0 |
lua | 1.lua | timeout | 0.0ms | 2.5MB | 4990ms | 0ms | lua 5.4.7 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 4-m.go | 479ms | 3.5ms | 5.5MB | 1820ms | 7ms | go 1.23.3 |
go | 1.go | 922ms | 9.4ms | 3.4MB | 913ms | 0ms | go 1.23.3 |
lua | 1.lua | 1024ms | 0.9ms | 2.4MB | 1010ms | 0ms | luajit 2.1.0-beta3 |
go | 1.go | 1392ms | 2.1ms | 0.4MB | 1380ms | 0ms | tinygo 0.34.0 |
lua | 1.lua | timeout | 0.0ms | 2.1MB | 4990ms | 0ms | lua 5.4.7 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 4-m.go | 126ms | 2.3ms | 5.4MB | 437ms | 3ms | go 1.23.3 |
go | 1.go | 235ms | 4.7ms | 3.4MB | 227ms | 0ms | go 1.23.3 |
lua | 1.lua | 258ms | 1.0ms | 2.3MB | 247ms | 0ms | luajit 2.1.0-beta3 |
go | 1.go | 350ms | 0.2ms | 0.3MB | 340ms | 0ms | tinygo 0.34.0 |
lua | 1.lua | timeout | 0.0ms | 2.1MB | 4990ms | 0ms | lua 5.4.7 |