makepad / stitch

Stitch is an experimental Wasm interpreter written in Rust that is designed to be very fast and lightweight.
MIT License
116 stars 6 forks source link

Update benchmark results for `wasmi` #2

Open vshymanskyy opened 3 months ago

vshymanskyy commented 3 months ago

According to https://wasmi-labs.github.io/blog/posts/wasmi-v0.32 wasmi-v0.32 should display much better results

It would be nice to see the updated numbers. Cheers!

@ejpbruel2 @Robbepop

Robbepop commented 1 month ago

@vshymanskyy I just updated the benchmarked Wasm runtimes to:

I benchmarked using Macbook M2 Pro: (Note that Wasmi is known to run badly on Mac.)

Here are the results:

Runtime Coremark
stitch 3035
wasm3 2928
wasmi 1701
wasmtime 12721

Note: Wasmi v0.31 had a score of 788. Therefore: >100% improvement

I used the following optimization profile:

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1

I'd say it is a tie between Wasm3 and Stitch. Wasmi is still using a simple switch-loop and hopefully soon also using tail-calls for its dispatch. 🤞

edit: With the release of Wasmi v0.39 I re-benchmarked the runtimes on M2 Pro: (Wasmi v0.39 is ~8% faster than v0.38 and ~130% faster than v0.31.)

Runtime Coremark
stitch 3017
wasm3 2851
wasmi 1830
wasmtime 12732