Current benchmark data was generated on Mon Apr 14 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 | 461ms | 12ms | 574.0MB | 563ms | 83ms | openjdk 21 |
java | 2.java | 480ms | 4.7ms | 624.4MB | 600ms | 97ms | openjdk 23 |
java | 2-m.java | 481ms | 6.8ms | 642.9MB | 670ms | 120ms | graal/jvm 17.0.8 |
java | 2.java | 1174ms | 6.5ms | 1067.3MB | 593ms | 750ms | openjdk/zgc 21 |
ocaml | 1.ml | 3140ms | 30ms | 157.0MB | 3057ms | 70ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2.java | 125ms | 2.4ms | 165.6MB | 157ms | 30ms | openjdk 21 |
java | 2.java | 135ms | 5.3ms | 96.2MB | 173ms | 27ms | openjdk 23 |
java | 2-m.java | 150ms | 5.9ms | 224.4MB | 227ms | 53ms | graal/jvm 17.0.8 |
ocaml | 1.ml | 226ms | 2.6ms | 19.2MB | 210ms | 0ms | ocaml 5.3.0 |
java | 2.java | 304ms | 2.2ms | 241.6MB | 157ms | 203ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 911ms | 6.0ms | 96.1MB | 3347ms | 33ms | graal/jvm 17.0.8 |
java | 1-m.java | 953ms | 33ms | 48.3MB | 3547ms | 20ms | openjdk 21 |
java | 1-m.java | 980ms | 19ms | 51.0MB | 3597ms | 23ms | openjdk 23 |
java | 1-m.java | 1046ms | 9.7ms | 45.8MB | 3413ms | 143ms | openjdk/zgc 21 |
ocaml | 2.ml | 2917ms | 2.7ms | 4.9MB | 2907ms | 0ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 184ms | 2.3ms | 48.2MB | 500ms | 20ms | openjdk 21 |
java | 1-m.java | 197ms | 4.9ms | 96.2MB | 543ms | 40ms | graal/jvm 17.0.8 |
java | 1-m.java | 199ms | 6.2ms | 50.0MB | 510ms | 23ms | openjdk 23 |
ocaml | 2.ml | 249ms | 3.0ms | 4.9MB | 240ms | 0ms | ocaml 5.3.0 |
java | 1-m.java | 312ms | 5.2ms | 45.8MB | 507ms | 143ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 6.ml | 345ms | 0.4ms | 24.9MB | 333ms | 0ms | ocaml 5.3.0 |
java | 4.java | 446ms | 6.7ms | 102.7MB | 630ms | 37ms | graal/jvm 17.0.8 |
java | 4.java | 453ms | 2.9ms | 47.7MB | 537ms | 17ms | openjdk 21 |
java | 4.java | 462ms | 5.5ms | 49.0MB | 553ms | 20ms | openjdk 23 |
java | 4.java | 574ms | 8.7ms | 45.3MB | 550ms | 140ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 6.ml | 39ms | 0.6ms | 7.5MB | 30ms | 0ms | ocaml 5.3.0 |
java | 4.java | 125ms | 2.4ms | 46.7MB | 167ms | 20ms | openjdk 21 |
java | 4.java | 134ms | 2.5ms | 47.9MB | 180ms | 20ms | openjdk 23 |
java | 4-m.java | 134ms | 4.6ms | 91.8MB | 193ms | 37ms | graal/jvm 17.0.8 |
java | 4.java | 250ms | 3.6ms | 43.9MB | 170ms | 137ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 1.9ms | 0.0ms | 5.1MB | 0ms | 0ms | ocaml 5.3.0 |
java | 1.java | 63ms | 1.5ms | 52.7MB | 70ms | 20ms | graal/jvm 17.0.8 |
java | 1.java | 72ms | 3.3ms | 44.4MB | 74ms | 20ms | openjdk 23 |
java | 1.java | 73ms | 1.7ms | 43.8MB | 80ms | 14ms | openjdk 21 |
java | 1.java | 193ms | 6.2ms | 43.0MB | 84ms | 140ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 188ms | 1.5ms | 6.4MB | 180ms | 0ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 413ms | 2.5ms | 537.5MB | 517ms | 87ms | openjdk 23 |
java | 1.java | 423ms | 5.1ms | 677.8MB | 480ms | 113ms | openjdk 21 |
java | 1-m.java | 427ms | 10ms | 641.7MB | 603ms | 127ms | graal/jvm 17.0.8 |
java | 1.java | 1047ms | 30ms | 965.9MB | 463ms | 723ms | openjdk/zgc 21 |
ocaml | 1.ml | 1141ms | 35ms | 70.2MB | 1100ms | 30ms | ocaml 5.3.0 |
ocaml | 2.ml | 2156ms | 13ms | 91.8MB | 2103ms | 37ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 161ms | 4.4ms | 21.6MB | 143ms | 7ms | ocaml 5.3.0 |
java | 1-m.java | 171ms | 3.8ms | 206.1MB | 240ms | 50ms | openjdk 21 |
java | 1-m.java | 171ms | 0.9ms | 158.6MB | 250ms | 43ms | openjdk 23 |
java | 1-m.java | 215ms | 11ms | 253.5MB | 353ms | 63ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 362ms | 1.5ms | 27.7MB | 343ms | 3ms | ocaml 5.3.0 |
java | 1.java | 424ms | 13ms | 341.9MB | 223ms | 283ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 374ms | 1.4ms | 5.3MB | 363ms | 0ms | ocaml 5.3.0 |
java | 1.java | 449ms | 6.5ms | 81.4MB | 477ms | 30ms | graal/jvm 17.0.8 |
java | 1.java | 451ms | 0.4ms | 48.3MB | 487ms | 17ms | openjdk 23 |
java | 1.java | 457ms | 15ms | 45.3MB | 490ms | 17ms | openjdk 21 |
java | 1.java | 571ms | 1.4ms | 44.9MB | 493ms | 137ms | openjdk/zgc 21 |
java | 2.java | 1260ms | 11ms | 640.1MB | 1390ms | 87ms | openjdk 21 |
java | 2.java | 1275ms | 9.1ms | 826.3MB | 1380ms | 123ms | openjdk 23 |
java | 2.java | 3279ms | 125ms | 2446.0MB | 1647ms | 1853ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 41ms | 1.6ms | 5.2MB | 30ms | 0ms | ocaml 5.3.0 |
java | 1.java | 118ms | 2.8ms | 81.5MB | 143ms | 30ms | graal/jvm 17.0.8 |
java | 1.java | 123ms | 2.0ms | 45.2MB | 163ms | 20ms | openjdk 21 |
java | 1.java | 124ms | 4.2ms | 48.2MB | 157ms | 20ms | openjdk 23 |
java | 1.java | 251ms | 4.1ms | 44.9MB | 173ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 305ms | 5.3ms | 394.5MB | 447ms | 60ms | openjdk 21 |
java | 2-m.java | 328ms | 5.1ms | 392.1MB | 470ms | 70ms | openjdk 23 |
java | 2.java | 687ms | 2.7ms | 524.4MB | 477ms | 407ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 431ms | 12ms | 115.9MB | 483ms | 23ms | openjdk 21 |
java | 1.java | 477ms | 33ms | 118.4MB | 523ms | 27ms | openjdk 23 |
java | 1-m.java | 620ms | 8.0ms | 218.4MB | 897ms | 63ms | graal/jvm 17.0.8 |
java | 1.java | 625ms | 9.3ms | 112.7MB | 537ms | 163ms | openjdk/zgc 21 |
java | 2.java | 782ms | 2.9ms | 56.8MB | 840ms | 17ms | openjdk 21 |
java | 2.java | 801ms | 16ms | 60.2MB | 853ms | 20ms | openjdk 23 |
java | 2.java | 850ms | 3.1ms | 53.3MB | 780ms | 147ms | openjdk/zgc 21 |
ocaml | 1.ml | 1018ms | 5.8ms | 550.4MB | 963ms | 40ms | ocaml 5.3.0 |
java | 2-m.java | 1327ms | 5.9ms | 242.0MB | 2380ms | 100ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 1884ms | 9.4ms | 17.2MB | 1867ms | 0ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 154ms | 3.2ms | 64.7MB | 203ms | 20ms | openjdk 21 |
java | 1.java | 160ms | 4.0ms | 68.3MB | 207ms | 20ms | openjdk 23 |
ocaml | 1.ml | 203ms | 4.9ms | 140.7MB | 183ms | 10ms | ocaml 5.3.0 |
java | 1-m.java | 205ms | 7.0ms | 124.6MB | 293ms | 37ms | graal/jvm 17.0.8 |
java | 2.java | 265ms | 1.0ms | 49.9MB | 323ms | 27ms | openjdk 21 |
java | 2.java | 271ms | 2.5ms | 50.6MB | 327ms | 23ms | openjdk 23 |
java | 1.java | 288ms | 1.8ms | 61.5MB | 213ms | 147ms | openjdk/zgc 21 |
java | 2.java | 374ms | 4.3ms | 47.6MB | 313ms | 143ms | openjdk/zgc 21 |
ocaml | 2.ml | 463ms | 1.3ms | 9.1MB | 450ms | 0ms | ocaml 5.3.0 |
java | 2-m.java | 478ms | 6.0ms | 149.5MB | 853ms | 60ms | graal/jvm 17.0.8 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 3.java | timeout | 0.0ms | 398.2MB | 5417ms | 97ms | graal/jvm 17.0.8 |
java | 3.java | timeout | 0.0ms | 302.2MB | 5330ms | 53ms | openjdk 21 |
java | 3.java | timeout | 0.0ms | 304.6MB | 5330ms | 63ms | openjdk 23 |
java | 3.java | timeout | 0.0ms | 466.7MB | 4970ms | 297ms | openjdk/zgc 21 |
ocaml | 2.ml | timeout | 0.0ms | 462.9MB | 4810ms | 173ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 2.ml | 551ms | 8.1ms | 57.1MB | 517ms | 23ms | ocaml 5.3.0 |
java | 3-m.java | 780ms | 24ms | 175.7MB | 1163ms | 50ms | graal/jvm 17.0.8 |
java | 3-m.java | 800ms | 6.0ms | 131.0MB | 1180ms | 30ms | openjdk 21 |
java | 3-m.java | 844ms | 52ms | 132.6MB | 1283ms | 40ms | openjdk 23 |
java | 3.java | 995ms | 16ms | 134.2MB | 1203ms | 190ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 1996ms | 8.8ms | 47.7MB | 7623ms | 27ms | openjdk 21 |
java | 2-m.java | 2011ms | 5.1ms | 48.3MB | 7643ms | 27ms | openjdk 23 |
java | 2-m.java | 2140ms | 20ms | 45.4MB | 7653ms | 150ms | openjdk/zgc 21 |
java | 2-m.java | 2509ms | 8.6ms | 94.2MB | 9357ms | 43ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 4555ms | 3.1ms | 6.3MB | 4543ms | 0ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 607ms | 5.8ms | 47.6MB | 2140ms | 23ms | openjdk 21 |
java | 2-m.java | 621ms | 7.5ms | 48.9MB | 2170ms | 23ms | openjdk 23 |
java | 2-m.java | 743ms | 7.4ms | 45.4MB | 2183ms | 143ms | openjdk/zgc 21 |
java | 2-m.java | 769ms | 3.8ms | 95.1MB | 2703ms | 37ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 1144ms | 2.0ms | 6.1MB | 1137ms | 0ms | ocaml 5.3.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 248ms | 3.4ms | 47.9MB | 757ms | 17ms | openjdk 21 |
java | 2-m.java | 270ms | 8.8ms | 48.8MB | 790ms | 27ms | openjdk 23 |
ocaml | 2.ml | 294ms | 3.8ms | 5.2MB | 287ms | 0ms | ocaml 5.3.0 |
java | 2-m.java | 321ms | 25ms | 94.1MB | 983ms | 40ms | graal/jvm 17.0.8 |
java | 2-m.java | 400ms | 6.1ms | 45.6MB | 820ms | 153ms | openjdk/zgc 21 |