Wasm VS Java benchmarks

Current benchmark data was generated on Sun Dec 01 2024, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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 471ms 5.6ms 648.0MB 570ms 103ms openjdk 23
java 2-m.java 482ms 17ms 645.0MB 687ms 103ms graal/jvm 17.0.8
java 2.java 530ms 1.5ms 571.1MB 573ms 137ms openjdk 21
java 2.java 1186ms 22ms 1052.1MB 590ms 767ms openjdk/zgc 21
wasm 5.rs 1531ms 12ms 55.1MB 1500ms 13ms wasmer/llvm 5.0.2
wasm 4.rs 1599ms 10.0ms 54.8MB 1570ms 17ms wasmer/llvm 5.0.2
wasm 3.rs 1644ms 39ms 71.3MB 1600ms 27ms wasmer/llvm 5.0.2
wasm 5.rs 1750ms 25ms 34.8MB 1723ms 10ms wasmtime 27.0.0
wasm 4.rs 1794ms 30ms 34.9MB 1777ms 3ms wasmtime 27.0.0
wasm 3.rs 1860ms 47ms 52.9MB 1830ms 17ms wasmtime 27.0.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 128ms 1.7ms 166.9MB 153ms 33ms openjdk 21
java 2.java 130ms 5.1ms 98.0MB 157ms 37ms openjdk 23
wasm 5.rs 152ms 0.8ms 41.0MB 140ms 0ms wasmer/llvm 5.0.2
java 2-m.java 157ms 17ms 230.2MB 233ms 53ms graal/jvm 17.0.8
wasm 4.rs 161ms 3.1ms 41.0MB 143ms 3ms wasmer/llvm 5.0.2
wasm 3.rs 165ms 6.6ms 42.9MB 143ms 7ms wasmer/llvm 5.0.2
wasm 4.rs 171ms 1.2ms 21.0MB 157ms 3ms wasmtime 27.0.0
wasm 3.rs 174ms 3.1ms 22.9MB 157ms 3ms wasmtime 27.0.0
wasm 5.rs 181ms 18ms 22.9MB 163ms 0ms wasmtime 27.0.0
java 2.java 309ms 7.0ms 243.6MB 153ms 207ms openjdk/zgc 21

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 3.rs 1094ms 34ms 38.6MB 1077ms 3ms wasmer/llvm 5.0.2
wasm 3.rs 1163ms 43ms 21.3MB 1150ms 0ms wasmtime 27.0.0
java 1-m.java 1892ms 152ms 260.4MB 7077ms 137ms openjdk 21
java 1-m.java 2285ms 225ms 241.9MB 8653ms 137ms openjdk 23
java 1-m.java 2814ms 339ms 1205.1MB 8973ms 1127ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 3.rs 80ms 1.4ms 21.8MB 63ms 0ms wasmtime 27.0.0
wasm 3.rs 81ms 2.4ms 39.2MB 63ms 3ms wasmer/llvm 5.0.2
java 1-m.java 407ms 11ms 119.1MB 1330ms 63ms openjdk 21
java 1-m.java 425ms 21ms 91.8MB 1383ms 57ms openjdk 23
java 1-m.java 663ms 29ms 209.0MB 1780ms 253ms openjdk/zgc 21

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 357ms 2.7ms 38.5MB 343ms 0ms wasmer/llvm 5.0.2
wasm 1.rs 418ms 3.7ms 20.2MB 403ms 3ms wasmtime 27.0.0
java 1-m.java 586ms 39ms 264.1MB 1630ms 67ms openjdk 21
java 1-m.java 603ms 30ms 227.8MB 1633ms 67ms openjdk 23
java 1-m.java 623ms 39ms 404.3MB 1197ms 110ms graal/jvm 17.0.8
java 1-m.java 944ms 27ms 514.3MB 1567ms 430ms openjdk/zgc 21

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 101ms 0.3ms 38.5MB 87ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 113ms 1.8ms 21.7MB 100ms 0ms wasmtime 27.0.0
java 1-m.java 299ms 8.0ms 230.9MB 583ms 73ms graal/jvm 17.0.8
java 1-m.java 343ms 18ms 178.5MB 930ms 43ms openjdk 21
java 1-m.java 394ms 8.3ms 112.4MB 1053ms 53ms openjdk 23
java 1-m.java 493ms 2.1ms 215.3MB 953ms 217ms openjdk/zgc 21

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 897ms 23ms 100.1MB 3263ms 53ms graal/jvm 17.0.8
java 1-m.java 965ms 57ms 50.0MB 3537ms 20ms openjdk 23
java 1-m.java 983ms 6.8ms 49.0MB 3597ms 37ms openjdk 21
java 1-m.java 1043ms 9.0ms 46.1MB 3407ms 143ms openjdk/zgc 21
wasm 1.rs 3274ms 9.3ms 39.0MB 3263ms 0ms wasmer/llvm 5.0.2
wasm 1.rs 4081ms 22ms 18.6MB 4063ms 0ms wasmtime 27.0.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 180ms 5.5ms 48.5MB 493ms 23ms openjdk 21
java 1-m.java 194ms 5.8ms 50.1MB 480ms 23ms openjdk 23
java 1-m.java 202ms 11ms 101.4MB 547ms 33ms graal/jvm 17.0.8
wasm 1.rs 285ms 1.7ms 36.9MB 270ms 0ms wasmer/llvm 5.0.2
java 1-m.java 295ms 2.3ms 45.7MB 483ms 137ms openjdk/zgc 21
wasm 1.rs 341ms 0.3ms 18.5MB 327ms 0ms wasmtime 27.0.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 230ms 2.2ms 19.0MB 213ms 0ms wasmtime 27.0.0
wasm 1.rs 331ms 4.4ms 37.5MB 233ms 70ms wasmer/llvm 5.0.2
java 4.java 457ms 0.7ms 47.4MB 543ms 20ms openjdk 21
java 4-m.java 462ms 19ms 104.6MB 670ms 43ms graal/jvm 17.0.8
java 4.java 466ms 9.2ms 49.3MB 567ms 17ms openjdk 23
java 4.java 568ms 6.1ms 47.0MB 550ms 133ms openjdk/zgc 21

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 34ms 5.0ms 19.0MB 20ms 3ms wasmtime 27.0.0
wasm 1.rs 45ms 0.8ms 37.5MB 23ms 3ms wasmer/llvm 5.0.2
java 4-m.java 124ms 4.1ms 87.9MB 163ms 30ms graal/jvm 17.0.8
java 4.java 127ms 1.0ms 46.1MB 170ms 17ms openjdk 21
java 4.java 132ms 2.0ms 47.8MB 177ms 17ms openjdk 23
java 4.java 241ms 3.8ms 43.8MB 153ms 140ms openjdk/zgc 21

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 7.4ms 0.3ms 21.1MB 0ms 0ms wasmtime 27.0.0
wasm 1.rs 12ms 0.4ms 38.6MB 0ms 0ms wasmer/llvm 5.0.2
java 1.java 68ms 3.0ms 59.0MB 70ms 20ms graal/jvm 17.0.8
java 1.java 73ms 4.6ms 44.8MB 74ms 22ms openjdk 23
java 1.java 77ms 1.6ms 43.8MB 76ms 20ms openjdk 21
java 1.java 187ms 4.1ms 44.6MB 82ms 128ms openjdk/zgc 21

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 79ms 1.1ms 20.7MB 60ms 0ms wasmtime 27.0.0
wasm 1.rs 80ms 0.5ms 37.2MB 63ms 0ms wasmer/llvm 5.0.2

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 220ms 0.7ms 37.4MB 207ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 224ms 4.2ms 19.1MB 210ms 0ms wasmtime 27.0.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 46ms 0.7ms 19.2MB 37ms 0ms wasmtime 27.0.0
wasm 1.rs 49ms 1.3ms 38.5MB 37ms 0ms wasmer/llvm 5.0.2

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 8.rs 698ms 1.7ms 40.4MB 677ms 7ms wasmer/llvm 5.0.2
wasm 8.rs 821ms 15ms 24.0MB 810ms 0ms wasmtime 27.0.0
java 1b.java 1164ms 9.6ms 54.3MB 1273ms 23ms openjdk 21
java 1b.java 1171ms 5.3ms 55.9MB 1297ms 20ms openjdk 23
java 1b.java 1181ms 39ms 108.6MB 1363ms 33ms graal/jvm 17.0.8
java 1.java 1260ms 13ms 139.9MB 1367ms 57ms graal/jvm 17.0.8
java 1b.java 1278ms 21ms 51.4MB 1277ms 130ms openjdk/zgc 21
java 1a.java 1654ms 9.2ms 54.9MB 1747ms 27ms openjdk 21
java 1a.java 1665ms 2.2ms 55.5MB 1770ms 27ms openjdk 23
java 1a.java 1688ms 16ms 105.6MB 1807ms 37ms graal/jvm 17.0.8
java 1.java 1701ms 1.3ms 202.3MB 1780ms 37ms openjdk 21
java 1.java 1709ms 2.1ms 314.7MB 1770ms 53ms openjdk 23
java 1a.java 1780ms 5.2ms 53.7MB 1753ms 147ms openjdk/zgc 21
java 1.java 2351ms 5.1ms 853.8MB 1813ms 637ms openjdk/zgc 21
java 2.java timeout 0.0ms 606.2MB 5250ms 140ms openjdk 21
java 2.java timeout 0.0ms 772.9MB 5320ms 140ms openjdk 23
java 2.java timeout 0.0ms 3284.3MB 3460ms 1913ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 8.rs 42ms 0.2ms 37.5MB 27ms 3ms wasmer/llvm 5.0.2
wasm 8.rs 43ms 0.8ms 19.1MB 33ms 0ms wasmtime 27.0.0
java 1b-m.java 181ms 13ms 49.6MB 290ms 20ms openjdk 21
java 1.java 196ms 12ms 82.1MB 267ms 27ms openjdk 21
java 1b-m.java 198ms 8.9ms 51.2MB 310ms 20ms openjdk 23
java 1a-m.java 199ms 3.5ms 50.3MB 310ms 17ms openjdk 21
java 1-m.java 200ms 2.7ms 87.0MB 277ms 33ms openjdk 23
java 1a-m.java 201ms 5.5ms 52.1MB 303ms 20ms openjdk 23
java 1-m.java 204ms 14ms 115.4MB 317ms 40ms graal/jvm 17.0.8
java 1a-m.java 211ms 6.8ms 102.6MB 307ms 50ms graal/jvm 17.0.8
java 1b-m.java 233ms 15ms 104.0MB 400ms 40ms graal/jvm 17.0.8
java 1b.java 308ms 1.6ms 49.4MB 303ms 137ms openjdk/zgc 21
java 1a.java 315ms 3.0ms 49.9MB 300ms 133ms openjdk/zgc 21
java 1.java 338ms 4.9ms 116.4MB 270ms 160ms openjdk/zgc 21
java 2-m.java 579ms 14ms 826.3MB 843ms 127ms openjdk 23
java 2-m.java 621ms 39ms 586.7MB 887ms 127ms openjdk 21
java 2.java 1590ms 18ms 1349.9MB 863ms 1037ms openjdk/zgc 21

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 401ms 2.9ms 679.9MB 473ms 90ms openjdk 21
java 1.java 405ms 5.1ms 539.3MB 507ms 87ms openjdk 23
java 1-m.java 417ms 30ms 635.2MB 610ms 123ms graal/jvm 17.0.8
wasm 1.rs 774ms 5.0ms 61.2MB 737ms 23ms wasmer/llvm 5.0.2
wasm 1.rs 868ms 25ms 42.9MB 840ms 13ms wasmtime 27.0.0
java 1.java 1094ms 19ms 989.4MB 447ms 767ms openjdk/zgc 21

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 166ms 3.4ms 159.1MB 243ms 40ms openjdk 23
java 1-m.java 166ms 2.4ms 206.3MB 243ms 40ms openjdk 21
wasm 1.rs 175ms 0.7ms 45.1MB 153ms 10ms wasmer/llvm 5.0.2
wasm 1.rs 192ms 10ms 24.9MB 180ms 3ms wasmtime 27.0.0
java 1-m.java 225ms 28ms 258.5MB 380ms 57ms graal/jvm 17.0.8
java 1.java 442ms 45ms 341.6MB 223ms 290ms openjdk/zgc 21

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 343ms 1.8ms 37.1MB 323ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 406ms 1.4ms 20.8MB 390ms 0ms wasmtime 27.0.0
java 1.java 443ms 2.2ms 45.3MB 480ms 13ms openjdk 21
java 1.java 448ms 1.5ms 48.5MB 483ms 20ms openjdk 23
java 1.java 450ms 4.6ms 83.3MB 477ms 30ms graal/jvm 17.0.8
wasm 2.rs 552ms 37ms 39.3MB 540ms 0ms wasmer/llvm 5.0.2
java 1.java 569ms 1.3ms 46.9MB 493ms 137ms openjdk/zgc 21
wasm 2.rs 576ms 0.6ms 20.8MB 560ms 0ms wasmtime 27.0.0
java 2.java 1248ms 2.9ms 611.8MB 1370ms 97ms openjdk 21
java 2.java 1255ms 4.8ms 780.5MB 1383ms 97ms openjdk 23
java 2.java 3283ms 56ms 2413.4MB 1647ms 1847ms openjdk/zgc 21

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 47ms 0.8ms 38.4MB 30ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 49ms 0.5ms 20.8MB 33ms 3ms wasmtime 27.0.0
wasm 2.rs 66ms 0.8ms 20.8MB 50ms 3ms wasmtime 27.0.0
wasm 2.rs 67ms 3.4ms 37.4MB 50ms 7ms wasmer/llvm 5.0.2
java 1.java 120ms 2.1ms 87.3MB 137ms 37ms graal/jvm 17.0.8
java 1.java 121ms 1.0ms 45.4MB 163ms 17ms openjdk 21
java 1.java 123ms 1.3ms 48.3MB 157ms 13ms openjdk 23
java 1.java 245ms 0.4ms 44.9MB 160ms 140ms openjdk/zgc 21
java 2-m.java 307ms 2.9ms 343.0MB 450ms 57ms openjdk 21
java 2-m.java 313ms 5.4ms 387.7MB 447ms 67ms openjdk 23
java 2.java 704ms 8.8ms 536.4MB 473ms 420ms openjdk/zgc 21

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 351ms 5.0ms 42.1MB 333ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 364ms 8.8ms 76.2MB 350ms 3ms wasmer/llvm 5.0.2
wasm 2.rs 381ms 11ms 23.8MB 370ms 0ms wasmtime 27.0.0
java 1.java 420ms 1.7ms 118.1MB 460ms 20ms openjdk 23
java 1.java 432ms 8.9ms 115.2MB 487ms 20ms openjdk 21
wasm 1.rs 510ms 6.0ms 58.2MB 490ms 7ms wasmtime 27.0.0
java 1.java 604ms 2.3ms 112.6MB 513ms 163ms openjdk/zgc 21
java 1-m.java 703ms 85ms 239.9MB 1043ms 80ms graal/jvm 17.0.8
java 2.java 781ms 3.3ms 60.6MB 833ms 13ms openjdk 23
java 2.java 789ms 8.6ms 57.0MB 850ms 20ms openjdk 21
java 2.java 844ms 0.9ms 55.1MB 773ms 147ms openjdk/zgc 21
java 2-m.java 1312ms 74ms 240.5MB 2287ms 103ms graal/jvm 17.0.8

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 70ms 1.4ms 47.0MB 57ms 0ms wasmer/llvm 5.0.2
wasm 2.rs 95ms 1.1ms 38.6MB 80ms 0ms wasmer/llvm 5.0.2
wasm 2.rs 96ms 1.1ms 20.1MB 80ms 7ms wasmtime 27.0.0
wasm 1.rs 97ms 1.5ms 28.7MB 90ms 0ms wasmtime 27.0.0
java 1.java 158ms 0.5ms 68.0MB 200ms 23ms openjdk 23
java 1.java 164ms 12ms 64.9MB 210ms 27ms openjdk 21
java 1-m.java 247ms 12ms 144.7MB 343ms 60ms graal/jvm 17.0.8
java 2.java 260ms 4.2ms 50.2MB 320ms 23ms openjdk 21
java 2.java 264ms 2.9ms 50.4MB 313ms 23ms openjdk 23
java 1.java 288ms 1.8ms 61.6MB 210ms 147ms openjdk/zgc 21
java 2.java 368ms 4.5ms 49.4MB 317ms 130ms openjdk/zgc 21
java 2-m.java 474ms 5.2ms 194.3MB 823ms 70ms graal/jvm 17.0.8

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 2075ms 6.3ms 37.6MB 2053ms 3ms wasmer/llvm 5.0.2
wasm 2.rs 2160ms 7.6ms 19.7MB 2147ms 0ms wasmtime 27.0.0
java 1.java 3200ms 37ms 447.4MB 3680ms 97ms graal/jvm 17.0.8
java 1.java 3677ms 90ms 388.1MB 4527ms 123ms openjdk 23
java 1.java 3700ms 76ms 423.2MB 4547ms 120ms openjdk 21
java 1.java timeout 0.0ms 2012.2MB 4660ms 1187ms openjdk/zgc 21

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 493ms 3.2ms 39.4MB 480ms 0ms wasmer/llvm 5.0.2
wasm 2.rs 514ms 2.4ms 19.2MB 497ms 0ms wasmtime 27.0.0
java 1-m.java 918ms 18ms 448.8MB 1310ms 90ms graal/jvm 17.0.8
java 1-m.java 1015ms 31ms 352.4MB 1803ms 90ms openjdk 21
java 1-m.java 1038ms 10ms 370.6MB 1787ms 90ms openjdk 23
java 1.java 2036ms 48ms 1391.2MB 1720ms 1087ms openjdk/zgc 21

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 3108ms 21ms 37.1MB 3093ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 3496ms 1.3ms 20.6MB 3480ms 0ms wasmtime 27.0.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 787ms 3.0ms 39.0MB 773ms 3ms wasmer/llvm 5.0.2
wasm 1.rs 887ms 3.6ms 20.7MB 877ms 0ms wasmtime 27.0.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2-m.java 1952ms 6.8ms 47.7MB 7430ms 20ms openjdk 21
java 2-m.java 1972ms 7.8ms 48.4MB 7477ms 27ms openjdk 23
java 2-m.java 2092ms 3.1ms 45.2MB 7480ms 157ms openjdk/zgc 21
java 2-m.java 2443ms 23ms 101.0MB 8710ms 50ms graal/jvm 17.0.8
wasm 2.rs 3587ms 3.9ms 37.2MB 3573ms 3ms wasmer/llvm 5.0.2
wasm 2.rs 3589ms 8.6ms 18.9MB 3573ms 0ms wasmtime 27.0.0
wasm 7.rs 3597ms 1.9ms 38.9MB 3580ms 3ms wasmer/llvm 5.0.2
wasm 7.rs 4874ms 3.3ms 20.7MB 4857ms 0ms wasmtime 27.0.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2-m.java 595ms 4.1ms 49.1MB 2077ms 30ms openjdk 23
java 2-m.java 595ms 6.5ms 47.6MB 2087ms 20ms openjdk 21
java 2-m.java 718ms 4.6ms 47.3MB 2043ms 143ms openjdk/zgc 21
java 2-m.java 738ms 17ms 99.2MB 2487ms 33ms graal/jvm 17.0.8
wasm 2.rs 906ms 2.5ms 18.7MB 890ms 0ms wasmtime 27.0.0
wasm 2.rs 909ms 1.3ms 38.9MB 893ms 0ms wasmer/llvm 5.0.2
wasm 7.rs 909ms 0.8ms 39.0MB 893ms 0ms wasmer/llvm 5.0.2
wasm 7.rs 1233ms 11ms 18.7MB 1220ms 0ms wasmtime 27.0.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 234ms 2.2ms 18.5MB 220ms 0ms wasmtime 27.0.0
wasm 2.rs 238ms 1.1ms 38.9MB 227ms 0ms wasmer/llvm 5.0.2
java 2-m.java 238ms 1.1ms 47.6MB 670ms 33ms openjdk 21
wasm 7.rs 239ms 1.1ms 37.2MB 223ms 0ms wasmer/llvm 5.0.2
java 2-m.java 246ms 2.6ms 48.9MB 710ms 23ms openjdk 23
java 2-m.java 277ms 22ms 96.4MB 793ms 27ms graal/jvm 17.0.8
wasm 7.rs 321ms 11ms 18.8MB 303ms 0ms wasmtime 27.0.0
java 2-m.java 370ms 2.2ms 47.2MB 717ms 143ms openjdk/zgc 21