Current benchmark data was generated on Sat Jan 28 2023, 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 |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 629ms | 6.5ms | 413.0MB | 657ms | 77ms | kotlin/jvm 17.0.2 |
rust | 4.rs | 1788ms | 3.0ms | 33.6MB | 1763ms | 13ms | rustc 1.67.0 |
rust | 5.rs | 1951ms | 33ms | 33.8MB | 1927ms | 7ms | rustc 1.67.0 |
rust | 3.rs | 2134ms | 59ms | 49.7MB | 2097ms | 17ms | rustc 1.67.0 |
kotlin | 1.kt | timeout | 0.0ms | 282.5MB | 8413ms | 1150ms | kotlin/native 1.8.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 125ms | 2.0ms | 109.7MB | 107ms | 27ms | kotlin/jvm 17.0.2 |
rust | 4.rs | 152ms | 0.3ms | 5.7MB | 137ms | 0ms | rustc 1.67.0 |
rust | 5.rs | 160ms | 1.1ms | 5.7MB | 147ms | 0ms | rustc 1.67.0 |
rust | 3.rs | 177ms | 2.9ms | 7.8MB | 163ms | 0ms | rustc 1.67.0 |
kotlin | 1-m.kt | 494ms | 11ms | 30.5MB | 847ms | 77ms | kotlin/native 1.8.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 5-m.rs | 900ms | 109ms | 4.6MB | 1720ms | 40ms | rustc 1.67.0 |
rust | 3-m.rs | 1004ms | 32ms | 6.2MB | 1893ms | 27ms | rustc 1.67.0 |
rust | 3.rs | 1949ms | 13ms | 6.2MB | 1900ms | 30ms | rustc 1.67.0 |
kotlin | 1.kt | 2892ms | 79ms | 160.4MB | 3693ms | 57ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 3128ms | 450ms | 157.4MB | 5980ms | 57ms | kotlin/jvm 17.0.2 |
rust | 1-m.rs | 3130ms | 25ms | 4.9MB | 6013ms | 97ms | rustc 1.67.0 |
rust | 4.rs | 3240ms | 18ms | 4.3MB | 3227ms | 0ms | rustc 1.67.0 |
kotlin | 1.kt | timeout | 0.0ms | 10.8MB | 6177ms | 300ms | kotlin/native 1.8.0 |
kotlin | 2-m.kt | timeout | 0.0ms | 35.0MB | 9297ms | 150ms | kotlin/native 1.8.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 3-m.rs | 77ms | 4.7ms | 3.0MB | 123ms | 3ms | rustc 1.67.0 |
rust | 5-m.rs | 105ms | 2.6ms | 2.7MB | 177ms | 3ms | rustc 1.67.0 |
rust | 3.rs | 122ms | 5.0ms | 3.1MB | 110ms | 0ms | rustc 1.67.0 |
rust | 4.rs | 210ms | 0.9ms | 2.4MB | 200ms | 0ms | rustc 1.67.0 |
rust | 1-m.rs | 214ms | 9.6ms | 2.9MB | 377ms | 13ms | rustc 1.67.0 |
kotlin | 1-m.kt | 706ms | 24ms | 99.1MB | 1240ms | 40ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 811ms | 15ms | 26.1MB | 1450ms | 33ms | kotlin/native 1.8.0 |
kotlin | 1.kt | 1032ms | 12ms | 8.8MB | 1270ms | 57ms | kotlin/native 1.8.0 |
kotlin | 2-m.kt | 1082ms | 129ms | 114.4MB | 1967ms | 50ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 1.rs | 2.3ms | 0.7ms | 1.1MB | 0ms | 0ms | rustc 1.69.0-nightly |
rust | 1.rs | 2.3ms | 0.7ms | 1.0MB | 0ms | 0ms | rustc 1.67.0 |
kotlin | 1.kt | 2.6ms | 1.0ms | 1.5MB | 0ms | 0ms | kotlin/native 1.8.0 |
kotlin | 1.kt | 66ms | 1.4ms | 40.8MB | 50ms | 8ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 1.rs | 169ms | 57ms | 41.8MB | 97ms | 97ms | rustc 1.67.0 |
rust | 2-http2.rs | 370ms | 71ms | 40.3MB | 457ms | 133ms | rustc 1.67.0 |
rust | 2-m.rs | 575ms | 15ms | 102.4MB | 297ms | 567ms | rustc 1.67.0 |
rust | 1-http2.rs | 790ms | 152ms | 72.3MB | 827ms | 483ms | rustc 1.67.0 |
kotlin | 1.kt | timeout | 0.0ms | 296.5MB | 8853ms | 617ms | kotlin/jvm 17.0.2 |
kotlin | 2.kt | timeout | 0.0ms | 267.6MB | 8833ms | 673ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 1.rs | 76ms | 10ms | 12.2MB | 20ms | 27ms | rustc 1.67.0 |
rust | 2.rs | 140ms | 11ms | 25.0MB | 53ms | 83ms | rustc 1.67.0 |
rust | 2-http2.rs | 364ms | 79ms | 25.2MB | 503ms | 127ms | rustc 1.67.0 |
rust | 1-http2.rs | 465ms | 13ms | 25.8MB | 693ms | 113ms | rustc 1.67.0 |
kotlin | 2-m.kt | 2340ms | 166ms | 198.0MB | 3627ms | 210ms | kotlin/jvm 17.0.2 |
kotlin | 1-m.kt | 2612ms | 76ms | 184.0MB | 3997ms | 273ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 2.rs | 82ms | 1.2ms | 38.0MB | 53ms | 17ms | rustc 1.67.0 |
rust | 3.rs | 84ms | 0.5ms | 36.3MB | 60ms | 7ms | rustc 1.67.0 |
rust | 1.rs | 131ms | 3.2ms | 75.4MB | 80ms | 37ms | rustc 1.67.0 |
kotlin | 1-m.kt | 1170ms | 37ms | 217.4MB | 2000ms | 90ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 2.rs | 516ms | 2.1ms | 258.5MB | 390ms | 107ms | rustc 1.67.0 |
rust | 3.rs | 526ms | 4.2ms | 258.5MB | 393ms | 113ms | rustc 1.67.0 |
rust | 1.rs | 909ms | 22ms | 605.5MB | 647ms | 247ms | rustc 1.67.0 |
kotlin | 1.kt | 4233ms | 274ms | 875.8MB | 6110ms | 223ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 0-unsafe.rs | 62ms | 3.5ms | 1.0MB | 50ms | 0ms | rustc 1.67.0 |
rust | 1.rs | 70ms | 0.1ms | 1.0MB | 60ms | 0ms | rustc 1.67.0 |
kotlin | 2-m.kt | 221ms | 5.0ms | 113.5MB | 323ms | 27ms | kotlin/jvm 17.0.2 |
kotlin | 1.kt | 240ms | 5.8ms | 109.4MB | 290ms | 17ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 442ms | 3.8ms | 42.5MB | 727ms | 13ms | kotlin/native 1.8.0 |
kotlin | 1.kt | timeout | 0.0ms | 15.0MB | 4993ms | 10ms | kotlin/native 1.8.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 0-unsafe.rs | 223ms | 4.9ms | 1.1MB | 210ms | 0ms | rustc 1.67.0 |
rust | 1.rs | 292ms | 0.1ms | 1.1MB | 280ms | 0ms | rustc 1.67.0 |
kotlin | 2.kt | 365ms | 4.2ms | 132.5MB | 460ms | 33ms | kotlin/jvm 17.0.2 |
kotlin | 1.kt | 458ms | 3.2ms | 132.6MB | 507ms | 23ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 1377ms | 6.7ms | 145.0MB | 2233ms | 87ms | kotlin/native 1.8.0 |
kotlin | 1.kt | timeout | 0.0ms | 15.0MB | 4997ms | 0ms | kotlin/native 1.8.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 0-unsafe.rs | 35ms | 1.7ms | 1.0MB | 30ms | 0ms | rustc 1.67.0 |
rust | 1.rs | 47ms | 0.2ms | 1.0MB | 40ms | 0ms | rustc 1.67.0 |
kotlin | 1.kt | 172ms | 3.4ms | 75.8MB | 243ms | 10ms | kotlin/jvm 17.0.2 |
kotlin | 2.kt | 186ms | 6.0ms | 78.6MB | 250ms | 27ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 224ms | 4.4ms | 32.4MB | 383ms | 3ms | kotlin/native 1.8.0 |
kotlin | 1.kt | timeout | 0.0ms | 17.1MB | 5000ms | 7ms | kotlin/native 1.8.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 4-i.rs | 257ms | 0.3ms | 1.1MB | 240ms | 0ms | rustc 1.67.0 |
rust | 7-i.rs | 332ms | 1.5ms | 1.0MB | 320ms | 0ms | rustc 1.67.0 |
rust | 3.rs | 340ms | 1.3ms | 1.1MB | 327ms | 0ms | rustc 1.69.0-nightly |
rust | 2.rs | 340ms | 2.9ms | 1.0MB | 327ms | 0ms | rustc 1.67.0 |
rust | 1.rs | 393ms | 3.7ms | 1.1MB | 383ms | 0ms | rustc 1.67.0 |
kotlin | 1n.kt | 548ms | 2.0ms | 1.5MB | 537ms | 0ms | kotlin/native 1.8.0 |
kotlin | 1.kt | 573ms | 6.6ms | 42.9MB | 570ms | 13ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 4-i.rs | 32ms | 6.3ms | 1.0MB | 23ms | 0ms | rustc 1.67.0 |
rust | 7-i.rs | 35ms | 0.6ms | 1.0MB | 23ms | 0ms | rustc 1.67.0 |
rust | 3.rs | 37ms | 0.1ms | 1.0MB | 30ms | 0ms | rustc 1.69.0-nightly |
rust | 2.rs | 37ms | 0.3ms | 1.0MB | 27ms | 0ms | rustc 1.67.0 |
rust | 1.rs | 41ms | 0.8ms | 1.1MB | 30ms | 0ms | rustc 1.67.0 |
kotlin | 1n.kt | 58ms | 1.5ms | 1.5MB | 47ms | 0ms | kotlin/native 1.8.0 |
kotlin | 1.kt | 140ms | 5.3ms | 42.7MB | 140ms | 17ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 2.rs | 1751ms | 1.0ms | 2.8MB | 1673ms | 63ms | rustc 1.67.0 |
rust | 1.rs | 1842ms | 44ms | 2.8MB | 1687ms | 133ms | rustc 1.67.0 |
kotlin | 1.kt | timeout | 0.0ms | 218.2MB | 5383ms | 67ms | kotlin/jvm 17.0.2 |
kotlin | 1n.kt | timeout | 0.0ms | 23.1MB | 6287ms | 170ms | kotlin/native 1.8.0 |
kotlin | 2n.kt | timeout | 0.0ms | 10.4MB | 5020ms | 103ms | kotlin/native 1.8.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
rust | 2.rs | 391ms | 0.8ms | 2.5MB | 380ms | 0ms | rustc 1.67.0 |
rust | 1.rs | 395ms | 7.0ms | 2.4MB | 363ms | 13ms | rustc 1.67.0 |
kotlin | 1.kt | 1437ms | 6.9ms | 210.3MB | 1770ms | 57ms | kotlin/jvm 17.0.2 |
kotlin | 1n.kt | timeout | 0.0ms | 18.8MB | 6257ms | 147ms | kotlin/native 1.8.0 |
kotlin | 2n.kt | timeout | 0.0ms | 10.2MB | 5017ms | 103ms | kotlin/native 1.8.0 |