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 |
---|---|---|---|---|---|---|---|
v | 1.v | 780ms | 6.7ms | 22.1MB | 760ms | 0ms | v/clang+gc 0.4.9 |
nim | 2.nim | 781ms | 16ms | 34.9MB | 757ms | 10ms | nim 2.2.0 |
nim | 2.nim | 959ms | 4.6ms | 35.2MB | 943ms | 3ms | nim/clang 2.2.0 |
v | 1.v | 2142ms | 22ms | 2086.6MB | 1273ms | 850ms | v/clang 0.4.9 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | timeout | 0.0ms | 545.4MB | 2453ms | 2093ms | nim 2.2.0 |
nim | 1.nim | timeout | 0.0ms | 553.8MB | 2483ms | 2057ms | nim/clang 2.2.0 |
v | 1.v | timeout | 0.0ms | 22.3MB | 8987ms | 10597ms | v/clang 0.4.9 |
v | 1.v | timeout | 0.0ms | 27.9MB | 8927ms | 10420ms | v/clang+gc 0.4.9 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
v | 1-m.v | 2599ms | 357ms | 20.3MB | 4740ms | 5323ms | v/clang+gc 0.4.9 |
v | 1-m.v | 3125ms | 80ms | 15.7MB | 5590ms | 6563ms | v/clang 0.4.9 |
nim | 1.nim | 4399ms | 8.7ms | 518.7MB | 2090ms | 1880ms | nim/clang 2.2.0 |
nim | 1.nim | 4558ms | 9.6ms | 518.3MB | 2237ms | 1890ms | nim 2.2.0 |
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 |
v | 1.v | 509ms | 3.4ms | 1.3MB | 493ms | 3ms | v/clang 0.4.9 |
v | 1.v | 534ms | 2.1ms | 2.1MB | 520ms | 0ms | v/clang+gc 0.4.9 |
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 |
v | 1.v | 52ms | 0.1ms | 1.3MB | 43ms | 0ms | v/clang 0.4.9 |
v | 1.v | 56ms | 1.3ms | 2.1MB | 50ms | 0ms | v/clang+gc 0.4.9 |
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 |
v | 1.v | 242ms | 1.9ms | 1.3MB | 230ms | 0ms | v/clang 0.4.9 |
v | 1.v | 257ms | 2.6ms | 2.1MB | 243ms | 0ms | v/clang+gc 0.4.9 |
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 |
v | 1.v | 714ms | 3.3ms | 1.3MB | 703ms | 0ms | v/clang 0.4.9 |
v | 1.v | 770ms | 30ms | 2.1MB | 753ms | 3ms | v/clang+gc 0.4.9 |
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 |
v | 1.v | 89ms | 0.4ms | 1.4MB | 80ms | 0ms | v/clang 0.4.9 |
v | 1.v | 99ms | 0.7ms | 2.1MB | 90ms | 0ms | v/clang+gc 0.4.9 |
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 | 276ms | 7.5ms | 41.5MB | 263ms | 0ms | nim 2.2.0 |
v | 1.v | 299ms | 8.0ms | 60.6MB | 283ms | 0ms | v/clang+gc 0.4.9 |
v | 1.v | 303ms | 2.9ms | 40.3MB | 287ms | 0ms | v/clang 0.4.9 |
nim | 1.nim | 313ms | 4.8ms | 41.8MB | 297ms | 0ms | nim/clang 2.2.0 |
v | 2.v | 327ms | 4.7ms | 6.9MB | 313ms | 0ms | v/clang+gc 0.4.9 |
v | 2.v | 328ms | 1.7ms | 6.1MB | 310ms | 3ms | v/clang 0.4.9 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 51ms | 1.2ms | 11.5MB | 40ms | 0ms | nim 2.2.0 |
v | 1.v | 58ms | 0.9ms | 11.9MB | 47ms | 0ms | v/clang+gc 0.4.9 |
nim | 1.nim | 61ms | 1.1ms | 11.7MB | 50ms | 0ms | nim/clang 2.2.0 |
v | 1.v | 62ms | 2.2ms | 11.0MB | 50ms | 0ms | v/clang 0.4.9 |
v | 2.v | 80ms | 0.6ms | 3.1MB | 70ms | 0ms | v/clang+gc 0.4.9 |
v | 2.v | 80ms | 0.9ms | 2.4MB | 70ms | 0ms | v/clang 0.4.9 |
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 |
v | 1.v | timeout | 0.0ms | 1.6MB | 4990ms | 0ms | v/clang 0.4.9 |
v | 1.v | timeout | 0.0ms | 2.8MB | 4987ms | 0ms | v/clang+gc 0.4.9 |