Php VS Wasm benchmarks

Current benchmark data was generated on Tue Apr 01 2025, 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
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
php 1.php timeout 0.0ms 141.8MB 4963ms 23ms php 8.2.28

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
php 1.php 623ms 2.8ms 63.1MB 587ms 23ms php 8.2.28

helloworld

Input: QwQ

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
php 1.php 52ms 1.0ms 52.8MB 20ms 20ms php 8.2.28

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 939ms 69ms 41.1MB 913ms 13ms wasmtime 31.0.0
php 1.php 4055ms 54ms 114.0MB 4010ms 30ms php 8.2.28

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 201ms 2.9ms 23.2MB 183ms 0ms wasmtime 31.0.0
php 1.php 842ms 8.7ms 67.2MB 803ms 20ms php 8.2.28