Current benchmark data was generated on Fri May 20 2022, 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 |
---|---|---|---|---|---|---|---|
v | 1.v | 1118ms | 8.9ms | 37.2MB | 1100ms | 0ms | v/clang+gc 0.2.4 |
v | 1.v | 2375ms | 3.1ms | 2086.3MB | 1607ms | 750ms | v/clang 0.2.4 |
go | 1.go | 3208ms | 18ms | 45.7MB | 4603ms | 63ms | go 1.18.2 |
go | 1.go | 4543ms | 15ms | 39.4MB | 4520ms | 7ms | tinygo 0.23.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 838ms | 145ms | 13.6MB | 1630ms | 0ms | go 1.18.2 |
go | 1.go | 1779ms | 20ms | 257.5MB | 1707ms | 57ms | tinygo 0.23.0 |
v | 1.v | timeout | 0.0ms | 0.0MB | 0ms | 0ms | v/clang 0.2.4 |
v | 1.v | timeout | 0.0ms | 0.0MB | 0ms | 0ms | v/clang+gc 0.2.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 1-m.go | 62ms | 0.8ms | 5.4MB | 97ms | 0ms | go 1.18.2 |
go | 1.go | 275ms | 1.2ms | 66.3MB | 257ms | 3ms | tinygo 0.23.0 |
v | 1-m.v | 2078ms | 196ms | 18.2MB | 1930ms | 1983ms | v/clang 0.2.4 |
v | 1-m.v | 2154ms | 386ms | 18.8MB | 2113ms | 1923ms | v/clang+gc 0.2.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 3.go | 165ms | 0.4ms | 2.0MB | 153ms | 0ms | tinygo 0.23.0 |
go | 3.go | 173ms | 2.5ms | 2.9MB | 160ms | 0ms | go 1.18.2 |
v | 1.v | 399ms | 1.3ms | 0.6MB | 390ms | 0ms | v/clang 0.2.4 |
v | 1.v | 416ms | 0.8ms | 2.3MB | 400ms | 0ms | v/clang+gc 0.2.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 3.go | 490ms | 0.9ms | 2.0MB | 480ms | 0ms | tinygo 0.23.0 |
go | 3.go | 506ms | 3.4ms | 2.9MB | 490ms | 0ms | go 1.18.2 |
v | 1.v | 1186ms | 1.6ms | 0.6MB | 1177ms | 0ms | v/clang 0.2.4 |
v | 1.v | 1244ms | 1.7ms | 2.3MB | 1230ms | 0ms | v/clang+gc 0.2.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
v | 2.v | 509ms | 13ms | 6.8MB | 490ms | 0ms | v/clang+gc 0.2.4 |
v | 1.v | 533ms | 20ms | 40.2MB | 517ms | 3ms | v/clang 0.2.4 |
v | 1.v | 539ms | 16ms | 41.2MB | 527ms | 0ms | v/clang+gc 0.2.4 |
go | 2.go | 646ms | 5.3ms | 17.4MB | 637ms | 0ms | tinygo 0.23.0 |
go | 1.go | 821ms | 37ms | 73.6MB | 800ms | 3ms | go 1.18.2 |
go | 1.go | 864ms | 3.5ms | 42.3MB | 847ms | 3ms | tinygo 0.23.0 |
go | 2.go | 929ms | 3.5ms | 20.1MB | 923ms | 0ms | go 1.18.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
v | 2.v | 117ms | 1.0ms | 3.2MB | 103ms | 0ms | v/clang+gc 0.2.4 |
v | 1.v | 118ms | 0.6ms | 11.0MB | 110ms | 0ms | v/clang 0.2.4 |
v | 1.v | 118ms | 2.9ms | 19.1MB | 100ms | 0ms | v/clang+gc 0.2.4 |
go | 1.go | 120ms | 1.0ms | 21.9MB | 103ms | 3ms | go 1.18.2 |
go | 1.go | 133ms | 1.9ms | 13.3MB | 117ms | 0ms | tinygo 0.23.0 |
go | 2.go | 154ms | 2.0ms | 5.6MB | 140ms | 0ms | tinygo 0.23.0 |
go | 2.go | 221ms | 2.3ms | 9.5MB | 210ms | 0ms | go 1.18.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 8.go | 1377ms | 4.0ms | 8.6MB | 1357ms | 3ms | go 1.18.2 |
v | 1.v | 4672ms | 119ms | 3.2MB | 4640ms | 10ms | v/clang+gc 0.2.4 |
v | 1.v | timeout | 0.0ms | 0.0MB | 0ms | 0ms | v/clang 0.2.4 |
v | 2.v | timeout | 0.0ms | 0.0MB | 0ms | 0ms | v/clang+gc 0.2.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 8.go | 329ms | 1.8ms | 8.5MB | 310ms | 0ms | go 1.18.2 |
v | 1.v | 1163ms | 20ms | 2.7MB | 1147ms | 0ms | v/clang+gc 0.2.4 |
v | 2.v | 1568ms | 4.5ms | 3.2MB | 1550ms | 3ms | v/clang+gc 0.2.4 |
v | 1.v | 2202ms | 1.6ms | 2459.0MB | 1173ms | 1017ms | v/clang 0.2.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 4-m.go | 2513ms | 5.8ms | 5.3MB | 4870ms | 7ms | go 1.18.2 |
v | 1.v | 4117ms | 0.3ms | 1.8MB | 4110ms | 0ms | v/clang 0.2.4 |
v | 1.v | 4119ms | 2.0ms | 3.0MB | 4103ms | 0ms | v/clang+gc 0.2.4 |
go | 1.go | 4978ms | 9.8ms | 5.4MB | 4963ms | 0ms | go 1.18.2 |
go | 1.go | timeout | 0.0ms | 0.0MB | 0ms | 0ms | tinygo 0.23.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 4-m.go | 636ms | 1.3ms | 3.3MB | 1207ms | 0ms | go 1.18.2 |
v | 1.v | 1032ms | 0.5ms | 2.5MB | 1020ms | 0ms | v/clang+gc 0.2.4 |
v | 1.v | 1043ms | 2.3ms | 0.8MB | 1017ms | 0ms | v/clang 0.2.4 |
go | 1.go | 1246ms | 1.8ms | 3.3MB | 1230ms | 3ms | go 1.18.2 |
go | 1.go | 2576ms | 0.3ms | 0.0MB | 2567ms | 0ms | tinygo 0.23.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
go | 4-m.go | 168ms | 1.2ms | 2.8MB | 300ms | 0ms | go 1.18.2 |
v | 1.v | 261ms | 0.6ms | 2.6MB | 250ms | 0ms | v/clang+gc 0.2.4 |
v | 1.v | 269ms | 2.7ms | 0.8MB | 247ms | 0ms | v/clang 0.2.4 |
go | 1.go | 317ms | 2.2ms | 2.8MB | 303ms | 0ms | go 1.18.2 |
go | 1.go | 647ms | 0.4ms | 2.0MB | 640ms | 0ms | tinygo 0.23.0 |