Current benchmark data was generated on Mon Feb 06 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 | 680ms | 32ms | 605.5MB | 653ms | 140ms | kotlin/jvm 17.0.2 |
nim | 2.nim | 2133ms | 3.3ms | 33.6MB | 2107ms | 13ms | nim 1.6.10 |
nim | 2.nim | 2138ms | 5.8ms | 35.0MB | 2120ms | 3ms | nim/clang 1.6.10 |
kotlin | 1.kt | timeout | 0.0ms | 214.4MB | 8197ms | 1193ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 148ms | 16ms | 109.3MB | 117ms | 33ms | kotlin/jvm 17.0.2 |
nim | 2.nim | 201ms | 0.2ms | 5.7MB | 190ms | 0ms | nim/clang 1.6.10 |
nim | 2.nim | 202ms | 1.0ms | 5.6MB | 190ms | 0ms | nim 1.6.10 |
kotlin | 1-m.kt | 596ms | 9.2ms | 30.5MB | 1030ms | 100ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2-m.kt | 3157ms | 743ms | 180.6MB | 5957ms | 97ms | kotlin/jvm 17.0.2 |
kotlin | 1.kt | 3186ms | 97ms | 160.2MB | 4060ms | 70ms | kotlin/jvm 17.0.2 |
kotlin | 1.kt | timeout | 0.0ms | 10.7MB | 6297ms | 270ms | kotlin/native 1.8.10 |
kotlin | 2-m.kt | timeout | 0.0ms | 31.8MB | 9370ms | 150ms | kotlin/native 1.8.10 |
nim | 1.nim | timeout | 0.0ms | 429.3MB | 3407ms | 1243ms | nim 1.6.10 |
nim | 1.nim | timeout | 0.0ms | 432.9MB | 3397ms | 1250ms | nim/clang 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1-m.kt | 752ms | 40ms | 101.1MB | 1307ms | 60ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 1041ms | 62ms | 99.5MB | 1863ms | 50ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 1092ms | 41ms | 26.4MB | 1957ms | 43ms | kotlin/native 1.8.10 |
kotlin | 1.kt | 1175ms | 17ms | 8.7MB | 1417ms | 97ms | kotlin/native 1.8.10 |
nim | 1.nim | timeout | 0.0ms | 431.1MB | 3390ms | 1257ms | nim 1.6.10 |
nim | 1.nim | timeout | 0.0ms | 433.4MB | 3370ms | 1273ms | nim/clang 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 242ms | 0.5ms | 1.0MB | 227ms | 0ms | nim 1.6.10 |
nim | 2.nim | 308ms | 2.2ms | 1.3MB | 300ms | 0ms | nim/clang 1.6.10 |
nim | 1.nim | 690ms | 3.1ms | 1.2MB | 593ms | 80ms | nim/clang 1.6.10 |
nim | 1.nim | 712ms | 0.9ms | 1.0MB | 607ms | 90ms | nim 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 1.4ms | 0.5ms | 1.0MB | 0ms | 0ms | nim 1.6.10 |
nim | 1.nim | 1.7ms | 0.5ms | 1.3MB | 0ms | 0ms | nim/clang 1.6.10 |
kotlin | 1.kt | 2.7ms | 0.5ms | 1.5MB | 0ms | 0ms | kotlin/native 1.8.10 |
kotlin | 1.kt | 68ms | 5.9ms | 40.9MB | 54ms | 12ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 848ms | 0.3ms | 93.8MB | 397ms | 420ms | nim 1.6.10 |
nim | 1.nim | 881ms | 2.7ms | 94.5MB | 433ms | 417ms | nim/clang 1.6.10 |
kotlin | 1.kt | timeout | 0.0ms | 240.0MB | 8973ms | 560ms | kotlin/jvm 17.0.2 |
kotlin | 2.kt | timeout | 0.0ms | 296.4MB | 8620ms | 767ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 134ms | 0.7ms | 18.3MB | 50ms | 70ms | nim 1.6.10 |
nim | 1.nim | 143ms | 2.2ms | 18.1MB | 57ms | 73ms | nim/clang 1.6.10 |
kotlin | 2-m.kt | 2762ms | 277ms | 199.6MB | 4230ms | 370ms | kotlin/jvm 17.0.2 |
kotlin | 1-m.kt | 3108ms | 353ms | 192.5MB | 4943ms | 437ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 149ms | 0.3ms | 1.3MB | 140ms | 0ms | nim/clang 1.6.10 |
nim | 2.nim | 152ms | 0.1ms | 1.0MB | 140ms | 0ms | nim 1.6.10 |
kotlin | 2.kt | 253ms | 4.6ms | 113.5MB | 353ms | 23ms | kotlin/jvm 17.0.2 |
kotlin | 1.kt | 271ms | 20ms | 113.4MB | 323ms | 43ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 468ms | 3.6ms | 48.2MB | 687ms | 23ms | kotlin/native 1.8.10 |
kotlin | 1.kt | timeout | 0.0ms | 14.9MB | 5003ms | 7ms | kotlin/native 1.8.10 |
nim | 1.nim | timeout | 0.0ms | 1.0MB | 4990ms | 0ms | nim 1.6.10 |
nim | 1.nim | timeout | 0.0ms | 1.3MB | 4983ms | 0ms | nim/clang 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2.kt | 423ms | 8.2ms | 125.2MB | 493ms | 50ms | kotlin/jvm 17.0.2 |
nim | 2.nim | 440ms | 0.3ms | 1.2MB | 430ms | 0ms | nim/clang 1.6.10 |
nim | 2.nim | 451ms | 0.0ms | 1.0MB | 440ms | 0ms | nim 1.6.10 |
kotlin | 1.kt | 490ms | 5.2ms | 132.5MB | 530ms | 37ms | kotlin/jvm 17.0.2 |
kotlin | 2.kt | 1471ms | 4.0ms | 115.4MB | 2097ms | 90ms | kotlin/native 1.8.10 |
kotlin | 1.kt | timeout | 0.0ms | 17.3MB | 4993ms | 13ms | kotlin/native 1.8.10 |
nim | 1.nim | timeout | 0.0ms | 1.1MB | 4987ms | 0ms | nim 1.6.10 |
nim | 1.nim | timeout | 0.0ms | 1.3MB | 4987ms | 0ms | nim/clang 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 65ms | 0.4ms | 1.2MB | 53ms | 0ms | nim/clang 1.6.10 |
nim | 2.nim | 66ms | 0.7ms | 1.0MB | 60ms | 0ms | nim 1.6.10 |
kotlin | 1.kt | 190ms | 6.1ms | 73.7MB | 247ms | 23ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 198ms | 6.4ms | 75.8MB | 280ms | 20ms | kotlin/jvm 17.0.2 |
kotlin | 2-m.kt | 232ms | 1.0ms | 28.3MB | 357ms | 7ms | kotlin/native 1.8.10 |
nim | 1.nim | 388ms | 6.2ms | 1.3MB | 377ms | 0ms | nim/clang 1.6.10 |
nim | 1.nim | 438ms | 20ms | 1.0MB | 427ms | 0ms | nim 1.6.10 |
kotlin | 1.kt | timeout | 0.0ms | 17.1MB | 5000ms | 7ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 514ms | 21ms | 361.1MB | 490ms | 93ms | kotlin/jvm 17.0.2 |
nim | 1.nim | 1081ms | 3.0ms | 34.6MB | 1060ms | 3ms | nim/clang 1.6.10 |
nim | 1.nim | 1089ms | 2.4ms | 34.6MB | 1063ms | 7ms | nim 1.6.10 |
kotlin | 1-m.kt | 3231ms | 169ms | 138.5MB | 4950ms | 777ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 203ms | 3.9ms | 221.1MB | 177ms | 57ms | kotlin/jvm 17.0.2 |
nim | 1.nim | 230ms | 0.3ms | 9.3MB | 217ms | 0ms | nim 1.6.10 |
nim | 1.nim | 230ms | 0.9ms | 9.5MB | 217ms | 0ms | nim/clang 1.6.10 |
kotlin | 1-m.kt | 648ms | 0.2ms | 38.4MB | 1067ms | 100ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 404ms | 0.9ms | 1.3MB | 390ms | 0ms | nim 1.6.10 |
nim | 2.nim | 415ms | 13ms | 1.2MB | 403ms | 0ms | nim/clang 1.6.10 |
kotlin | 1.kt | 660ms | 1.7ms | 43.2MB | 647ms | 23ms | kotlin/jvm 17.0.2 |
kotlin | 1n.kt | 660ms | 9.2ms | 1.5MB | 650ms | 0ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 43ms | 0.7ms | 1.3MB | 30ms | 0ms | nim 1.6.10 |
nim | 2.nim | 44ms | 0.9ms | 1.3MB | 30ms | 0ms | nim/clang 1.6.10 |
kotlin | 1n.kt | 75ms | 2.4ms | 5.5MB | 67ms | 0ms | kotlin/native 1.8.10 |
kotlin | 1.kt | 156ms | 6.4ms | 42.8MB | 153ms | 20ms | kotlin/jvm 17.0.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 2.nim | 689ms | 7.0ms | 6.3MB | 677ms | 0ms | nim/clang 1.6.10 |
nim | 2.nim | 838ms | 3.1ms | 6.0MB | 827ms | 0ms | nim 1.6.10 |
nim | 1.nim | 1031ms | 44ms | 40.6MB | 1010ms | 10ms | nim 1.6.10 |
nim | 1.nim | 1316ms | 20ms | 41.3MB | 1290ms | 10ms | nim/clang 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 122ms | 2.5ms | 11.1MB | 107ms | 0ms | nim 1.6.10 |
nim | 1.nim | 142ms | 1.3ms | 11.2MB | 130ms | 0ms | nim/clang 1.6.10 |
nim | 2.nim | 154ms | 1.1ms | 3.3MB | 140ms | 0ms | nim/clang 1.6.10 |
nim | 2.nim | 198ms | 0.5ms | 3.1MB | 183ms | 0ms | nim 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | timeout | 0.0ms | 212.7MB | 5380ms | 73ms | kotlin/jvm 17.0.2 |
kotlin | 1n.kt | timeout | 0.0ms | 18.8MB | 6640ms | 163ms | kotlin/native 1.8.10 |
kotlin | 2n.kt | timeout | 0.0ms | 11.0MB | 5047ms | 123ms | kotlin/native 1.8.10 |
nim | 1.nim | timeout | 0.0ms | 5.8MB | 4980ms | 0ms | nim 1.6.10 |
nim | 1.nim | timeout | 0.0ms | 5.8MB | 4983ms | 0ms | nim/clang 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 1500ms | 20ms | 248.1MB | 1817ms | 97ms | kotlin/jvm 17.0.2 |
kotlin | 1n.kt | timeout | 0.0ms | 19.0MB | 6643ms | 180ms | kotlin/native 1.8.10 |
kotlin | 2n.kt | timeout | 0.0ms | 8.2MB | 5037ms | 130ms | kotlin/native 1.8.10 |
nim | 1.nim | timeout | 0.0ms | 5.9MB | 4987ms | 0ms | nim 1.6.10 |
nim | 1.nim | timeout | 0.0ms | 5.8MB | 4983ms | 3ms | nim/clang 1.6.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 2436ms | 0.3ms | 167.9MB | 2367ms | 47ms | nim/clang 1.6.10 |
nim | 1.nim | 2487ms | 3.3ms | 167.2MB | 2417ms | 50ms | nim 1.6.10 |
kotlin | 1.kt | timeout | 0.0ms | 161.4MB | 5330ms | 63ms | kotlin/jvm 17.0.2 |
kotlin | 1n.kt | timeout | 0.0ms | 277.2MB | 5207ms | 970ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 249ms | 1.1ms | 17.1MB | 237ms | 0ms | nim/clang 1.6.10 |
nim | 1.nim | 255ms | 1.2ms | 16.8MB | 237ms | 3ms | nim 1.6.10 |
kotlin | 1.kt | 1024ms | 13ms | 95.3MB | 1387ms | 47ms | kotlin/jvm 17.0.2 |
kotlin | 1n.kt | 4777ms | 65ms | 65.3MB | 6153ms | 33ms | kotlin/native 1.8.10 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
nim | 1.nim | 3433ms | 1.3ms | 1.3MB | 3420ms | 0ms | nim/clang 1.6.10 |
nim | 1.nim | 3434ms | 1.2ms | 1.3MB | 3420ms | 0ms | nim 1.6.10 |