Php VS Wasm benchmarks

Current benchmark data was generated on Wed Jan 22 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 3.rs 1735ms 38ms 51.3MB 1700ms 17ms wasmtime 29.0.1
wasm 4.rs 1755ms 3.5ms 35.3MB 1730ms 13ms wasmtime 29.0.1
wasm 5.rs 1769ms 18ms 37.2MB 1753ms 3ms wasmtime 29.0.1
php 1.php timeout 0.0ms 141.9MB 4957ms 23ms php 8.2.27

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 5.rs 170ms 0.9ms 21.3MB 160ms 0ms wasmtime 29.0.1
wasm 4.rs 171ms 2.2ms 23.3MB 160ms 0ms wasmtime 29.0.1
wasm 3.rs 172ms 6.1ms 23.3MB 160ms 3ms wasmtime 29.0.1
php 1.php 619ms 7.3ms 62.7MB 590ms 13ms php 8.2.27

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 7.3ms 0.2ms 20.6MB 0ms 0ms wasmtime 29.0.1
php 1.php 50ms 1.1ms 52.6MB 22ms 12ms php 8.2.27

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 886ms 9.9ms 45.3MB 853ms 17ms wasmtime 29.0.1
php 1.php 3744ms 64ms 113.9MB 3703ms 23ms php 8.2.27

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 192ms 0.4ms 25.3MB 177ms 3ms wasmtime 29.0.1
php 1.php 826ms 9.2ms 67.1MB 787ms 23ms php 8.2.27