Current benchmark data was generated on Sat Nov 16 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 | 470ms | 7.7ms | 638.0MB | 577ms | 97ms | openjdk 23 |
java | 2.java | 471ms | 26ms | 576.1MB | 553ms | 93ms | openjdk 21 |
java | 2-m.java | 471ms | 4.1ms | 646.9MB | 670ms | 100ms | graal/jvm 17.0.8 |
java | 2.java | 1177ms | 9.4ms | 1047.0MB | 560ms | 777ms | openjdk/zgc 21 |
wasm | 5.rs | 1753ms | 16ms | 34.7MB | 1733ms | 7ms | wasmtime 25.0.3 |
wasm | 4.rs | 1760ms | 6.6ms | 34.7MB | 1740ms | 7ms | wasmtime 25.0.3 |
wasm | 3.rs | 1775ms | 26ms | 50.6MB | 1743ms | 13ms | wasmtime 25.0.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 121ms | 3.3ms | 98.0MB | 150ms | 37ms | openjdk 23 |
java | 2.java | 123ms | 1.3ms | 167.1MB | 143ms | 37ms | openjdk 21 |
wasm | 5.rs | 167ms | 1.0ms | 20.7MB | 153ms | 3ms | wasmtime 25.0.3 |
java | 2-m.java | 170ms | 4.2ms | 230.2MB | 260ms | 47ms | graal/jvm 17.0.8 |
wasm | 3.rs | 171ms | 3.2ms | 22.7MB | 153ms | 7ms | wasmtime 25.0.3 |
wasm | 4.rs | 175ms | 4.5ms | 20.7MB | 160ms | 0ms | wasmtime 25.0.3 |
java | 2.java | 309ms | 1.6ms | 242.5MB | 163ms | 200ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 1120ms | 8.2ms | 20.8MB | 1107ms | 3ms | wasmtime 25.0.3 |
java | 1-m.java | 1914ms | 216ms | 260.7MB | 7217ms | 110ms | openjdk 21 |
java | 1-m.java | 2372ms | 102ms | 240.5MB | 9013ms | 113ms | openjdk 23 |
java | 1-m.java | 2694ms | 224ms | 1170.6MB | 8560ms | 1093ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 81ms | 1.4ms | 21.2MB | 67ms | 3ms | wasmtime 25.0.3 |
java | 1-m.java | 413ms | 6.1ms | 91.0MB | 1353ms | 50ms | openjdk 23 |
java | 1-m.java | 422ms | 18ms | 122.6MB | 1387ms | 63ms | openjdk 21 |
java | 1-m.java | 641ms | 15ms | 216.0MB | 1743ms | 227ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 415ms | 5.2ms | 20.1MB | 397ms | 0ms | wasmtime 25.0.3 |
java | 1-m.java | 640ms | 33ms | 265.7MB | 1690ms | 80ms | openjdk 21 |
java | 1-m.java | 642ms | 52ms | 228.2MB | 1693ms | 77ms | openjdk 23 |
java | 1-m.java | 643ms | 11ms | 376.6MB | 1230ms | 117ms | graal/jvm 17.0.8 |
java | 1-m.java | 949ms | 30ms | 530.5MB | 1617ms | 407ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 114ms | 2.3ms | 21.4MB | 100ms | 3ms | wasmtime 25.0.3 |
java | 1-m.java | 326ms | 41ms | 231.0MB | 630ms | 70ms | graal/jvm 17.0.8 |
java | 1-m.java | 356ms | 19ms | 124.5MB | 953ms | 67ms | openjdk 23 |
java | 1-m.java | 388ms | 12ms | 196.0MB | 1040ms | 63ms | openjdk 21 |
java | 1-m.java | 524ms | 36ms | 217.6MB | 1027ms | 217ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 883ms | 4.1ms | 100.1MB | 3233ms | 47ms | graal/jvm 17.0.8 |
java | 1-m.java | 959ms | 4.0ms | 48.5MB | 3550ms | 30ms | openjdk 21 |
java | 1-m.java | 977ms | 6.4ms | 50.1MB | 3600ms | 17ms | openjdk 23 |
java | 1-m.java | 1019ms | 44ms | 46.0MB | 3303ms | 137ms | openjdk/zgc 21 |
wasm | 1.rs | 4102ms | 7.9ms | 18.8MB | 4083ms | 3ms | wasmtime 25.0.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 185ms | 12ms | 48.4MB | 490ms | 30ms | openjdk 21 |
java | 1-m.java | 195ms | 8.3ms | 50.1MB | 497ms | 30ms | openjdk 23 |
java | 1-m.java | 198ms | 13ms | 102.1MB | 540ms | 43ms | graal/jvm 17.0.8 |
java | 1-m.java | 300ms | 5.1ms | 45.9MB | 493ms | 137ms | openjdk/zgc 21 |
wasm | 1.rs | 351ms | 3.0ms | 20.3MB | 333ms | 0ms | wasmtime 25.0.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 236ms | 1.9ms | 19.0MB | 220ms | 7ms | wasmtime 25.0.3 |
java | 4.java | 450ms | 4.7ms | 47.5MB | 527ms | 20ms | openjdk 21 |
java | 4.java | 453ms | 13ms | 106.3MB | 630ms | 47ms | graal/jvm 17.0.8 |
java | 4.java | 466ms | 10ms | 49.3MB | 560ms | 17ms | openjdk 23 |
java | 4.java | 560ms | 11ms | 45.2MB | 537ms | 127ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 32ms | 1.5ms | 18.8MB | 20ms | 0ms | wasmtime 25.0.3 |
java | 4.java | 122ms | 1.2ms | 46.7MB | 167ms | 17ms | openjdk 21 |
java | 4-m.java | 126ms | 2.6ms | 47.9MB | 163ms | 27ms | openjdk 23 |
java | 4-m.java | 130ms | 3.9ms | 97.0MB | 177ms | 43ms | graal/jvm 17.0.8 |
java | 4.java | 243ms | 1.7ms | 45.8MB | 170ms | 130ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 6.6ms | 0.3ms | 19.0MB | 0ms | 0ms | wasmtime 25.0.3 |
java | 1.java | 64ms | 3.0ms | 58.5MB | 62ms | 24ms | graal/jvm 17.0.8 |
java | 1.java | 68ms | 5.7ms | 44.4MB | 68ms | 20ms | openjdk 23 |
java | 1.java | 71ms | 3.9ms | 43.8MB | 72ms | 22ms | openjdk 21 |
java | 1.java | 186ms | 3.8ms | 44.8MB | 76ms | 136ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 90ms | 1.4ms | 20.8MB | 73ms | 7ms | wasmtime 25.0.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 815ms | 2.9ms | 23.9MB | 797ms | 0ms | wasmtime 25.0.3 |
java | 1b.java | 1154ms | 15ms | 54.4MB | 1260ms | 23ms | openjdk 21 |
java | 1b.java | 1163ms | 14ms | 105.3MB | 1310ms | 43ms | graal/jvm 17.0.8 |
java | 1b.java | 1171ms | 30ms | 55.3MB | 1293ms | 20ms | openjdk 23 |
java | 1.java | 1247ms | 10ms | 137.6MB | 1370ms | 33ms | graal/jvm 17.0.8 |
java | 1b.java | 1271ms | 9.1ms | 51.5MB | 1260ms | 140ms | openjdk/zgc 21 |
java | 1a.java | 1650ms | 7.6ms | 55.2MB | 1743ms | 20ms | openjdk 23 |
java | 1a.java | 1655ms | 3.6ms | 55.0MB | 1747ms | 23ms | openjdk 21 |
java | 1a.java | 1681ms | 13ms | 104.5MB | 1797ms | 40ms | graal/jvm 17.0.8 |
java | 1.java | 1687ms | 5.5ms | 202.5MB | 1747ms | 50ms | openjdk 21 |
java | 1.java | 1703ms | 7.0ms | 301.7MB | 1767ms | 43ms | openjdk 23 |
java | 1a.java | 1768ms | 3.5ms | 53.0MB | 1737ms | 143ms | openjdk/zgc 21 |
java | 1.java | 2351ms | 1.2ms | 855.0MB | 1790ms | 657ms | openjdk/zgc 21 |
java | 2.java | timeout | 0.0ms | 696.3MB | 5310ms | 127ms | openjdk 21 |
java | 2.java | timeout | 0.0ms | 744.4MB | 5267ms | 123ms | openjdk 23 |
java | 2.java | timeout | 0.0ms | 3358.5MB | 3360ms | 2000ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 43ms | 1.0ms | 21.1MB | 30ms | 0ms | wasmtime 25.0.3 |
java | 1b-m.java | 181ms | 7.7ms | 49.6MB | 280ms | 23ms | openjdk 21 |
java | 1b-m.java | 186ms | 2.0ms | 50.6MB | 293ms | 17ms | openjdk 23 |
java | 1-m.java | 187ms | 2.3ms | 81.8MB | 257ms | 33ms | openjdk 21 |
java | 1a-m.java | 189ms | 3.6ms | 52.2MB | 280ms | 23ms | openjdk 23 |
java | 1a-m.java | 189ms | 0.3ms | 50.1MB | 283ms | 30ms | openjdk 21 |
java | 1-m.java | 190ms | 3.3ms | 114.5MB | 283ms | 43ms | graal/jvm 17.0.8 |
java | 1-m.java | 191ms | 4.3ms | 86.8MB | 260ms | 33ms | openjdk 23 |
java | 1a-m.java | 215ms | 13ms | 102.3MB | 320ms | 43ms | graal/jvm 17.0.8 |
java | 1b-m.java | 227ms | 19ms | 108.0MB | 373ms | 47ms | graal/jvm 17.0.8 |
java | 1b.java | 296ms | 12ms | 47.5MB | 277ms | 137ms | openjdk/zgc 21 |
java | 1a.java | 312ms | 2.2ms | 49.8MB | 297ms | 137ms | openjdk/zgc 21 |
java | 1.java | 331ms | 6.3ms | 116.4MB | 257ms | 163ms | openjdk/zgc 21 |
java | 2-m.java | 552ms | 12ms | 598.8MB | 837ms | 87ms | openjdk 21 |
java | 2-m.java | 564ms | 13ms | 755.5MB | 837ms | 97ms | openjdk 23 |
java | 2.java | 1579ms | 6.4ms | 1347.9MB | 837ms | 1050ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 401ms | 6.3ms | 542.1MB | 497ms | 87ms | openjdk 23 |
java | 1.java | 413ms | 3.8ms | 677.9MB | 473ms | 107ms | openjdk 21 |
java | 1-m.java | 421ms | 36ms | 624.4MB | 640ms | 93ms | graal/jvm 17.0.8 |
wasm | 1.rs | 868ms | 31ms | 42.7MB | 843ms | 17ms | wasmtime 25.0.3 |
java | 1.java | 1080ms | 2.8ms | 968.3MB | 450ms | 743ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 163ms | 0.5ms | 158.7MB | 240ms | 33ms | openjdk 23 |
java | 1-m.java | 165ms | 4.7ms | 206.5MB | 243ms | 30ms | openjdk 21 |
wasm | 1.rs | 197ms | 4.6ms | 24.6MB | 183ms | 0ms | wasmtime 25.0.3 |
java | 1-m.java | 218ms | 8.1ms | 258.5MB | 370ms | 50ms | graal/jvm 17.0.8 |
java | 1.java | 415ms | 13ms | 342.0MB | 200ms | 287ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 406ms | 1.1ms | 18.6MB | 390ms | 0ms | wasmtime 25.0.3 |
java | 1.java | 441ms | 0.5ms | 44.8MB | 473ms | 17ms | openjdk 21 |
java | 1.java | 443ms | 0.5ms | 48.2MB | 473ms | 20ms | openjdk 23 |
java | 1.java | 448ms | 4.1ms | 87.2MB | 477ms | 33ms | graal/jvm 17.0.8 |
java | 1.java | 561ms | 5.7ms | 44.9MB | 477ms | 143ms | openjdk/zgc 21 |
wasm | 2.rs | 578ms | 1.2ms | 18.6MB | 560ms | 0ms | wasmtime 25.0.3 |
java | 2.java | 1229ms | 2.7ms | 655.9MB | 1363ms | 70ms | openjdk 21 |
java | 2.java | 1235ms | 8.6ms | 756.2MB | 1357ms | 87ms | openjdk 23 |
java | 2.java | 3343ms | 165ms | 2671.0MB | 1647ms | 1893ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 49ms | 0.5ms | 18.6MB | 33ms | 0ms | wasmtime 25.0.3 |
wasm | 2.rs | 66ms | 1.1ms | 18.6MB | 50ms | 0ms | wasmtime 25.0.3 |
java | 1.java | 112ms | 4.9ms | 45.5MB | 147ms | 13ms | openjdk 21 |
java | 1.java | 119ms | 3.9ms | 47.9MB | 147ms | 20ms | openjdk 23 |
java | 1.java | 124ms | 8.9ms | 87.2MB | 153ms | 30ms | graal/jvm 17.0.8 |
java | 1.java | 239ms | 6.7ms | 46.6MB | 147ms | 147ms | openjdk/zgc 21 |
java | 2-m.java | 296ms | 11ms | 364.7MB | 430ms | 60ms | openjdk 21 |
java | 2-m.java | 307ms | 7.8ms | 389.9MB | 443ms | 60ms | openjdk 23 |
java | 2.java | 699ms | 7.2ms | 532.4MB | 463ms | 420ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 370ms | 5.1ms | 25.5MB | 360ms | 0ms | wasmtime 25.0.3 |
java | 1.java | 395ms | 4.3ms | 114.7MB | 450ms | 10ms | openjdk 21 |
java | 1.java | 396ms | 5.8ms | 118.3MB | 430ms | 27ms | openjdk 23 |
wasm | 1.rs | 468ms | 2.9ms | 57.8MB | 450ms | 3ms | wasmtime 25.0.3 |
java | 1.java | 584ms | 3.9ms | 112.7MB | 483ms | 167ms | openjdk/zgc 21 |
java | 1-m.java | 629ms | 35ms | 236.3MB | 907ms | 80ms | graal/jvm 17.0.8 |
java | 2.java | 772ms | 4.5ms | 57.5MB | 827ms | 13ms | openjdk 21 |
java | 2.java | 777ms | 5.0ms | 60.4MB | 827ms | 20ms | openjdk 23 |
java | 2.java | 842ms | 1.8ms | 53.1MB | 773ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 1369ms | 54ms | 201.6MB | 2457ms | 100ms | graal/jvm 17.0.8 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 95ms | 2.5ms | 20.0MB | 90ms | 0ms | wasmtime 25.0.3 |
wasm | 1.rs | 95ms | 0.6ms | 28.6MB | 80ms | 3ms | wasmtime 25.0.3 |
java | 1.java | 153ms | 3.0ms | 68.3MB | 190ms | 27ms | openjdk 23 |
java | 1.java | 160ms | 6.4ms | 64.9MB | 213ms | 23ms | openjdk 21 |
java | 1-m.java | 234ms | 25ms | 148.6MB | 330ms | 50ms | graal/jvm 17.0.8 |
java | 2.java | 259ms | 7.1ms | 49.9MB | 333ms | 7ms | openjdk 21 |
java | 2.java | 260ms | 4.7ms | 50.6MB | 310ms | 17ms | openjdk 23 |
java | 1.java | 283ms | 1.4ms | 61.3MB | 203ms | 150ms | openjdk/zgc 21 |
java | 2.java | 372ms | 8.8ms | 47.7MB | 300ms | 147ms | openjdk/zgc 21 |
java | 2-m.java | 509ms | 70ms | 152.0MB | 900ms | 67ms | graal/jvm 17.0.8 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 2192ms | 2.4ms | 19.6MB | 2180ms | 3ms | wasmtime 25.0.3 |
java | 1.java | 3201ms | 24ms | 449.2MB | 3637ms | 93ms | graal/jvm 17.0.8 |
java | 1.java | 3712ms | 28ms | 353.0MB | 4583ms | 120ms | openjdk 21 |
java | 1.java | 3720ms | 47ms | 393.7MB | 4540ms | 113ms | openjdk 23 |
java | 1.java | timeout | 0.0ms | 1888.5MB | 4683ms | 1183ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 517ms | 0.6ms | 18.9MB | 500ms | 0ms | wasmtime 25.0.3 |
java | 1-m.java | 892ms | 9.3ms | 370.8MB | 1247ms | 97ms | graal/jvm 17.0.8 |
java | 1-m.java | 979ms | 26ms | 350.8MB | 1753ms | 90ms | openjdk 21 |
java | 1-m.java | 1036ms | 15ms | 389.8MB | 1740ms | 103ms | openjdk 23 |
java | 1.java | 2005ms | 40ms | 1329.4MB | 1683ms | 1067ms | openjdk/zgc 21 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 1961ms | 4.4ms | 47.6MB | 7457ms | 33ms | openjdk 21 |
java | 2-m.java | 1968ms | 4.8ms | 48.4MB | 7473ms | 27ms | openjdk 23 |
java | 2-m.java | 2079ms | 15ms | 45.4MB | 7450ms | 147ms | openjdk/zgc 21 |
java | 2-m.java | 2453ms | 9.0ms | 99.2MB | 8760ms | 27ms | graal/jvm 17.0.8 |
wasm | 2.rs | 3591ms | 4.7ms | 18.4MB | 3577ms | 0ms | wasmtime 25.0.3 |
wasm | 7.rs | 4884ms | 13ms | 20.4MB | 4870ms | 0ms | wasmtime 25.0.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 584ms | 3.8ms | 48.4MB | 2047ms | 17ms | openjdk 23 |
java | 2-m.java | 584ms | 2.4ms | 47.5MB | 2050ms | 23ms | openjdk 21 |
java | 2-m.java | 710ms | 3.8ms | 47.5MB | 2070ms | 140ms | openjdk/zgc 21 |
java | 2-m.java | 739ms | 5.6ms | 96.7MB | 2483ms | 43ms | graal/jvm 17.0.8 |
wasm | 2.rs | 906ms | 3.5ms | 20.3MB | 887ms | 0ms | wasmtime 25.0.3 |
wasm | 7.rs | 1230ms | 3.1ms | 18.4MB | 1217ms | 0ms | wasmtime 25.0.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 233ms | 1.4ms | 20.3MB | 220ms | 0ms | wasmtime 25.0.3 |
java | 2-m.java | 243ms | 3.7ms | 48.4MB | 690ms | 17ms | openjdk 23 |
java | 2-m.java | 252ms | 12ms | 48.0MB | 717ms | 23ms | openjdk 21 |
java | 2-m.java | 281ms | 21ms | 98.1MB | 813ms | 33ms | graal/jvm 17.0.8 |
wasm | 7.rs | 314ms | 1.8ms | 18.3MB | 300ms | 3ms | wasmtime 25.0.3 |
java | 2-m.java | 358ms | 5.7ms | 47.1MB | 680ms | 140ms | openjdk/zgc 21 |