Current benchmark data was generated on Wed Jan 22 2025, 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 |
---|---|---|---|---|---|---|---|
nim | 2.nim | 185ms | 2.3ms | 1.5MB | 177ms | 0ms | nim 2.2.0 |
nim | 2.nim | 238ms | 0.8ms | 1.8MB | 227ms | 0ms | nim/clang 2.2.0 |
ocaml | 6.ml | 345ms | 2.4ms | 24.9MB | 333ms | 0ms | ocaml 5.3.0 |
nim | 1.nim | 578ms | 7.8ms | 1.8MB | 453ms | 110ms | nim/clang 2.2.0 |
nim | 1.nim | 599ms | 1.3ms | 1.5MB | 473ms | 110ms | nim 2.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 20ms | 0.3ms | 1.5MB | 10ms | 0ms | nim 2.2.0 |
nim | 2.nim | 26ms | 0.3ms | 1.8MB | 13ms | 0ms | nim/clang 2.2.0 |
ocaml | 6.ml | 38ms | 0.2ms | 7.5MB | 23ms | 0ms | ocaml 5.3.0 |
nim | 1.nim | 60ms | 0.5ms | 1.8MB | 37ms | 10ms | nim/clang 2.2.0 |
nim | 1.nim | 62ms | 0.1ms | 1.5MB | 40ms | 10ms | nim 2.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 110ms | 1.6ms | 1.6MB | 100ms | 0ms | nim/clang 2.2.0 |
nim | 2.nim | 114ms | 0.5ms | 1.4MB | 103ms | 0ms | nim 2.2.0 |
ocaml | 1.ml | 181ms | 7.0ms | 6.5MB | 167ms | 0ms | ocaml 5.3.0 |
nim | 1.nim | timeout | 0.0ms | 1.3MB | 4990ms | 0ms | nim 2.2.0 |
nim | 1.nim | timeout | 0.0ms | 1.5MB | 4990ms | 0ms | nim/clang 2.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 323ms | 4.9ms | 1.6MB | 313ms | 0ms | nim/clang 2.2.0 |
nim | 2.nim | 337ms | 4.4ms | 1.4MB | 323ms | 0ms | nim 2.2.0 |
ocaml | 1.ml | 540ms | 16ms | 6.6MB | 527ms | 0ms | ocaml 5.3.0 |
nim | 1.nim | timeout | 0.0ms | 1.3MB | 4990ms | 0ms | nim 2.2.0 |
nim | 1.nim | timeout | 0.0ms | 1.5MB | 4987ms | 0ms | nim/clang 2.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 49ms | 1.1ms | 1.5MB | 40ms | 0ms | nim/clang 2.2.0 |
nim | 2.nim | 50ms | 0.3ms | 1.3MB | 40ms | 0ms | nim 2.2.0 |
ocaml | 1.ml | 77ms | 0.8ms | 6.0MB | 63ms | 0ms | ocaml 5.3.0 |
nim | 1.nim | 493ms | 4.9ms | 1.5MB | 480ms | 0ms | nim/clang 2.2.0 |
nim | 1.nim | 519ms | 32ms | 1.3MB | 510ms | 0ms | nim 2.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 559ms | 9.0ms | 34.9MB | 540ms | 7ms | nim 2.2.0 |
nim | 1.nim | 622ms | 12ms | 34.7MB | 607ms | 3ms | nim/clang 2.2.0 |
ocaml | 1.ml | 1060ms | 22ms | 71.2MB | 1023ms | 27ms | ocaml 5.3.0 |
ocaml | 2.ml | 2025ms | 10ms | 91.8MB | 1973ms | 37ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 276ms | 7.5ms | 41.5MB | 263ms | 0ms | nim 2.2.0 |
nim | 1.nim | 313ms | 4.8ms | 41.8MB | 297ms | 0ms | nim/clang 2.2.0 |
ocaml | 1.ml | 914ms | 6.3ms | 552.5MB | 853ms | 43ms | ocaml 5.3.0 |
ocaml | 2.ml | 1875ms | 8.7ms | 18.6MB | 1857ms | 0ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 3573ms | 2.3ms | 1.6MB | 3560ms | 0ms | nim/clang 2.2.0 |
nim | 1.nim | 3597ms | 4.0ms | 1.4MB | 3587ms | 0ms | nim 2.2.0 |
ocaml | 2.ml | 4564ms | 17ms | 6.3MB | 4553ms | 0ms | ocaml 5.3.0 |