Current benchmark data was generated on Thu Feb 01 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 |
---|---|---|---|---|---|---|---|
java | 2.java | 450ms | 3.2ms | 574.3MB | 543ms | 87ms | openjdk 21 |
java | 2-m.java | 462ms | 4.6ms | 646.8MB | 650ms | 110ms | graal/jvm 17.0.8 |
java | 2.java | 462ms | 4.8ms | 588.2MB | 563ms | 97ms | openjdk 23 |
java | 2.java | 1178ms | 0.9ms | 1055.6MB | 607ms | 733ms | openjdk/zgc 21 |
ocaml | 1.ml | 3017ms | 20ms | 150.6MB | 2940ms | 63ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2.java | 123ms | 1.1ms | 166.9MB | 147ms | 37ms | openjdk 21 |
java | 2-m.java | 125ms | 1.5ms | 163.2MB | 157ms | 33ms | openjdk 23 |
java | 2-m.java | 168ms | 15ms | 230.2MB | 220ms | 70ms | graal/jvm 17.0.8 |
ocaml | 1.ml | 222ms | 2.9ms | 18.8MB | 203ms | 3ms | ocaml 5.1.1 |
java | 2.java | 314ms | 1.3ms | 241.4MB | 153ms | 213ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 888ms | 5.5ms | 97.2MB | 3257ms | 43ms | graal/jvm 17.0.8 |
java | 1-m.java | 946ms | 34ms | 48.5MB | 3513ms | 23ms | openjdk 21 |
java | 1-m.java | 989ms | 11ms | 49.0MB | 3650ms | 17ms | openjdk 23 |
java | 1-m.java | 1010ms | 36ms | 47.9MB | 3313ms | 133ms | openjdk/zgc 21 |
ocaml | 2.ml | 2911ms | 3.0ms | 3.0MB | 2897ms | 0ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 179ms | 6.4ms | 48.5MB | 490ms | 27ms | openjdk 21 |
java | 1-m.java | 185ms | 1.9ms | 48.7MB | 487ms | 13ms | openjdk 23 |
java | 1-m.java | 198ms | 9.6ms | 97.6MB | 523ms | 47ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 245ms | 2.5ms | 3.0MB | 233ms | 0ms | ocaml 5.1.1 |
java | 1-m.java | 290ms | 2.9ms | 45.8MB | 473ms | 133ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 6.ml | 345ms | 0.3ms | 22.7MB | 330ms | 3ms | ocaml 5.1.1 |
java | 4.java | 440ms | 1.7ms | 107.1MB | 620ms | 27ms | graal/jvm 17.0.8 |
java | 4.java | 450ms | 5.5ms | 47.4MB | 530ms | 17ms | openjdk 21 |
java | 4.java | 455ms | 1.9ms | 47.5MB | 543ms | 17ms | openjdk 23 |
java | 4.java | 565ms | 1.6ms | 45.1MB | 533ms | 133ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 6.ml | 39ms | 0.7ms | 5.4MB | 27ms | 0ms | ocaml 5.1.1 |
java | 4.java | 119ms | 4.0ms | 46.5MB | 167ms | 7ms | openjdk 23 |
java | 4.java | 124ms | 1.1ms | 46.2MB | 157ms | 23ms | openjdk 21 |
java | 4-m.java | 144ms | 8.0ms | 99.7MB | 213ms | 30ms | graal/jvm 17.0.8 |
java | 4.java | 242ms | 5.6ms | 43.9MB | 167ms | 133ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 1.7ms | 0.1ms | 3.0MB | 0ms | 0ms | ocaml 5.1.1 |
java | 1.java | 66ms | 3.1ms | 54.7MB | 64ms | 24ms | graal/jvm 17.0.8 |
java | 1.java | 73ms | 1.9ms | 43.8MB | 74ms | 14ms | openjdk 21 |
java | 1.java | 73ms | 2.7ms | 43.9MB | 80ms | 14ms | openjdk 23 |
java | 1.java | 189ms | 6.4ms | 42.6MB | 84ms | 132ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 186ms | 5.8ms | 6.5MB | 177ms | 0ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 399ms | 1.6ms | 680.1MB | 480ms | 80ms | openjdk 21 |
java | 1.java | 400ms | 2.6ms | 658.4MB | 477ms | 80ms | openjdk 23 |
java | 1-m.java | 411ms | 5.6ms | 638.2MB | 593ms | 120ms | graal/jvm 17.0.8 |
java | 1.java | 1027ms | 7.4ms | 941.0MB | 473ms | 707ms | openjdk/zgc 21 |
ocaml | 1.ml | 1178ms | 8.6ms | 74.8MB | 1140ms | 23ms | ocaml 5.1.1 |
ocaml | 2.ml | 2124ms | 11ms | 85.5MB | 2077ms | 27ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 153ms | 1.9ms | 23.1MB | 133ms | 0ms | ocaml 5.1.1 |
java | 1-m.java | 160ms | 2.0ms | 198.3MB | 237ms | 33ms | openjdk 23 |
java | 1-m.java | 164ms | 2.2ms | 206.7MB | 243ms | 37ms | openjdk 21 |
java | 1-m.java | 251ms | 4.7ms | 257.4MB | 403ms | 73ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 371ms | 4.0ms | 24.9MB | 347ms | 7ms | ocaml 5.1.1 |
java | 1.java | 430ms | 21ms | 343.8MB | 227ms | 277ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 373ms | 3.1ms | 3.3MB | 360ms | 0ms | ocaml 5.1.1 |
java | 1.java | 443ms | 1.2ms | 47.6MB | 487ms | 13ms | openjdk 23 |
java | 1.java | 444ms | 1.9ms | 45.4MB | 477ms | 20ms | openjdk 21 |
java | 1.java | 455ms | 6.6ms | 86.8MB | 483ms | 30ms | graal/jvm 17.0.8 |
java | 1.java | 559ms | 4.6ms | 46.7MB | 480ms | 133ms | openjdk/zgc 21 |
java | 2.java | 1234ms | 5.9ms | 597.7MB | 1363ms | 77ms | openjdk 23 |
java | 2.java | 1238ms | 9.8ms | 647.8MB | 1373ms | 80ms | openjdk 21 |
java | 2.java | 3177ms | 56ms | 2367.4MB | 1670ms | 1723ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 1.ml | 40ms | 0.9ms | 3.3MB | 30ms | 0ms | ocaml 5.1.1 |
java | 1.java | 119ms | 1.1ms | 45.5MB | 147ms | 23ms | openjdk 21 |
java | 1.java | 120ms | 0.2ms | 47.8MB | 153ms | 20ms | openjdk 23 |
java | 1.java | 126ms | 5.3ms | 87.5MB | 157ms | 27ms | graal/jvm 17.0.8 |
java | 1.java | 243ms | 2.9ms | 46.7MB | 163ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 295ms | 2.6ms | 352.8MB | 433ms | 50ms | openjdk 23 |
java | 2-m.java | 298ms | 4.2ms | 362.9MB | 443ms | 50ms | openjdk 21 |
java | 2.java | 681ms | 8.7ms | 528.1MB | 440ms | 427ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 397ms | 1.3ms | 117.2MB | 443ms | 20ms | openjdk 23 |
java | 1.java | 403ms | 8.1ms | 114.9MB | 447ms | 30ms | openjdk 21 |
java | 1.java | 581ms | 2.7ms | 114.6MB | 473ms | 177ms | openjdk/zgc 21 |
java | 1-m.java | 638ms | 11ms | 234.0MB | 917ms | 77ms | graal/jvm 17.0.8 |
java | 2.java | 779ms | 1.6ms | 59.3MB | 827ms | 23ms | openjdk 23 |
java | 2.java | 781ms | 0.5ms | 57.3MB | 837ms | 23ms | openjdk 21 |
java | 2.java | 849ms | 14ms | 52.9MB | 773ms | 150ms | openjdk/zgc 21 |
ocaml | 1.ml | 989ms | 6.1ms | 550.4MB | 923ms | 50ms | ocaml 5.1.1 |
java | 2-m.java | 1353ms | 17ms | 264.4MB | 2427ms | 100ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 2043ms | 6.1ms | 18.5MB | 2030ms | 0ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 158ms | 3.3ms | 67.3MB | 207ms | 20ms | openjdk 23 |
java | 1.java | 162ms | 8.7ms | 64.7MB | 203ms | 27ms | openjdk 21 |
ocaml | 1.ml | 212ms | 19ms | 139.7MB | 190ms | 7ms | ocaml 5.1.1 |
java | 1-m.java | 214ms | 20ms | 137.5MB | 287ms | 60ms | graal/jvm 17.0.8 |
java | 2.java | 257ms | 0.4ms | 49.6MB | 293ms | 30ms | openjdk 23 |
java | 2.java | 257ms | 3.8ms | 49.8MB | 313ms | 23ms | openjdk 21 |
java | 1.java | 284ms | 4.8ms | 63.3MB | 210ms | 143ms | openjdk/zgc 21 |
java | 2.java | 365ms | 2.0ms | 49.3MB | 307ms | 137ms | openjdk/zgc 21 |
ocaml | 2.ml | 502ms | 3.3ms | 9.0MB | 487ms | 0ms | ocaml 5.1.1 |
java | 2-m.java | 582ms | 94ms | 203.7MB | 1050ms | 63ms | 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 | 411.4MB | 5437ms | 90ms | graal/jvm 17.0.8 |
java | 3.java | timeout | 0.0ms | 303.5MB | 5317ms | 57ms | openjdk 21 |
java | 3.java | timeout | 0.0ms | 303.4MB | 5307ms | 70ms | openjdk 23 |
java | 3.java | timeout | 0.0ms | 469.6MB | 4963ms | 307ms | openjdk/zgc 21 |
ocaml | 2.ml | timeout | 0.0ms | 466.4MB | 4807ms | 173ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ocaml | 2.ml | 554ms | 9.9ms | 57.1MB | 520ms | 17ms | ocaml 5.1.1 |
java | 3-m.java | 783ms | 12ms | 181.0MB | 1160ms | 67ms | graal/jvm 17.0.8 |
java | 3-m.java | 809ms | 17ms | 130.9MB | 1203ms | 37ms | openjdk 21 |
java | 3-m.java | 810ms | 3.6ms | 130.8MB | 1213ms | 43ms | openjdk 23 |
java | 3.java | 967ms | 17ms | 133.5MB | 1183ms | 177ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 1956ms | 9.0ms | 48.0MB | 7453ms | 37ms | openjdk 23 |
java | 2-m.java | 1957ms | 12ms | 47.8MB | 7463ms | 27ms | openjdk 21 |
java | 2-m.java | 2081ms | 13ms | 45.6MB | 7440ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 2462ms | 20ms | 94.8MB | 8777ms | 47ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 4552ms | 0.3ms | 4.4MB | 4537ms | 0ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 583ms | 3.4ms | 47.7MB | 2050ms | 20ms | openjdk 21 |
java | 2-m.java | 586ms | 3.4ms | 47.9MB | 2070ms | 20ms | openjdk 23 |
java | 2-m.java | 713ms | 3.2ms | 45.6MB | 2100ms | 133ms | openjdk/zgc 21 |
java | 2-m.java | 744ms | 11ms | 100.2MB | 2513ms | 37ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 1148ms | 4.4ms | 4.0MB | 1137ms | 0ms | ocaml 5.1.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 233ms | 0.9ms | 47.6MB | 667ms | 20ms | openjdk 21 |
java | 2-m.java | 243ms | 5.5ms | 47.9MB | 727ms | 23ms | openjdk 23 |
java | 2-m.java | 277ms | 8.5ms | 98.5MB | 783ms | 43ms | graal/jvm 17.0.8 |
ocaml | 2.ml | 296ms | 9.9ms | 3.4MB | 287ms | 0ms | ocaml 5.1.1 |
java | 2-m.java | 372ms | 13ms | 45.5MB | 740ms | 133ms | openjdk/zgc 21 |