Robin Freyler
Robin Freyler
In Wasmi we achieved big wins in compile times from having optional SIMD support in `wasmparser`. Though it has to be said that Wasmi itself has optional SIMD and thus...
> Would you be able to help profile and track down where this is coming from? Perhaps via bisection? Yes I can do that.
@alexcrichton The 30% parse and validation regression first appears here ``` commit 0354dde10184d7ff813282a2837d9a4ed8e766e6 Author: Keith Winstein Date: Tue Apr 15 14:09:45 2025 -0700 wasmparser: detect "malformed" cases in parser alone...
@keithw I am not sure I can follow the reasoning behind all your steps above but let me answer you the questions. And sorry for the delay in doing so....
> are we talking about validating, or just parsing? The largest regressions (~30%) I saw when Wasmi used `lazy-translation` which eagerly parses _and_ validates Wasm via `wasmparser` and basically does...
> I'm like @keithw where I've reproduced a 3-5% regression in this repository's benchmarks (e.g. cargo bench -p wasmparser --bench benches). Hmmm, this is strange! On my machine I also...
Hey @keithw , sorry I didn't get that question. I have tried to find programs on MacOS that can provide cycle counters but found none. From what I found is...
> Can you confirm/deny whether the benchmarks in wasmi are validating? @alexcrichton let me go through the Wasmi benchmarks I pasted above and inform what they do: | Benchmark |...
> I don't know of a taskset-equivalent on MacOS, but you can also measure the single-threaded execution time with the wasm-tools benchmarks. E.g. the command I gave on https://github.com/bytecodealliance/wasm-tools/pull/2228 will...
Here are the benchmark results on M2 Pro using: ``` cargo bench -p wasmparser --bench benchmark -- --baseline pre-changes '(parse|validate)/(tests|spidermonkey)' ``` | Commit | `parse/tests` | `validate/tests` | `parse/spidermonkey` |...