Current benchmark data was generated on Mon May 19 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.)
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1-m.java | 603ms | 8.3ms | 352.7MB | 1180ms | 97ms | graal/jvm 17.0.8 |
1-m.java | 611ms | 69ms | 263.9MB | 1673ms | 67ms | openjdk 21 |
1-m.java | 642ms | 55ms | 231.5MB | 1707ms | 73ms | openjdk 23 |
1-m.java | 949ms | 34ms | 528.2MB | 1633ms | 413ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1-m.java | 305ms | 0.9ms | 225.8MB | 607ms | 63ms | graal/jvm 17.0.8 |
1-m.java | 330ms | 3.5ms | 176.0MB | 903ms | 50ms | openjdk 21 |
1-m.java | 385ms | 22ms | 110.7MB | 1043ms | 50ms | openjdk 23 |
1-m.java | 509ms | 21ms | 215.5MB | 1010ms | 207ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1-m.java | 898ms | 11ms | 96.1MB | 3307ms | 40ms | graal/jvm 17.0.8 |
1-m.java | 988ms | 11ms | 48.3MB | 3657ms | 23ms | openjdk 21 |
1-m.java | 990ms | 2.9ms | 50.2MB | 3640ms | 27ms | openjdk 23 |
1-m.java | 1042ms | 3.9ms | 45.7MB | 3403ms | 137ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
3-m.java | 1066ms | 62ms | 154.5MB | 3653ms | 53ms | openjdk 23 |
3-m.java | 1090ms | 16ms | 125.0MB | 3730ms | 50ms | openjdk 21 |
3-m.java | 1113ms | 11ms | 179.2MB | 3827ms | 60ms | graal/jvm 17.0.8 |
3-m.java | 1376ms | 12ms | 179.0MB | 4323ms | 207ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
3-m.java | 327ms | 29ms | 99.7MB | 970ms | 37ms | openjdk 21 |
3-m.java | 336ms | 17ms | 104.1MB | 997ms | 37ms | openjdk 23 |
3-m.java | 347ms | 30ms | 135.3MB | 967ms | 57ms | graal/jvm 17.0.8 |
3-m.java | 440ms | 9.5ms | 98.5MB | 930ms | 167ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1b.java | 1150ms | 9.6ms | 55.1MB | 1253ms | 17ms | openjdk 23 |
1b.java | 1165ms | 24ms | 54.5MB | 1277ms | 20ms | openjdk 21 |
1b.java | 1185ms | 21ms | 110.0MB | 1397ms | 40ms | graal/jvm 17.0.8 |
1.java | 1259ms | 14ms | 133.7MB | 1377ms | 50ms | graal/jvm 17.0.8 |
1b.java | 1282ms | 17ms | 51.0MB | 1270ms | 143ms | openjdk/zgc 21 |
1a.java | 1658ms | 5.0ms | 55.8MB | 1757ms | 27ms | openjdk 23 |
1a.java | 1665ms | 7.5ms | 55.0MB | 1773ms | 17ms | openjdk 21 |
1a.java | 1696ms | 7.7ms | 102.1MB | 1813ms | 43ms | graal/jvm 17.0.8 |
1.java | 1710ms | 5.3ms | 266.5MB | 1773ms | 47ms | openjdk 21 |
1.java | 1716ms | 3.0ms | 317.2MB | 1780ms | 53ms | openjdk 23 |
1a.java | 1786ms | 3.6ms | 52.1MB | 1770ms | 140ms | openjdk/zgc 21 |
1.java | 2371ms | 11ms | 852.6MB | 1813ms | 670ms | openjdk/zgc 21 |
2.java | timeout | 0.0ms | 707.1MB | 5343ms | 120ms | openjdk 21 |
2.java | timeout | 0.0ms | 756.4MB | 5333ms | 133ms | openjdk 23 |
2.java | timeout | 0.0ms | 3298.5MB | 3430ms | 1950ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1b-m.java | 183ms | 6.1ms | 49.6MB | 290ms | 27ms | openjdk 21 |
1b-m.java | 186ms | 5.5ms | 51.5MB | 297ms | 20ms | openjdk 23 |
1a-m.java | 191ms | 4.9ms | 50.8MB | 290ms | 23ms | openjdk 21 |
1a-m.java | 193ms | 3.0ms | 52.9MB | 290ms | 23ms | openjdk 23 |
1-m.java | 197ms | 3.9ms | 87.1MB | 273ms | 30ms | openjdk 23 |
1-m.java | 198ms | 3.0ms | 81.7MB | 280ms | 23ms | openjdk 21 |
1-m.java | 201ms | 9.5ms | 112.5MB | 310ms | 43ms | graal/jvm 17.0.8 |
1a-m.java | 208ms | 1.3ms | 98.4MB | 320ms | 33ms | graal/jvm 17.0.8 |
1b-m.java | 226ms | 12ms | 100.1MB | 390ms | 37ms | graal/jvm 17.0.8 |
1b.java | 307ms | 6.4ms | 47.4MB | 300ms | 140ms | openjdk/zgc 21 |
1a.java | 319ms | 1.1ms | 48.9MB | 300ms | 147ms | openjdk/zgc 21 |
1.java | 337ms | 3.1ms | 114.3MB | 260ms | 163ms | openjdk/zgc 21 |
2-m.java | 560ms | 7.9ms | 661.3MB | 860ms | 100ms | openjdk 21 |
2-m.java | 587ms | 3.2ms | 785.9MB | 887ms | 97ms | openjdk 23 |
2.java | 1620ms | 55ms | 1396.0MB | 853ms | 1077ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1.java | 445ms | 0.4ms | 45.0MB | 490ms | 13ms | openjdk 21 |
1.java | 446ms | 3.8ms | 48.4MB | 477ms | 20ms | openjdk 23 |
1.java | 447ms | 2.3ms | 82.2MB | 477ms | 27ms | graal/jvm 17.0.8 |
1.java | 577ms | 2.1ms | 44.8MB | 497ms | 140ms | openjdk/zgc 21 |
2.java | 1252ms | 5.6ms | 639.9MB | 1390ms | 87ms | openjdk 21 |
2.java | 1277ms | 19ms | 794.0MB | 1390ms | 113ms | openjdk 23 |
2.java | 3274ms | 53ms | 2445.6MB | 1653ms | 1830ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1.java | 120ms | 4.0ms | 48.0MB | 153ms | 20ms | openjdk 23 |
1.java | 122ms | 2.1ms | 44.9MB | 167ms | 13ms | openjdk 21 |
1-m.java | 123ms | 4.2ms | 81.5MB | 157ms | 33ms | graal/jvm 17.0.8 |
1.java | 249ms | 3.8ms | 44.9MB | 157ms | 147ms | openjdk/zgc 21 |
2-m.java | 302ms | 22ms | 344.8MB | 437ms | 53ms | openjdk 21 |
2-m.java | 313ms | 7.2ms | 400.0MB | 443ms | 70ms | openjdk 23 |
2.java | 684ms | 17ms | 532.7MB | 467ms | 407ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1.java | 410ms | 3.5ms | 115.8MB | 463ms | 27ms | openjdk 21 |
1.java | 424ms | 3.9ms | 118.5MB | 467ms | 27ms | openjdk 23 |
1.java | 587ms | 6.0ms | 112.8MB | 493ms | 163ms | openjdk/zgc 21 |
1-m.java | 644ms | 25ms | 236.7MB | 933ms | 77ms | graal/jvm 17.0.8 |
2.java | 782ms | 3.1ms | 56.9MB | 837ms | 17ms | openjdk 21 |
2.java | 786ms | 9.6ms | 60.5MB | 840ms | 20ms | openjdk 23 |
2.java | 847ms | 3.9ms | 53.2MB | 777ms | 143ms | openjdk/zgc 21 |
2-m.java | 1339ms | 8.3ms | 234.5MB | 2410ms | 100ms | graal/jvm 17.0.8 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1.java | 155ms | 2.3ms | 68.1MB | 200ms | 23ms | openjdk 23 |
1.java | 158ms | 3.5ms | 64.7MB | 210ms | 20ms | openjdk 21 |
1-m.java | 210ms | 6.9ms | 124.8MB | 297ms | 47ms | graal/jvm 17.0.8 |
2.java | 262ms | 3.1ms | 50.5MB | 310ms | 23ms | openjdk 23 |
2.java | 263ms | 1.2ms | 50.0MB | 327ms | 20ms | openjdk 21 |
1.java | 286ms | 4.1ms | 61.5MB | 203ms | 150ms | openjdk/zgc 21 |
2.java | 370ms | 2.8ms | 47.7MB | 303ms | 147ms | openjdk/zgc 21 |
2-m.java | 470ms | 6.2ms | 199.2MB | 830ms | 63ms | graal/jvm 17.0.8 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1.java | 3209ms | 4.7ms | 445.5MB | 3633ms | 100ms | graal/jvm 17.0.8 |
1.java | 3722ms | 68ms | 433.0MB | 4600ms | 107ms | openjdk 21 |
1.java | 3750ms | 35ms | 408.8MB | 4670ms | 107ms | openjdk 23 |
1.java | timeout | 0.0ms | 1830.0MB | 4663ms | 1203ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
1.java | 888ms | 5.7ms | 448.3MB | 1230ms | 87ms | graal/jvm 17.0.8 |
1-m.java | 985ms | 9.3ms | 423.2MB | 1833ms | 87ms | openjdk 21 |
1-m.java | 1005ms | 39ms | 488.4MB | 1760ms | 110ms | openjdk 23 |
1.java | 1983ms | 5.7ms | 1312.1MB | 1770ms | 1033ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
3.java | timeout | 0.0ms | 399.2MB | 5400ms | 90ms | graal/jvm 17.0.8 |
3.java | timeout | 0.0ms | 302.2MB | 5327ms | 60ms | openjdk 21 |
3.java | timeout | 0.0ms | 305.0MB | 5323ms | 63ms | openjdk 23 |
3.java | timeout | 0.0ms | 468.6MB | 4970ms | 293ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
3-m.java | 772ms | 8.0ms | 176.1MB | 1150ms | 57ms | graal/jvm 17.0.8 |
3-m.java | 798ms | 9.3ms | 128.8MB | 1187ms | 37ms | openjdk 21 |
3-m.java | 805ms | 18ms | 132.4MB | 1233ms | 43ms | openjdk 23 |
3.java | 985ms | 10ms | 133.8MB | 1160ms | 190ms | openjdk/zgc 21 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
2-m.java | 1987ms | 7.3ms | 47.4MB | 7587ms | 27ms | openjdk 21 |
2-m.java | 2001ms | 11ms | 48.8MB | 7653ms | 27ms | openjdk 23 |
2-m.java | 2120ms | 12ms | 45.2MB | 7633ms | 150ms | openjdk/zgc 21 |
2-m.java | 2521ms | 48ms | 94.9MB | 9407ms | 50ms | graal/jvm 17.0.8 |
code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|
2-m.java | 605ms | 4.2ms | 47.7MB | 2140ms | 20ms | openjdk 21 |
2-m.java | 617ms | 2.8ms | 48.8MB | 2187ms | 20ms | openjdk 23 |
2-m.java | 732ms | 8.1ms | 45.3MB | 2153ms | 147ms | openjdk/zgc 21 |
2-m.java | 776ms | 4.7ms | 95.1MB | 2737ms | 43ms | graal/jvm 17.0.8 |