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 |
---|---|---|---|---|---|---|---|
rust | 4.rs | 1243ms | 6.8ms | 33.8MB | 1220ms | 7ms | rustc 1.82.0 |
rust | 5.rs | 1316ms | 2.7ms | 33.8MB | 1293ms | 7ms | rustc 1.82.0 |
rust | 3.rs | 1481ms | 17ms | 49.8MB | 1453ms | 17ms | rustc 1.82.0 |
ocaml | 1.ml | 3001ms | 12ms | 157.2MB | 2907ms | 80ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 3-im.rs | 411ms | 7.0ms | 4.0MB | 1563ms | 0ms | rustc 1.82.0 |
rust | 5-m.rs | 575ms | 3.2ms | 4.0MB | 2170ms | 0ms | rustc 1.82.0 |
rust | 2-im.rs | 636ms | 0.6ms | 6.0MB | 2410ms | 0ms | rustc 1.82.0 |
rust | 1-m.rs | 994ms | 4.8ms | 6.0MB | 3793ms | 0ms | rustc 1.82.0 |
rust | 3-i.rs | 1492ms | 0.6ms | 1.9MB | 1480ms | 0ms | rustc 1.82.0 |
rust | 2-i.rs | 1785ms | 3.5ms | 1.8MB | 1777ms | 0ms | rustc 1.82.0 |
rust | 1.rs | 2696ms | 3.0ms | 1.8MB | 2687ms | 0ms | rustc 1.82.0 |
ocaml | 2.ml | 2922ms | 17ms | 5.0MB | 2910ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 3-im.rs | 38ms | 0.2ms | 4.0MB | 120ms | 0ms | rustc 1.82.0 |
rust | 5-m.rs | 56ms | 0.5ms | 4.0MB | 173ms | 0ms | rustc 1.82.0 |
rust | 2-im.rs | 61ms | 2.5ms | 6.0MB | 197ms | 0ms | rustc 1.82.0 |
rust | 1-m.rs | 89ms | 2.0ms | 4.0MB | 303ms | 0ms | rustc 1.82.0 |
rust | 3-i.rs | 125ms | 0.2ms | 1.9MB | 113ms | 0ms | rustc 1.82.0 |
rust | 2-i.rs | 151ms | 0.2ms | 1.8MB | 140ms | 0ms | rustc 1.82.0 |
rust | 1.rs | 228ms | 2.5ms | 1.8MB | 217ms | 0ms | rustc 1.82.0 |
ocaml | 2.ml | 246ms | 1.5ms | 5.0MB | 233ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 5c-m.rs | 89ms | 1.0ms | 4.8MB | 240ms | 3ms | rustc 1.82.0 |
rust | 5-m.rs | 99ms | 1.4ms | 4.8MB | 323ms | 0ms | rustc 1.82.0 |
rust | 1c.rs | 162ms | 0.6ms | 1.9MB | 150ms | 0ms | rustc 1.82.0 |
rust | 1.rs | 195ms | 0.9ms | 1.9MB | 180ms | 0ms | rustc 1.82.0 |
ocaml | 6.ml | 346ms | 0.5ms | 24.9MB | 333ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 5c-m.rs | 16ms | 0.4ms | 4.8MB | 23ms | 0ms | rustc 1.82.0 |
rust | 5-m.rs | 17ms | 0.8ms | 4.9MB | 23ms | 0ms | rustc 1.82.0 |
rust | 1c.rs | 19ms | 0.6ms | 1.9MB | 10ms | 0ms | rustc 1.82.0 |
rust | 1.rs | 22ms | 0.1ms | 1.9MB | 10ms | 0ms | rustc 1.82.0 |
ocaml | 6.ml | 39ms | 0.9ms | 7.3MB | 27ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 0-unsafe.rs | 42ms | 1.1ms | 1.9MB | 30ms | 0ms | rustc 1.82.0 |
rust | 1.rs | 50ms | 12ms | 2.0MB | 37ms | 0ms | rustc 1.82.0 |
ocaml | 1.ml | 180ms | 5.6ms | 6.5MB | 167ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 4-i.rs | 165ms | 2.7ms | 1.8MB | 153ms | 0ms | rustc 1.82.0 |
rust | 7-i.rs | 236ms | 1.4ms | 1.9MB | 230ms | 0ms | rustc 1.82.0 |
rust | 1.rs | 239ms | 0.6ms | 1.8MB | 223ms | 0ms | rustc 1.82.0 |
rust | 2.rs | 278ms | 0.5ms | 1.8MB | 270ms | 0ms | rustc 1.82.0 |
rust | 3.rs | 280ms | 0.3ms | 1.8MB | 270ms | 0ms | rustc 1.84.0-nightly |
ocaml | 1.ml | 372ms | 3.2ms | 5.3MB | 363ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 4-i.rs | 19ms | 0.2ms | 1.8MB | 10ms | 0ms | rustc 1.82.0 |
rust | 7-i.rs | 26ms | 0.3ms | 1.9MB | 17ms | 0ms | rustc 1.82.0 |
rust | 1.rs | 26ms | 0.3ms | 1.8MB | 20ms | 0ms | rustc 1.82.0 |
rust | 3.rs | 30ms | 0.1ms | 1.9MB | 20ms | 0ms | rustc 1.84.0-nightly |
rust | 2.rs | 30ms | 0.0ms | 1.8MB | 20ms | 0ms | rustc 1.82.0 |
ocaml | 1.ml | 40ms | 0.1ms | 5.3MB | 30ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 1.rs | 307ms | 2.9ms | 40.9MB | 290ms | 0ms | rustc 1.82.0 |
rust | 2.rs | 321ms | 3.0ms | 6.6MB | 310ms | 0ms | rustc 1.82.0 |
ocaml | 1.ml | 975ms | 2.8ms | 552.4MB | 910ms | 50ms | ocaml 5.2.0 |
ocaml | 2.ml | 1932ms | 30ms | 17.2MB | 1920ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 8-m.rs | 496ms | 0.1ms | 4.5MB | 1907ms | 0ms | rustc 1.84.0-nightly |
rust | 7-m.rs | 498ms | 0.3ms | 4.2MB | 1917ms | 3ms | rustc 1.82.0 |
rust | 8.rs | 1010ms | 2.8ms | 2.4MB | 1000ms | 0ms | rustc 1.84.0-nightly |
rust | 2-m.rs | 1936ms | 2.2ms | 4.1MB | 7590ms | 7ms | rustc 1.82.0 |
rust | 7.rs | 2078ms | 11ms | 1.9MB | 2067ms | 0ms | rustc 1.82.0 |
rust | 2.rs | 4188ms | 1.3ms | 2.0MB | 4177ms | 0ms | rustc 1.82.0 |
ocaml | 2.ml | 4482ms | 6.4ms | 6.4MB | 4473ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 8-m.rs | 128ms | 0.4ms | 4.2MB | 467ms | 3ms | rustc 1.84.0-nightly |
rust | 7-m.rs | 128ms | 0.2ms | 4.1MB | 467ms | 0ms | rustc 1.82.0 |
rust | 8.rs | 255ms | 0.6ms | 2.1MB | 247ms | 0ms | rustc 1.84.0-nightly |
rust | 2-m.rs | 488ms | 1.2ms | 4.1MB | 1873ms | 7ms | rustc 1.82.0 |
rust | 7.rs | 529ms | 14ms | 1.8MB | 517ms | 0ms | rustc 1.82.0 |
rust | 2.rs | 1049ms | 1.1ms | 1.9MB | 1040ms | 0ms | rustc 1.82.0 |
ocaml | 2.ml | 1129ms | 4.1ms | 6.1MB | 1117ms | 0ms | ocaml 5.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 7-m.rs | 36ms | 0.3ms | 6.1MB | 113ms | 0ms | rustc 1.82.0 |
rust | 8-m.rs | 36ms | 0.4ms | 6.1MB | 113ms | 0ms | rustc 1.84.0-nightly |
rust | 8.rs | 66ms | 0.9ms | 2.0MB | 57ms | 0ms | rustc 1.84.0-nightly |
rust | 2-m.rs | 126ms | 0.2ms | 4.1MB | 467ms | 0ms | rustc 1.82.0 |
rust | 7.rs | 135ms | 3.0ms | 1.8MB | 123ms | 0ms | rustc 1.82.0 |
rust | 2.rs | 266ms | 1.0ms | 1.9MB | 253ms | 0ms | rustc 1.82.0 |
ocaml | 2.ml | 285ms | 4.6ms | 5.2MB | 273ms | 0ms | ocaml 5.2.0 |