Current benchmark data was generated on Tue Apr 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 | 463ms | 0.8ms | 576.3MB | 547ms | 97ms | openjdk 21 |
java | 2-m.java | 465ms | 3.0ms | 643.3MB | 647ms | 120ms | graal/jvm 17.0.8 |
java | 2.java | 474ms | 2.2ms | 624.4MB | 590ms | 93ms | openjdk 23 |
java | 2.java | 1249ms | 22ms | 1096.2MB | 580ms | 837ms | openjdk/zgc 21 |
wasm | 5.rs | 1809ms | 60ms | 33.1MB | 1790ms | 7ms | wasmtime 31.0.0 |
wasm | 3.rs | 1854ms | 16ms | 49.2MB | 1827ms | 17ms | wasmtime 31.0.0 |
wasm | 4.rs | 1863ms | 11ms | 33.2MB | 1840ms | 10ms | wasmtime 31.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2.java | 126ms | 3.1ms | 167.2MB | 157ms | 30ms | openjdk 21 |
java | 2-m.java | 128ms | 4.5ms | 98.8MB | 163ms | 30ms | openjdk 23 |
java | 2-m.java | 149ms | 6.5ms | 224.4MB | 223ms | 57ms | graal/jvm 17.0.8 |
wasm | 5.rs | 174ms | 4.1ms | 19.3MB | 157ms | 0ms | wasmtime 31.0.0 |
wasm | 3.rs | 180ms | 2.4ms | 21.1MB | 163ms | 0ms | wasmtime 31.0.0 |
wasm | 4.rs | 181ms | 4.0ms | 19.2MB | 163ms | 0ms | wasmtime 31.0.0 |
java | 2.java | 313ms | 5.1ms | 241.8MB | 160ms | 210ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 1133ms | 6.8ms | 19.4MB | 1117ms | 0ms | wasmtime 31.0.0 |
java | 1-m.java | 2369ms | 239ms | 257.6MB | 8973ms | 137ms | openjdk 21 |
java | 1-m.java | 2440ms | 133ms | 242.6MB | 9250ms | 147ms | openjdk 23 |
java | 1-m.java | 3165ms | 194ms | 1248.2MB | 10320ms | 1190ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 82ms | 1.6ms | 17.7MB | 70ms | 0ms | wasmtime 31.0.0 |
java | 1-m.java | 474ms | 13ms | 92.7MB | 1553ms | 60ms | openjdk 23 |
java | 1-m.java | 482ms | 35ms | 122.2MB | 1600ms | 70ms | openjdk 21 |
java | 1-m.java | 665ms | 22ms | 214.5MB | 1780ms | 247ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 421ms | 7.8ms | 18.6MB | 403ms | 3ms | wasmtime 31.0.0 |
java | 1-m.java | 599ms | 4.3ms | 354.2MB | 1150ms | 117ms | graal/jvm 17.0.8 |
java | 1-m.java | 634ms | 43ms | 266.3MB | 1703ms | 67ms | openjdk 21 |
java | 1-m.java | 657ms | 59ms | 261.5MB | 1740ms | 83ms | openjdk 23 |
java | 1-m.java | 997ms | 4.6ms | 529.0MB | 1707ms | 430ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 115ms | 2.6ms | 18.0MB | 103ms | 0ms | wasmtime 31.0.0 |
java | 1-m.java | 303ms | 7.2ms | 226.0MB | 597ms | 67ms | graal/jvm 17.0.8 |
java | 1-m.java | 382ms | 15ms | 179.0MB | 1037ms | 57ms | openjdk 21 |
java | 1-m.java | 387ms | 8.5ms | 111.7MB | 1057ms | 53ms | openjdk 23 |
java | 1-m.java | 549ms | 3.9ms | 215.3MB | 1083ms | 230ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 899ms | 11ms | 95.9MB | 3313ms | 40ms | graal/jvm 17.0.8 |
java | 1-m.java | 955ms | 65ms | 49.0MB | 3507ms | 23ms | openjdk 21 |
java | 1-m.java | 988ms | 5.4ms | 50.3MB | 3637ms | 27ms | openjdk 23 |
java | 1-m.java | 1035ms | 2.7ms | 45.8MB | 3383ms | 150ms | openjdk/zgc 21 |
wasm | 1.rs | 4154ms | 12ms | 16.7MB | 4137ms | 0ms | wasmtime 31.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 177ms | 4.1ms | 48.6MB | 473ms | 27ms | openjdk 21 |
java | 1-m.java | 194ms | 12ms | 95.8MB | 533ms | 37ms | graal/jvm 17.0.8 |
java | 1-m.java | 199ms | 4.2ms | 50.1MB | 520ms | 23ms | openjdk 23 |
java | 1-m.java | 310ms | 7.3ms | 46.1MB | 520ms | 140ms | openjdk/zgc 21 |
wasm | 1.rs | 353ms | 4.0ms | 17.2MB | 340ms | 0ms | wasmtime 31.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 237ms | 2.6ms | 17.5MB | 223ms | 3ms | wasmtime 31.0.0 |
java | 4-m.java | 447ms | 11ms | 101.5MB | 637ms | 40ms | graal/jvm 17.0.8 |
java | 4.java | 460ms | 1.3ms | 49.2MB | 550ms | 20ms | openjdk 23 |
java | 4.java | 461ms | 3.8ms | 47.6MB | 547ms | 20ms | openjdk 21 |
java | 4.java | 578ms | 7.4ms | 45.3MB | 540ms | 147ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 32ms | 0.9ms | 17.3MB | 20ms | 0ms | wasmtime 31.0.0 |
java | 4-m.java | 128ms | 4.4ms | 93.9MB | 177ms | 40ms | graal/jvm 17.0.8 |
java | 4.java | 128ms | 3.4ms | 46.2MB | 167ms | 20ms | openjdk 21 |
java | 4.java | 129ms | 1.5ms | 48.3MB | 170ms | 20ms | openjdk 23 |
java | 4.java | 249ms | 1.9ms | 43.7MB | 170ms | 140ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 7.3ms | 1.3ms | 17.4MB | 0ms | 0ms | wasmtime 31.0.0 |
java | 1.java | 64ms | 1.4ms | 52.8MB | 66ms | 20ms | graal/jvm 17.0.8 |
java | 1.java | 68ms | 2.2ms | 43.7MB | 78ms | 18ms | openjdk 21 |
java | 1.java | 73ms | 6.0ms | 44.7MB | 76ms | 18ms | openjdk 23 |
java | 1.java | 195ms | 5.0ms | 43.0MB | 86ms | 138ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 90ms | 0.5ms | 17.4MB | 80ms | 0ms | wasmtime 31.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 832ms | 8.8ms | 20.3MB | 817ms | 0ms | wasmtime 31.0.0 |
java | 1b.java | 1153ms | 7.9ms | 55.4MB | 1257ms | 23ms | openjdk 23 |
java | 1b.java | 1157ms | 8.0ms | 54.2MB | 1260ms | 23ms | openjdk 21 |
java | 1b.java | 1195ms | 40ms | 109.9MB | 1393ms | 43ms | graal/jvm 17.0.8 |
java | 1.java | 1264ms | 8.1ms | 130.0MB | 1383ms | 43ms | graal/jvm 17.0.8 |
java | 1b.java | 1276ms | 14ms | 50.9MB | 1250ms | 150ms | openjdk/zgc 21 |
java | 1a.java | 1659ms | 2.3ms | 55.5MB | 1753ms | 27ms | openjdk 23 |
java | 1a.java | 1661ms | 3.2ms | 55.0MB | 1760ms | 23ms | openjdk 21 |
java | 1a.java | 1682ms | 2.7ms | 102.0MB | 1793ms | 40ms | graal/jvm 17.0.8 |
java | 1.java | 1715ms | 1.3ms | 266.8MB | 1787ms | 50ms | openjdk 21 |
java | 1.java | 1716ms | 5.3ms | 309.7MB | 1780ms | 53ms | openjdk 23 |
java | 1a.java | 1793ms | 9.1ms | 51.8MB | 1763ms | 150ms | openjdk/zgc 21 |
java | 1.java | 2387ms | 4.4ms | 832.3MB | 1797ms | 700ms | openjdk/zgc 21 |
java | 2.java | timeout | 0.0ms | 641.9MB | 5290ms | 123ms | openjdk 21 |
java | 2.java | timeout | 0.0ms | 887.3MB | 5270ms | 137ms | openjdk 23 |
java | 2.java | timeout | 0.0ms | 3306.3MB | 3353ms | 2010ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 43ms | 1.1ms | 17.4MB | 30ms | 0ms | wasmtime 31.0.0 |
java | 1b-m.java | 187ms | 7.0ms | 49.6MB | 280ms | 30ms | openjdk 21 |
java | 1b-m.java | 189ms | 10ms | 50.5MB | 293ms | 27ms | openjdk 23 |
java | 1a-m.java | 191ms | 3.6ms | 50.7MB | 297ms | 20ms | openjdk 21 |
java | 1a-m.java | 193ms | 4.4ms | 51.9MB | 297ms | 23ms | openjdk 23 |
java | 1-m.java | 195ms | 11ms | 110.7MB | 307ms | 43ms | graal/jvm 17.0.8 |
java | 1-m.java | 195ms | 1.4ms | 81.8MB | 277ms | 23ms | openjdk 21 |
java | 1-m.java | 196ms | 11ms | 86.9MB | 270ms | 30ms | openjdk 23 |
java | 1a-m.java | 205ms | 3.1ms | 98.0MB | 307ms | 37ms | graal/jvm 17.0.8 |
java | 1b-m.java | 219ms | 16ms | 101.9MB | 370ms | 40ms | graal/jvm 17.0.8 |
java | 1a.java | 316ms | 4.9ms | 48.6MB | 290ms | 147ms | openjdk/zgc 21 |
java | 1b.java | 319ms | 1.4ms | 47.6MB | 310ms | 143ms | openjdk/zgc 21 |
java | 1.java | 339ms | 4.4ms | 114.3MB | 273ms | 163ms | openjdk/zgc 21 |
java | 2-m.java | 570ms | 16ms | 655.1MB | 853ms | 93ms | openjdk 21 |
java | 2-m.java | 585ms | 14ms | 789.4MB | 853ms | 123ms | openjdk 23 |
java | 2.java | 1661ms | 61ms | 1407.9MB | 860ms | 1103ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 403ms | 6.5ms | 679.3MB | 460ms | 100ms | openjdk 21 |
java | 1.java | 404ms | 6.2ms | 543.6MB | 507ms | 87ms | openjdk 23 |
java | 1-m.java | 415ms | 10ms | 628.4MB | 613ms | 107ms | graal/jvm 17.0.8 |
wasm | 1.rs | 939ms | 69ms | 41.1MB | 913ms | 13ms | wasmtime 31.0.0 |
java | 1.java | 1081ms | 7.3ms | 969.4MB | 447ms | 757ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 168ms | 0.6ms | 158.6MB | 250ms | 40ms | openjdk 23 |
java | 1-m.java | 170ms | 0.4ms | 206.2MB | 240ms | 50ms | openjdk 21 |
wasm | 1.rs | 201ms | 2.9ms | 23.2MB | 183ms | 0ms | wasmtime 31.0.0 |
java | 1-m.java | 218ms | 17ms | 253.4MB | 360ms | 60ms | graal/jvm 17.0.8 |
java | 1.java | 426ms | 21ms | 342.0MB | 217ms | 290ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 413ms | 2.3ms | 17.1MB | 400ms | 0ms | wasmtime 31.0.0 |
java | 1.java | 448ms | 1.9ms | 45.3MB | 487ms | 20ms | openjdk 21 |
java | 1.java | 448ms | 1.6ms | 48.3MB | 480ms | 20ms | openjdk 23 |
java | 1.java | 449ms | 6.6ms | 81.5MB | 477ms | 30ms | graal/jvm 17.0.8 |
java | 1.java | 566ms | 4.0ms | 44.5MB | 483ms | 137ms | openjdk/zgc 21 |
wasm | 2.rs | 587ms | 3.1ms | 17.0MB | 573ms | 0ms | wasmtime 31.0.0 |
java | 2.java | 1270ms | 4.1ms | 792.6MB | 1393ms | 103ms | openjdk 23 |
java | 2.java | 1288ms | 52ms | 595.9MB | 1420ms | 83ms | openjdk 21 |
java | 2.java | 3257ms | 134ms | 2431.0MB | 1623ms | 1843ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 50ms | 1.6ms | 17.1MB | 37ms | 0ms | wasmtime 31.0.0 |
wasm | 2.rs | 67ms | 0.7ms | 17.4MB | 53ms | 0ms | wasmtime 31.0.0 |
java | 1-m.java | 119ms | 1.7ms | 81.7MB | 147ms | 33ms | graal/jvm 17.0.8 |
java | 1.java | 121ms | 1.4ms | 45.2MB | 160ms | 20ms | openjdk 21 |
java | 1.java | 124ms | 7.2ms | 48.2MB | 160ms | 20ms | openjdk 23 |
java | 1.java | 248ms | 4.1ms | 44.9MB | 170ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 301ms | 9.8ms | 387.1MB | 443ms | 53ms | openjdk 21 |
java | 2-m.java | 314ms | 3.1ms | 416.0MB | 453ms | 70ms | openjdk 23 |
java | 2.java | 692ms | 5.9ms | 525.1MB | 467ms | 410ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 376ms | 5.1ms | 22.0MB | 360ms | 0ms | wasmtime 31.0.0 |
java | 1.java | 423ms | 4.3ms | 114.8MB | 473ms | 23ms | openjdk 21 |
java | 1.java | 469ms | 27ms | 118.4MB | 513ms | 20ms | openjdk 23 |
wasm | 1.rs | 510ms | 12ms | 56.1MB | 493ms | 0ms | wasmtime 31.0.0 |
java | 1.java | 606ms | 18ms | 112.9MB | 513ms | 167ms | openjdk/zgc 21 |
java | 1-m.java | 613ms | 10ms | 237.4MB | 893ms | 70ms | graal/jvm 17.0.8 |
java | 2.java | 783ms | 4.9ms | 60.5MB | 840ms | 20ms | openjdk 23 |
java | 2.java | 785ms | 1.0ms | 56.8MB | 840ms | 23ms | openjdk 21 |
java | 2.java | 900ms | 86ms | 53.4MB | 833ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 1356ms | 37ms | 256.2MB | 2440ms | 100ms | graal/jvm 17.0.8 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 99ms | 4.3ms | 27.0MB | 83ms | 0ms | wasmtime 31.0.0 |
wasm | 2.rs | 100ms | 2.4ms | 18.4MB | 83ms | 7ms | wasmtime 31.0.0 |
java | 1.java | 157ms | 4.9ms | 68.4MB | 207ms | 23ms | openjdk 23 |
java | 1.java | 168ms | 7.3ms | 64.9MB | 223ms | 27ms | openjdk 21 |
java | 1-m.java | 214ms | 16ms | 124.6MB | 300ms | 47ms | graal/jvm 17.0.8 |
java | 2.java | 259ms | 4.6ms | 50.0MB | 317ms | 23ms | openjdk 21 |
java | 2.java | 264ms | 0.8ms | 50.4MB | 317ms | 17ms | openjdk 23 |
java | 1.java | 289ms | 0.6ms | 61.4MB | 210ms | 150ms | openjdk/zgc 21 |
java | 2.java | 369ms | 3.1ms | 47.4MB | 303ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 473ms | 4.4ms | 145.8MB | 837ms | 63ms | graal/jvm 17.0.8 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 2211ms | 7.5ms | 18.2MB | 2197ms | 0ms | wasmtime 31.0.0 |
java | 1.java | 3228ms | 17ms | 443.5MB | 3663ms | 97ms | graal/jvm 17.0.8 |
java | 1.java | 3745ms | 13ms | 432.2MB | 4617ms | 123ms | openjdk 23 |
java | 1.java | 3749ms | 15ms | 432.6MB | 4667ms | 110ms | openjdk 21 |
java | 1.java | timeout | 0.0ms | 1935.8MB | 4717ms | 1170ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 531ms | 6.4ms | 17.6MB | 513ms | 0ms | wasmtime 31.0.0 |
java | 1.java | 888ms | 9.3ms | 445.3MB | 1240ms | 80ms | graal/jvm 17.0.8 |
java | 1-m.java | 1037ms | 26ms | 352.0MB | 1820ms | 103ms | openjdk 21 |
java | 1-m.java | 1052ms | 11ms | 383.3MB | 1800ms | 100ms | openjdk 23 |
java | 1.java | 2087ms | 5.4ms | 1391.0MB | 1783ms | 1130ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 1997ms | 10ms | 47.8MB | 7620ms | 23ms | openjdk 21 |
java | 2-m.java | 2004ms | 6.8ms | 48.5MB | 7647ms | 23ms | openjdk 23 |
java | 2-m.java | 2106ms | 19ms | 45.5MB | 7530ms | 147ms | openjdk/zgc 21 |
java | 2-m.java | 2510ms | 37ms | 95.1MB | 9387ms | 50ms | graal/jvm 17.0.8 |
wasm | 2.rs | 3602ms | 4.5ms | 16.9MB | 3587ms | 0ms | wasmtime 31.0.0 |
wasm | 7.rs | 4912ms | 16ms | 16.9MB | 4897ms | 0ms | wasmtime 31.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 608ms | 11ms | 49.1MB | 2147ms | 23ms | openjdk 23 |
java | 2-m.java | 610ms | 7.9ms | 47.8MB | 2153ms | 23ms | openjdk 21 |
java | 2-m.java | 729ms | 4.6ms | 45.4MB | 2143ms | 150ms | openjdk/zgc 21 |
java | 2-m.java | 762ms | 11ms | 93.2MB | 2673ms | 43ms | graal/jvm 17.0.8 |
wasm | 2.rs | 910ms | 0.9ms | 16.7MB | 897ms | 0ms | wasmtime 31.0.0 |
wasm | 7.rs | 1240ms | 9.5ms | 16.9MB | 1230ms | 0ms | wasmtime 31.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 235ms | 1.1ms | 17.2MB | 220ms | 0ms | wasmtime 31.0.0 |
java | 2-m.java | 253ms | 8.5ms | 48.1MB | 743ms | 23ms | openjdk 21 |
java | 2-m.java | 267ms | 10ms | 48.9MB | 800ms | 27ms | openjdk 23 |
java | 2-m.java | 298ms | 25ms | 94.0MB | 890ms | 37ms | graal/jvm 17.0.8 |
wasm | 7.rs | 321ms | 11ms | 16.8MB | 307ms | 0ms | wasmtime 31.0.0 |
java | 2-m.java | 383ms | 1.6ms | 45.6MB | 763ms | 147ms | openjdk/zgc 21 |