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 total
The 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 total
I'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.
Compiling this module in Wasmtime: foo.wasm.txt (it's not actually txt) currently takes ~1s:
The 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:
I'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.