Wasm VS Java benchmarks

Current benchmark data was generated on Wed May 25 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz (Model 85)

* -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.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 763ms 6.3ms 409.6MB 760ms 123ms openjdk 19
java 2.java 804ms 74ms 601.4MB 767ms 147ms openjdk 18.0.1
java 2.java 1100ms 12ms 681.2MB 903ms 160ms graal/jvm 17.0.3
java 2.java 1391ms 53ms 1047.4MB 987ms 620ms openjdk/zgc 18.0.1
wasm 5.rs 1898ms 17ms 24.9MB 1873ms 7ms wasmedgec 0.9.1
wasm 5.rs 1936ms 34ms 22.0MB 1907ms 13ms wasmer/llvm 2.2.1
wasm 3.rs 2021ms 18ms 38.4MB 1977ms 30ms wasmer/llvm 2.2.1
wasm 4.rs 2088ms 133ms 22.1MB 2067ms 7ms wasmer/llvm 2.2.1
wasm 4.rs 2092ms 26ms 25.0MB 2073ms 0ms wasmedgec 0.9.1
wasm 3.rs 2156ms 149ms 40.9MB 2127ms 17ms wasmedgec 0.9.1
wasm 5.rs 2608ms 151ms 57.6MB 2600ms 17ms node 16.15.0
wasm 3.rs 2647ms 167ms 73.5MB 2627ms 30ms node 16.15.0
wasm 4.rs 2785ms 64ms 57.4MB 2780ms 13ms node 16.15.0
wasm 5.rs 2799ms 19ms 26.1MB 2777ms 7ms wasmtime 0.37.0
wasm 3.rs 2904ms 27ms 42.0MB 2873ms 10ms wasmtime 0.37.0
wasm 4.rs 2950ms 7.6ms 26.0MB 2930ms 3ms wasmtime 0.37.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 167ms 8.8ms 106.6MB 153ms 40ms openjdk 18.0.1
java 2.java 178ms 3.6ms 107.5MB 177ms 33ms openjdk 19
wasm 5.rs 188ms 5.7ms 10.9MB 177ms 0ms wasmedgec 0.9.1
wasm 3.rs 193ms 13ms 10.2MB 167ms 3ms wasmer/llvm 2.2.1
wasm 4.rs 194ms 11ms 8.3MB 173ms 0ms wasmer/llvm 2.2.1
wasm 4.rs 203ms 1.7ms 11.0MB 183ms 0ms wasmedgec 0.9.1
wasm 5.rs 215ms 14ms 8.2MB 193ms 0ms wasmer/llvm 2.2.1
wasm 3.rs 218ms 7.1ms 12.9MB 197ms 3ms wasmedgec 0.9.1
wasm 5.rs 255ms 17ms 12.1MB 240ms 0ms wasmtime 0.37.0
wasm 3.rs 278ms 22ms 14.2MB 250ms 3ms wasmtime 0.37.0
wasm 4.rs 280ms 0.6ms 12.1MB 263ms 0ms wasmtime 0.37.0
wasm 5.rs 300ms 21ms 43.2MB 300ms 10ms node 16.15.0
java 2.java 328ms 2.3ms 235.7MB 187ms 167ms openjdk/zgc 18.0.1
wasm 4.rs 331ms 4.6ms 43.6MB 343ms 3ms node 16.15.0
wasm 3.rs 355ms 50ms 45.7MB 337ms 10ms node 16.15.0
java 2.java 518ms 12ms 169.0MB 247ms 50ms graal/jvm 17.0.3

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 3.rs 1151ms 3.4ms 8.2MB 1143ms 0ms wasmer/llvm 2.2.1
wasm 3.rs 1391ms 99ms 47.1MB 1430ms 7ms node 16.15.0
wasm 3.rs 1617ms 11ms 12.0MB 1607ms 0ms wasmtime 0.37.0
java 1.java timeout 0.0ms 0.0MB 0ms 0ms loom 19

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 3.rs 81ms 13ms 6.9MB 67ms 0ms wasmer/llvm 2.2.1
wasm 3.rs 103ms 7.1ms 10.7MB 90ms 0ms wasmtime 0.37.0
wasm 3.rs 213ms 2.3ms 47.4MB 253ms 13ms node 16.15.0
java 1-m.java 772ms 131ms 108.2MB 1330ms 67ms loom 19

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 433ms 0.4ms 7.8MB 420ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 437ms 1.5ms 11.3MB 420ms 0ms wasmedgec 0.9.1
wasm 1.rs 582ms 0.9ms 11.4MB 567ms 0ms wasmtime 0.37.0
wasm 1.rs 636ms 38ms 46.9MB 677ms 7ms node 16.15.0
java 1-m.java 733ms 22ms 216.6MB 1247ms 73ms openjdk 18.0.1
java 1-m.java 896ms 104ms 201.0MB 1567ms 90ms openjdk 19
java 1-m.java 1053ms 62ms 470.2MB 1490ms 343ms openjdk/zgc 18.0.1
java 1.java 1103ms 21ms 287.6MB 1343ms 123ms graal/jvm 17.0.3

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 115ms 20ms 7.1MB 93ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 130ms 9.2ms 10.7MB 117ms 0ms wasmedgec 0.9.1
wasm 1.rs 156ms 1.4ms 10.7MB 143ms 0ms wasmtime 0.37.0
wasm 1.rs 258ms 2.6ms 47.2MB 297ms 10ms node 16.15.0
java 1-m.java 399ms 27ms 110.3MB 660ms 27ms openjdk 18.0.1
java 1-m.java 437ms 8.2ms 115.3MB 727ms 30ms openjdk 19
java 1-m.java 525ms 9.3ms 212.9MB 710ms 180ms openjdk/zgc 18.0.1
java 1.java 726ms 13ms 187.2MB 630ms 87ms graal/jvm 17.0.3

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 1563ms 9.1ms 41.0MB 2980ms 13ms openjdk 18.0.1
java 1-m.java 1576ms 24ms 39.8MB 2983ms 23ms openjdk 19
java 1-m.java 1578ms 121ms 117.1MB 2963ms 57ms graal/jvm 17.0.3
java 1-m.java 1585ms 2.4ms 41.1MB 2913ms 70ms openjdk/zgc 18.0.1
wasm 1.rs 4919ms 0.8ms 8.8MB 4903ms 0ms wasmedgec 0.9.1
wasm 1.rs timeout 0.0ms 0.0MB 0ms 0ms node 16.15.0
wasm 1.rs timeout 0.0ms 0.0MB 0ms 0ms wasmer/llvm 2.2.1
wasm 1.rs timeout 0.0ms 0.0MB 0ms 0ms wasmtime 0.37.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 256ms 6.0ms 38.6MB 410ms 13ms openjdk 18.0.1
java 1-m.java 259ms 6.7ms 39.6MB 410ms 13ms openjdk 19
java 1-m.java 309ms 5.8ms 41.0MB 400ms 67ms openjdk/zgc 18.0.1
wasm 1.rs 419ms 1.0ms 8.9MB 407ms 0ms wasmedgec 0.9.1
wasm 1.rs 436ms 10ms 5.8MB 417ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 473ms 2.1ms 8.9MB 460ms 0ms wasmtime 0.37.0
wasm 1.rs 514ms 84ms 41.9MB 520ms 3ms node 16.15.0
java 1.java 615ms 5.2ms 94.3MB 477ms 40ms graal/jvm 17.0.3

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 272ms 0.6ms 10.1MB 253ms 0ms wasmtime 0.37.0
wasm 1.rs 285ms 0.2ms 8.8MB 270ms 0ms wasmedgec 0.9.1
wasm 1.rs 297ms 2.4ms 6.5MB 287ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 408ms 2.6ms 41.9MB 420ms 10ms node 16.15.0
java 4.java 455ms 11ms 40.1MB 523ms 3ms openjdk 18.0.1
java 4.java 460ms 2.4ms 39.3MB 523ms 17ms openjdk 19
java 4.java 501ms 5.3ms 38.8MB 503ms 63ms openjdk/zgc 18.0.1
java 4.java 846ms 29ms 123.5MB 837ms 40ms graal/jvm 17.0.3

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 34ms 0.9ms 9.1MB 20ms 0ms wasmtime 0.37.0
wasm 1.rs 40ms 0.7ms 8.7MB 30ms 0ms wasmedgec 0.9.1
wasm 1.rs 41ms 12ms 6.3MB 27ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 118ms 1.8ms 41.8MB 127ms 10ms node 16.15.0
java 4.java 138ms 1.8ms 39.9MB 160ms 17ms openjdk 18.0.1
java 4.java 146ms 4.7ms 38.7MB 177ms 7ms openjdk 19
java 4.java 192ms 4.3ms 38.5MB 163ms 60ms openjdk/zgc 18.0.1
java 4.java 470ms 8.4ms 87.7MB 187ms 23ms graal/jvm 17.0.3

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 5.8ms 1.2ms 9.0MB 0ms 0ms wasmtime 0.37.0
wasm 1.rs 7.6ms 9.4ms 5.9MB 0ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 10ms 0.6ms 8.5MB 0ms 0ms wasmedgec 0.9.1
wasm 1.rs 76ms 1.6ms 41.6MB 82ms 12ms node 16.15.0
java 1.java 79ms 1.8ms 61.3MB 73ms 18ms graal/jvm 17.0.3
java 1.java 81ms 2.9ms 38.9MB 82ms 10ms openjdk 18.0.1
java 1.java 85ms 4.6ms 38.3MB 78ms 14ms openjdk 19
java 1.java 131ms 1.4ms 38.7MB 86ms 58ms openjdk/zgc 18.0.1

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 123ms 2.1ms 6.3MB 107ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 129ms 9.2ms 10.9MB 117ms 0ms wasmtime 0.37.0
wasm 1.rs 141ms 0.5ms 9.2MB 130ms 0ms wasmedgec 0.9.1
wasm 1.rs 222ms 4.3ms 45.8MB 237ms 7ms node 16.15.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 356ms 1.5ms 6.2MB 340ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 386ms 27ms 10.2MB 373ms 0ms wasmtime 0.37.0
wasm 1.rs 394ms 4.9ms 11.2MB 380ms 0ms wasmedgec 0.9.1
wasm 1.rs 489ms 7.3ms 42.4MB 500ms 10ms node 16.15.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 68ms 5.3ms 9.1MB 57ms 0ms wasmtime 0.37.0
wasm 1.rs 69ms 13ms 5.7MB 53ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 77ms 2.6ms 9.2MB 70ms 0ms wasmedgec 0.9.1
wasm 1.rs 152ms 3.7ms 42.6MB 167ms 3ms node 16.15.0

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 8.rs 983ms 63ms 46.0MB 983ms 10ms node 16.15.0
wasm 8.rs 1032ms 56ms 12.0MB 1017ms 0ms wasmedgec 0.9.1
wasm 8.rs 1148ms 29ms 9.4MB 1133ms 0ms wasmer/llvm 2.2.1
wasm 8.rs 1382ms 0.1ms 13.0MB 1370ms 0ms wasmtime 0.37.0
java 1b.java 1504ms 8.5ms 49.3MB 1590ms 23ms openjdk 18.0.1
java 1b.java 1512ms 22ms 46.3MB 1593ms 17ms openjdk 19
java 1b.java 1561ms 10ms 46.8MB 1600ms 67ms openjdk/zgc 18.0.1
java 1b.java 1584ms 87ms 132.7MB 1847ms 47ms graal/jvm 17.0.3
java 1a.java 1802ms 1.9ms 46.6MB 1883ms 13ms openjdk 19
java 1a.java 1803ms 1.3ms 50.0MB 1877ms 30ms openjdk 18.0.1
java 1a.java 1834ms 52ms 47.8MB 1847ms 63ms openjdk/zgc 18.0.1
java 1a.java 1869ms 12ms 119.0MB 2003ms 60ms graal/jvm 17.0.3
java 1.java 2037ms 44ms 168.5MB 2170ms 67ms graal/jvm 17.0.3
java 1.java 2151ms 2.3ms 220.7MB 2180ms 67ms openjdk 18.0.1
java 1.java 2159ms 5.0ms 201.4MB 2193ms 57ms openjdk 19
java 1.java 2545ms 18ms 593.9MB 2260ms 400ms openjdk/zgc 18.0.1
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 18.0.1
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 19
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk/zgc 18.0.1

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 8.rs 58ms 1.2ms 11.2MB 47ms 0ms wasmedgec 0.9.1
wasm 8.rs 62ms 14ms 6.6MB 47ms 0ms wasmer/llvm 2.2.1
wasm 8.rs 66ms 0.4ms 10.8MB 60ms 0ms wasmtime 0.37.0
wasm 8.rs 123ms 3.0ms 43.0MB 133ms 7ms node 16.15.0
java 1b.java 211ms 11ms 43.5MB 273ms 27ms openjdk 19
java 1b.java 212ms 4.7ms 40.3MB 273ms 20ms openjdk 18.0.1
java 1a.java 225ms 3.8ms 41.3MB 293ms 10ms openjdk 18.0.1
java 1.java 229ms 3.5ms 93.4MB 267ms 27ms openjdk 19
java 1.java 234ms 6.6ms 95.8MB 290ms 20ms openjdk 18.0.1
java 1a.java 240ms 29ms 44.3MB 323ms 17ms openjdk 19
java 1b.java 263ms 8.1ms 44.7MB 277ms 63ms openjdk/zgc 18.0.1
java 1a.java 270ms 2.2ms 42.7MB 267ms 57ms openjdk/zgc 18.0.1
java 1.java 302ms 8.8ms 109.9MB 287ms 93ms openjdk/zgc 18.0.1
java 1a.java 576ms 22ms 119.6MB 360ms 40ms graal/jvm 17.0.3
java 1.java 577ms 9.9ms 116.3MB 327ms 43ms graal/jvm 17.0.3
java 1b.java 620ms 17ms 123.1MB 447ms 53ms graal/jvm 17.0.3
java 2.java 879ms 20ms 585.0MB 1000ms 187ms openjdk 19
java 2.java 940ms 19ms 547.6MB 1083ms 163ms openjdk 18.0.1
java 2.java 1586ms 64ms 1105.3MB 1177ms 707ms openjdk/zgc 18.0.1

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 573ms 6.4ms 366.3MB 573ms 103ms openjdk 18.0.1
java 1.java 575ms 12ms 364.4MB 590ms 83ms openjdk 19
java 1.java 972ms 22ms 447.4MB 777ms 140ms graal/jvm 17.0.3
wasm 1.rs 1014ms 67ms 30.1MB 977ms 20ms wasmer/llvm 2.2.1
java 1.java 1041ms 9.3ms 778.4MB 703ms 493ms openjdk/zgc 18.0.1
wasm 1.rs 1086ms 70ms 32.9MB 1063ms 7ms wasmedgec 0.9.1
wasm 1.rs 1390ms 16ms 66.1MB 1380ms 23ms node 16.15.0
wasm 1.rs 1431ms 13ms 34.1MB 1403ms 10ms wasmtime 0.37.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 220ms 29ms 12.2MB 193ms 7ms wasmer/llvm 2.2.1
wasm 1.rs 225ms 0.4ms 16.9MB 210ms 0ms wasmedgec 0.9.1
java 1.java 240ms 4.4ms 171.2MB 230ms 63ms openjdk 19
java 1.java 243ms 2.4ms 220.9MB 237ms 53ms openjdk 18.0.1
wasm 1.rs 307ms 1.7ms 16.0MB 290ms 0ms wasmtime 0.37.0
wasm 1.rs 356ms 5.1ms 47.8MB 353ms 10ms node 16.15.0
java 1.java 459ms 21ms 334.9MB 273ms 227ms openjdk/zgc 18.0.1
java 1.java 624ms 24ms 246.2MB 413ms 77ms graal/jvm 17.0.3

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 545ms 0.1ms 4.9MB 533ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 558ms 19ms 9.3MB 547ms 0ms wasmtime 0.37.0
wasm 1.rs 609ms 0.4ms 9.2MB 597ms 0ms wasmedgec 0.9.1
java 1.java 626ms 14ms 40.9MB 643ms 13ms openjdk 18.0.1
java 1.java 628ms 13ms 39.7MB 637ms 17ms openjdk 19
wasm 1.rs 644ms 12ms 46.4MB 657ms 10ms node 16.15.0
java 1.java 696ms 1.2ms 38.4MB 663ms 53ms openjdk/zgc 18.0.1
wasm 2.rs 729ms 68ms 9.6MB 713ms 0ms wasmedgec 0.9.1
wasm 2.rs 780ms 43ms 5.1MB 773ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 824ms 30ms 11.0MB 810ms 0ms wasmtime 0.37.0
java 1.java 891ms 1.3ms 88.1MB 610ms 33ms graal/jvm 17.0.3
wasm 2.rs 891ms 2.3ms 46.4MB 907ms 7ms node 16.15.0
java 2.java 2253ms 3.5ms 526.9MB 2250ms 147ms openjdk 18.0.1
java 2.java 2272ms 9.4ms 508.4MB 2277ms 157ms openjdk 19
java 2.java 3326ms 73ms 1646.8MB 2433ms 1097ms openjdk/zgc 18.0.1

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 61ms 11ms 5.9MB 50ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 65ms 1.4ms 9.2MB 53ms 0ms wasmtime 0.37.0
wasm 1.rs 74ms 1.8ms 9.2MB 60ms 0ms wasmedgec 0.9.1
wasm 2.rs 90ms 16ms 5.8MB 67ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 92ms 1.5ms 9.6MB 77ms 0ms wasmedgec 0.9.1
wasm 2.rs 93ms 1.5ms 10.9MB 80ms 0ms wasmtime 0.37.0
java 1.java 147ms 1.2ms 39.8MB 163ms 13ms openjdk 19
java 1.java 152ms 7.3ms 40.4MB 157ms 23ms openjdk 18.0.1
wasm 1.rs 157ms 4.8ms 46.4MB 170ms 10ms node 16.15.0
wasm 2.rs 180ms 4.3ms 46.4MB 200ms 7ms node 16.15.0
java 1.java 205ms 6.2ms 39.8MB 160ms 70ms openjdk/zgc 18.0.1
java 2.java 459ms 12ms 314.1MB 487ms 110ms openjdk 18.0.1
java 1.java 468ms 0.9ms 82.5MB 180ms 30ms graal/jvm 17.0.3
java 2.java 481ms 1.1ms 345.4MB 523ms 103ms openjdk 19
java 2.java 788ms 8.8ms 521.2MB 570ms 370ms openjdk/zgc 18.0.1

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 560ms 34ms 13.8MB 543ms 0ms wasmedgec 0.9.1
wasm 2.rs 560ms 32ms 10.8MB 543ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 784ms 1.6ms 46.7MB 787ms 3ms node 16.15.0
wasm 2.rs 829ms 51ms 15.1MB 813ms 0ms wasmtime 0.37.0
java 2.java 934ms 57ms 51.2MB 970ms 13ms openjdk 18.0.1
java 2.java 1037ms 49ms 50.1MB 1067ms 23ms openjdk 19
java 2.java 1090ms 3.0ms 47.3MB 1067ms 63ms openjdk/zgc 18.0.1
wasm 1.rs 1262ms 50ms 47.9MB 1233ms 10ms wasmedgec 0.9.1
wasm 1.rs 1402ms 9.7ms 45.2MB 1360ms 30ms wasmer/llvm 2.2.1
wasm 1.rs 1434ms 41ms 81.3MB 1437ms 13ms node 16.15.0
wasm 1.rs 1558ms 11ms 49.3MB 1533ms 10ms wasmtime 0.37.0
java 1.java 1767ms 54ms 82.7MB 1787ms 20ms openjdk 18.0.1
java 1.java 1820ms 4.2ms 108.5MB 1753ms 103ms openjdk/zgc 18.0.1
java 1.java 1852ms 16ms 82.3MB 1873ms 30ms openjdk 19
java 1.java 2029ms 33ms 170.9MB 2880ms 70ms graal/jvm 17.0.3
java 2-m.java 2082ms 1.6ms 136.2MB 3847ms 73ms graal/jvm 17.0.3

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 130ms 7.9ms 10.0MB 117ms 0ms wasmedgec 0.9.1
wasm 2.rs 149ms 11ms 7.4MB 127ms 3ms wasmer/llvm 2.2.1
wasm 1.rs 155ms 1.6ms 18.7MB 140ms 0ms wasmedgec 0.9.1
wasm 1.rs 162ms 17ms 15.9MB 133ms 7ms wasmer/llvm 2.2.1
wasm 2.rs 197ms 13ms 11.4MB 183ms 0ms wasmtime 0.37.0
wasm 1.rs 217ms 3.3ms 19.9MB 200ms 3ms wasmtime 0.37.0
wasm 2.rs 244ms 1.7ms 42.4MB 247ms 7ms node 16.15.0
wasm 1.rs 248ms 5.2ms 51.7MB 247ms 17ms node 16.15.0
java 1.java 290ms 4.1ms 56.8MB 313ms 23ms openjdk 18.0.1
java 1.java 294ms 1.2ms 57.9MB 313ms 27ms openjdk 19
java 2.java 303ms 11ms 43.3MB 333ms 17ms openjdk 18.0.1
java 1.java 328ms 4.4ms 57.9MB 290ms 77ms openjdk/zgc 18.0.1
java 2.java 328ms 1.9ms 46.1MB 360ms 20ms openjdk 19
java 2.java 376ms 4.3ms 41.1MB 357ms 63ms openjdk/zgc 18.0.1
java 1.java 671ms 6.7ms 140.4MB 477ms 63ms graal/jvm 17.0.3
java 2.java 961ms 41ms 129.4MB 1160ms 33ms graal/jvm 17.0.3

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 2831ms 209ms 7.0MB 2820ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 3027ms 2.2ms 10.9MB 3010ms 3ms wasmedgec 0.9.1
wasm 2.rs 3488ms 245ms 10.7MB 3477ms 0ms wasmtime 0.37.0
wasm 2.rs 3816ms 4.7ms 46.2MB 3850ms 13ms node 16.15.0
java 1.java timeout 0.0ms 0.0MB 0ms 0ms graal/jvm 17.0.3
java 1.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 18.0.1
java 1.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 19
java 1.java timeout 0.0ms 0.0MB 0ms 0ms openjdk/zgc 18.0.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 702ms 55ms 6.4MB 683ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 727ms 3.7ms 10.6MB 713ms 0ms wasmedgec 0.9.1
wasm 2.rs 862ms 2.4ms 11.3MB 843ms 0ms wasmtime 0.37.0
wasm 2.rs 990ms 5.2ms 46.3MB 1027ms 13ms node 16.15.0
java 1.java 1559ms 24ms 379.5MB 1990ms 140ms graal/jvm 17.0.3
java 1.java 1649ms 6.5ms 261.4MB 1943ms 73ms openjdk 18.0.1
java 1.java 1663ms 16ms 262.7MB 2003ms 97ms openjdk 19
java 1.java 2164ms 24ms 984.4MB 2187ms 707ms openjdk/zgc 18.0.1

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 0.rs 364ms 40ms 9.8MB 350ms 0ms wasmedgec 0.9.1
wasm 0.rs 394ms 22ms 4.9MB 380ms 0ms wasmer/llvm 2.2.1
wasm 0.rs 449ms 23ms 45.2MB 463ms 10ms node 16.15.0
wasm 0.rs 453ms 0.5ms 10.3MB 440ms 0ms wasmtime 0.37.0
wasm 1.rs 3885ms 281ms 10.3MB 3877ms 0ms wasmedgec 0.9.1
wasm 1.rs 4057ms 287ms 5.0MB 4043ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 4685ms 30ms 51.0MB 4727ms 10ms node 16.15.0
wasm 1.rs timeout 0.0ms 0.0MB 0ms 0ms wasmtime 0.37.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 0.rs 97ms 1.9ms 9.8MB 83ms 0ms wasmedgec 0.9.1
wasm 0.rs 109ms 4.9ms 5.7MB 93ms 0ms wasmer/llvm 2.2.1
wasm 0.rs 121ms 0.7ms 9.5MB 110ms 0ms wasmtime 0.37.0
wasm 0.rs 184ms 6.4ms 45.3MB 203ms 7ms node 16.15.0
wasm 1.rs 943ms 3.5ms 10.4MB 923ms 0ms wasmedgec 0.9.1
wasm 1.rs 991ms 68ms 5.7MB 970ms 0ms wasmer/llvm 2.2.1
wasm 1.rs 1267ms 3.5ms 9.8MB 1250ms 0ms wasmtime 0.37.0
wasm 1.rs 1271ms 7.8ms 50.6MB 1303ms 20ms node 16.15.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 3044ms 0.9ms 11.7MB 3027ms 0ms wasmedgec 0.9.1
wasm 7.rs 3226ms 4.2ms 6.2MB 3217ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 3406ms 239ms 10.3MB 3393ms 0ms wasmtime 0.37.0
wasm 7.rs 3414ms 251ms 9.7MB 3400ms 0ms wasmedgec 0.9.1
wasm 2.rs 3680ms 8.8ms 6.3MB 3670ms 0ms wasmer/llvm 2.2.1
wasm 7.rs 3832ms 272ms 46.6MB 3850ms 7ms node 16.15.0
wasm 7.rs 4251ms 297ms 10.3MB 4233ms 0ms wasmtime 0.37.0
wasm 2.rs 4272ms 294ms 46.4MB 4290ms 13ms node 16.15.0
java 2-m.java 4400ms 28ms 115.2MB 8420ms 57ms graal/jvm 17.0.3
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 18.0.1
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk 19
java 2.java timeout 0.0ms 0.0MB 0ms 0ms openjdk/zgc 18.0.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 772ms 0.5ms 9.6MB 760ms 0ms wasmedgec 0.9.1
wasm 7.rs 825ms 3.5ms 9.6MB 810ms 0ms wasmedgec 0.9.1
wasm 7.rs 884ms 61ms 6.2MB 870ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 895ms 0.4ms 10.3MB 880ms 0ms wasmtime 0.37.0
wasm 2.rs 926ms 0.7ms 6.3MB 910ms 0ms wasmer/llvm 2.2.1
wasm 7.rs 1076ms 70ms 46.4MB 1090ms 3ms node 16.15.0
wasm 7.rs 1114ms 0.8ms 10.3MB 1103ms 0ms wasmtime 0.37.0
wasm 2.rs 1187ms 1.0ms 46.3MB 1210ms 3ms node 16.15.0
java 2-m.java 1262ms 17ms 114.8MB 2297ms 53ms graal/jvm 17.0.3
java 2-m.java 1651ms 80ms 42.6MB 3087ms 23ms openjdk 19
java 2-m.java 2110ms 38ms 40.7MB 3980ms 13ms openjdk 18.0.1
java 2-m.java 2212ms 31ms 40.7MB 4127ms 67ms openjdk/zgc 18.0.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 214ms 16ms 11.5MB 200ms 0ms wasmedgec 0.9.1
wasm 7.rs 226ms 18ms 11.5MB 210ms 0ms wasmedgec 0.9.1
wasm 2.rs 231ms 1.1ms 9.2MB 217ms 0ms wasmtime 0.37.0
wasm 7.rs 238ms 10ms 5.8MB 220ms 0ms wasmer/llvm 2.2.1
wasm 2.rs 243ms 14ms 5.9MB 223ms 0ms wasmer/llvm 2.2.1
wasm 7.rs 286ms 1.2ms 9.8MB 273ms 0ms wasmtime 0.37.0
wasm 7.rs 323ms 2.1ms 50.3MB 333ms 13ms node 16.15.0
wasm 2.rs 375ms 1.8ms 46.3MB 397ms 7ms node 16.15.0
java 2-m.java 522ms 28ms 40.2MB 907ms 13ms openjdk 19
java 2-m.java 634ms 6.8ms 39.1MB 1107ms 13ms openjdk 18.0.1
java 2-m.java 710ms 20ms 38.6MB 1183ms 53ms openjdk/zgc 18.0.1
java 2.java 755ms 14ms 104.2MB 733ms 37ms graal/jvm 17.0.3