Description
I'm investigating a potential improvement to the WebAssembly performance in V8 / Chrome with inlining support in V8's optimizing JIT compiler for wasm.
I had run https://pspdfkit.com/webassembly-benchmark/ and the wasm binary served seems to have changed in the recent days:
Previously (10 day sago) I was getting pspdfkit-ffc054f2e674b6fc.wasm
(13MiB), now it uses pspdfkit-85b702f2ed274c68.wasm
(9.7MiB).
Looking at the current accompanying .wasm.js
file, this is version 2020.6.4
and I can find the same wasm binary in that npm package version.
Looking at more recent binaries' sizes, it seems that my the ffc0[...].wasm
binary should be a fairly recent version.
Did something change in the benchmark that causes it to use an old(er) version now?
Is the expectation that the benchmark would serve new versions to benefit from improvements on the PSPDFKIT code or is the version meant to be fixed?
To provide more context:
We have seen a significant improvement on the PSPDFKIT benchmark (~10%) when enabling inlining (a feature that is currently only enabled for wasm-gc modules).
We plan on enabling it for linear-memory wasm (like pspdfkit) but have seen some significant compile time regressions.
I'm preparing a change to use better inlining heuristics to get the performance improvements while not regressing too much on compile time.
The characteristics for PSPDFKIT now changed "overnight", the benchmark seems to be slightly slower overall and the performance benefits of enabling inlining are significantly reduced (to ~5%).