alexcrichton opened issue #14260:
Compiling this module in Wasmtime: foo.wasm.txt (it's not actually txt) currently takes ~1s:
$ time wasmtime compile foo.wasm wasmtime compile foo.wasm 0.99s user 0.24s system 99% cpu 1.235 totalThe reason for this is that the module has a massive element segment full of null function expressions. This is effectively unrolled into a giant CLIF function that then takes quite awhile to compile.
Note though that optimizations actually improve the compile time of this function:
$ time wasmtime compile foo.wasm -O opt-level=0 wasmtime compile foo.wasm -O opt-level=0 1.29s user 0.27s system 99% cpu 1.566 totalI'm not sure how best to handle this, but it's timing out our fuzzers currently. I figured I'd file this so we can at least track it.
alexcrichton added the fuzz-bug label to Issue #14260.
fitzgen added the enhancement label to Issue #14260.
fitzgen commented on issue #14260:
Ideas:
- Try to fuse loops in our init function generation optimistically, kind of like run length encoding
- split functions if they are too big
- use winch?
- optimize away null/zero segments, since tables/data is initially null/zero anyways
dishmaker commented on issue #14260:
It's 70% page faults on flamegraph
<img width="1919" height="624" alt="Image" src="https://github.com/user-attachments/assets/35405731-b411-4ec4-93b0-a5a8d0e55218" />
Last updated: Sep 20 2026 at 18:08 UTC