Current benchmark data was generated on Fri Aug 01 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 |
---|---|---|---|---|---|---|---|
java | 2.java | 460ms | 9.2ms | 574.1MB | 553ms | 83ms | openjdk 21 |
java | 2.java | 470ms | 8.8ms | 624.4MB | 577ms | 97ms | openjdk 23 |
java | 2-m.java | 480ms | 9.9ms | 640.7MB | 680ms | 110ms | graal/jvm 17.0.8 |
kotlin | 1.kt | 500ms | 16ms | 578.4MB | 597ms | 97ms | kotlin/jvm 21 |
java | 2.java | 1176ms | 13ms | 1047.1MB | 593ms | 757ms | openjdk/zgc 21 |
kotlin | 1.kt | 3911ms | 6.4ms | 143.8MB | 4087ms | 70ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2.java | 120ms | 4.9ms | 168.1MB | 150ms | 30ms | openjdk 21 |
kotlin | 1.kt | 122ms | 1.1ms | 159.5MB | 143ms | 37ms | kotlin/jvm 21 |
java | 2-m.java | 123ms | 0.5ms | 97.0MB | 173ms | 23ms | openjdk 23 |
java | 2-m.java | 144ms | 3.8ms | 224.3MB | 210ms | 57ms | graal/jvm 17.0.8 |
kotlin | 1.kt | 203ms | 6.2ms | 17.3MB | 210ms | 3ms | kotlin/native 2.1.20 |
java | 2.java | 304ms | 3.3ms | 241.5MB | 163ms | 190ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2-m.kt | 1822ms | 185ms | 234.2MB | 6767ms | 103ms | kotlin/jvm 21 |
kotlin | 1.kt | 2180ms | 5.5ms | 221.2MB | 3010ms | 73ms | kotlin/jvm 21 |
java | 1-m.java | 2236ms | 124ms | 258.1MB | 8487ms | 130ms | openjdk 21 |
java | 1-m.java | 2303ms | 130ms | 243.3MB | 8747ms | 120ms | openjdk 23 |
java | 1-m.java | 2997ms | 156ms | 1243.2MB | 9807ms | 1063ms | openjdk/zgc 21 |
kotlin | 2-m.kt | 4271ms | 80ms | 21.5MB | 14227ms | 520ms | kotlin/native 2.1.20 |
kotlin | 1.kt | timeout | 0.0ms | 17.4MB | 5510ms | 27ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2-m.kt | 247ms | 1.8ms | 21.6MB | 840ms | 37ms | kotlin/native 2.1.20 |
kotlin | 1.kt | 386ms | 5.0ms | 17.4MB | 397ms | 10ms | kotlin/native 2.1.20 |
java | 1-m.java | 471ms | 21ms | 93.0MB | 1567ms | 57ms | openjdk 23 |
java | 1-m.java | 471ms | 2.6ms | 127.2MB | 1580ms | 67ms | openjdk 21 |
kotlin | 1-m.kt | 473ms | 2.3ms | 74.2MB | 1100ms | 40ms | kotlin/jvm 21 |
java | 1-m.java | 673ms | 14ms | 221.9MB | 1820ms | 257ms | openjdk/zgc 21 |
kotlin | 2-m.kt | 861ms | 25ms | 96.7MB | 3007ms | 67ms | kotlin/jvm 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 2.2ms | 0.2ms | 3.0MB | 0ms | 0ms | kotlin/native 2.1.20 |
kotlin | 1.kt | 61ms | 0.9ms | 47.6MB | 74ms | 18ms | kotlin/jvm 21 |
java | 1.java | 62ms | 1.4ms | 52.9MB | 64ms | 20ms | graal/jvm 17.0.8 |
java | 1.java | 69ms | 4.7ms | 43.9MB | 78ms | 10ms | openjdk 21 |
java | 1.java | 73ms | 1.9ms | 44.7MB | 74ms | 16ms | openjdk 23 |
java | 1.java | 186ms | 3.9ms | 42.9MB | 82ms | 132ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2.kt | 171ms | 9.2ms | 12.4MB | 170ms | 0ms | kotlin/native 2.1.20 |
kotlin | 1-m.kt | 194ms | 4.6ms | 95.0MB | 323ms | 27ms | kotlin/jvm 21 |
kotlin | 2-m.kt | 206ms | 5.2ms | 102.2MB | 433ms | 37ms | kotlin/jvm 21 |
kotlin | 1.kt | 357ms | 1.0ms | 12.4MB | 360ms | 0ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2-m.kt | 315ms | 6.1ms | 212.8MB | 547ms | 43ms | kotlin/jvm 21 |
kotlin | 1.kt | 338ms | 2.0ms | 202.9MB | 467ms | 40ms | kotlin/jvm 21 |
kotlin | 2.kt | 473ms | 5.4ms | 12.4MB | 500ms | 3ms | kotlin/native 2.1.20 |
kotlin | 1.kt | 1048ms | 9.4ms | 12.4MB | 1077ms | 3ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 2.kt | 94ms | 0.9ms | 12.8MB | 90ms | 0ms | kotlin/native 2.1.20 |
kotlin | 1.kt | 121ms | 1.5ms | 12.8MB | 113ms | 0ms | kotlin/native 2.1.20 |
kotlin | 1-m.kt | 153ms | 0.7ms | 90.8MB | 290ms | 33ms | kotlin/jvm 21 |
kotlin | 2-m.kt | 171ms | 14ms | 96.5MB | 377ms | 30ms | kotlin/jvm 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1.kt | 386ms | 5.6ms | 680.7MB | 433ms | 93ms | kotlin/jvm 21 |
java | 1.java | 397ms | 3.2ms | 536.3MB | 483ms | 97ms | openjdk 23 |
java | 1.java | 416ms | 5.0ms | 677.5MB | 473ms | 100ms | openjdk 21 |
java | 1-m.java | 424ms | 8.3ms | 643.7MB | 600ms | 123ms | graal/jvm 17.0.8 |
java | 1.java | 1020ms | 3.1ms | 946.5MB | 477ms | 693ms | openjdk/zgc 21 |
kotlin | 1.kt | 1880ms | 15ms | 89.9MB | 1963ms | 40ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1-m.kt | 154ms | 0.3ms | 207.3MB | 210ms | 40ms | kotlin/jvm 21 |
java | 1-m.java | 163ms | 2.8ms | 158.5MB | 247ms | 40ms | openjdk 23 |
java | 1-m.java | 166ms | 1.2ms | 207.9MB | 240ms | 40ms | openjdk 21 |
java | 1-m.java | 210ms | 6.3ms | 253.8MB | 347ms | 60ms | graal/jvm 17.0.8 |
kotlin | 1.kt | 268ms | 4.1ms | 25.6MB | 273ms | 13ms | kotlin/native 2.1.20 |
java | 1.java | 404ms | 6.6ms | 341.9MB | 220ms | 260ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1n.kt | 352ms | 2.5ms | 3.5MB | 340ms | 0ms | kotlin/native 2.1.20 |
java | 1.java | 442ms | 1.6ms | 81.4MB | 473ms | 23ms | graal/jvm 17.0.8 |
kotlin | 1.kt | 442ms | 1.2ms | 49.6MB | 483ms | 20ms | kotlin/jvm 21 |
java | 1.java | 445ms | 1.9ms | 47.7MB | 480ms | 17ms | openjdk 23 |
java | 1.java | 446ms | 15ms | 45.2MB | 487ms | 13ms | openjdk 21 |
java | 1.java | 567ms | 4.2ms | 44.9MB | 490ms | 140ms | openjdk/zgc 21 |
java | 2.java | 1238ms | 17ms | 608.0MB | 1377ms | 77ms | openjdk 21 |
java | 2.java | 1243ms | 5.5ms | 744.5MB | 1360ms | 97ms | openjdk 23 |
java | 2.java | 3248ms | 81ms | 2438.6MB | 1660ms | 1800ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
kotlin | 1n.kt | 39ms | 0.6ms | 3.5MB | 30ms | 0ms | kotlin/native 2.1.20 |
java | 1.java | 116ms | 4.3ms | 45.3MB | 153ms | 20ms | openjdk 21 |
kotlin | 1-m.kt | 118ms | 1.3ms | 49.6MB | 160ms | 20ms | kotlin/jvm 21 |
java | 1.java | 121ms | 0.2ms | 47.8MB | 153ms | 17ms | openjdk 23 |
java | 1-m.java | 122ms | 8.7ms | 81.5MB | 153ms | 33ms | graal/jvm 17.0.8 |
java | 1.java | 247ms | 2.0ms | 44.8MB | 173ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 291ms | 5.9ms | 373.0MB | 427ms | 53ms | openjdk 21 |
java | 2-m.java | 307ms | 7.7ms | 397.4MB | 443ms | 67ms | openjdk 23 |
java | 2.java | 671ms | 7.7ms | 522.5MB | 477ms | 387ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 3168ms | 8.2ms | 444.5MB | 3577ms | 97ms | graal/jvm 17.0.8 |
java | 1.java | 3667ms | 34ms | 351.6MB | 4527ms | 113ms | openjdk 21 |
kotlin | 1.kt | 3669ms | 28ms | 353.1MB | 4487ms | 113ms | kotlin/jvm 21 |
java | 1.java | 3722ms | 53ms | 381.7MB | 4533ms | 113ms | openjdk 23 |
java | 1.java | timeout | 0.0ms | 1806.3MB | 4663ms | 1183ms | openjdk/zgc 21 |
kotlin | 1n.kt | timeout | 0.0ms | 26.6MB | 3973ms | 1500ms | kotlin/native 2.1.20 |
kotlin | 2n.kt | timeout | 0.0ms | 30.9MB | 5110ms | 130ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 882ms | 6.0ms | 444.1MB | 1227ms | 87ms | graal/jvm 17.0.8 |
kotlin | 1-m.kt | 957ms | 5.5ms | 357.3MB | 1767ms | 90ms | kotlin/jvm 21 |
java | 1-m.java | 1009ms | 31ms | 430.6MB | 1757ms | 100ms | openjdk 23 |
java | 1-m.java | 1016ms | 30ms | 351.1MB | 1783ms | 83ms | openjdk 21 |
java | 1.java | 1974ms | 2.9ms | 1319.5MB | 1730ms | 1020ms | openjdk/zgc 21 |
kotlin | 1n.kt | timeout | 0.0ms | 26.8MB | 3970ms | 1513ms | kotlin/native 2.1.20 |
kotlin | 2n.kt | timeout | 0.0ms | 30.6MB | 5120ms | 117ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 3.java | timeout | 0.0ms | 408.0MB | 5403ms | 83ms | graal/jvm 17.0.8 |
java | 3.java | timeout | 0.0ms | 302.6MB | 5337ms | 57ms | openjdk 21 |
java | 3.java | timeout | 0.0ms | 304.6MB | 5330ms | 57ms | openjdk 23 |
java | 3.java | timeout | 0.0ms | 469.2MB | 4967ms | 293ms | openjdk/zgc 21 |
kotlin | 1.kt | timeout | 0.0ms | 173.5MB | 5407ms | 40ms | kotlin/jvm 21 |
kotlin | 1n.kt | timeout | 0.0ms | 226.8MB | 5063ms | 130ms | kotlin/native 2.1.20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 3-m.java | 752ms | 7.5ms | 175.1MB | 1097ms | 60ms | graal/jvm 17.0.8 |
java | 3-m.java | 797ms | 5.7ms | 130.5MB | 1187ms | 37ms | openjdk 21 |
java | 3-m.java | 802ms | 8.5ms | 130.8MB | 1220ms | 30ms | openjdk 23 |
kotlin | 1-m.kt | 835ms | 9.6ms | 134.4MB | 1263ms | 43ms | kotlin/jvm 21 |
java | 3.java | 975ms | 23ms | 134.2MB | 1167ms | 183ms | openjdk/zgc 21 |
kotlin | 1n.kt | 3210ms | 31ms | 51.1MB | 3280ms | 70ms | kotlin/native 2.1.20 |