Is there any AOT WebAssembly compiler that can compile Wasm used by websites? I tried locally compiling the Photoshop Wasm module mentioned in the article but the compilers I tried (Wasmtime, wasm2c, WAMR) all complained about some unsupported Wasm extension/proposal being required (exceptions seems like the blocker on wasmtime, and the others gave cryptic error messages). Is it really the case that browsers have def…
Optimizing the Ion compiler back end
11–20 of 45 posts
Re: Optimizing the Ion compiler back end
#12If anyone have a comparison with V8 that would be great!
Not sure what kind of comparison you mean, but you can compare desktop browsers with [1]. I just ran it on my mac M2 Max and got: (F)irefox 131.0.3 (E)dge 129.0, V8 12.9.17.8 (S)afari 18.0 (20619.1.26.31.6) Speedometer 3.0 (F) 25.9 (E) 22.3 (S) 30.9 JetStream2 (F) 251.787 (E) 350.74 (S) 360.568 Safari seems slightly faster in all benchmarks. I did not run motionmark because it takes forever :-/. The page says JetStre…
Re: Optimizing the Ion compiler back end
#13It's too bad the title prefix "75x Faster" got dropped.
Re: Optimizing the Ion compiler back end
#14Moral of the story: First, use an array. If an array doesn't work, try something else.
Re: Optimizing the Ion compiler back end
#15Is there any AOT WebAssembly compiler that can compile Wasm used by websites? I tried locally compiling the Photoshop Wasm module mentioned in the article but the compilers I tried (Wasmtime, wasm2c, WAMR) all complained about some unsupported Wasm extension/proposal being required (exceptions seems like the blocker on wasmtime, and the others gave cryptic error messages). Is it really the case that browsers have def…
Re: Optimizing the Ion compiler back end
#16Is there any AOT WebAssembly compiler that can compile Wasm used by websites? I tried locally compiling the Photoshop Wasm module mentioned in the article but the compilers I tried (Wasmtime, wasm2c, WAMR) all complained about some unsupported Wasm extension/proposal being required (exceptions seems like the blocker on wasmtime, and the others gave cryptic error messages). Is it really the case that browsers have def…
> Is it really the case that browsers have default-enabled all sorts of extensions that are not yet widely supported by the rest of the ecosystem? I don't know the answer, but it would be hard to blame them for following normal browser development practices on the standard they created for the purpose of being in browsers.
Re: Optimizing the Ion compiler back end
#17Earlier quoted context omitted.
> Is it really the case that browsers have default-enabled all sorts of extensions that are not yet widely supported by the rest of the ecosystem? I don't know the answer, but it would be hard to blame them for following normal browser development practices on the standard they created for the purpose of being in browsers.
Fair enough. I think it would be unfortunate if the WebAssembly language in browsers were a significantly different language than WebAssembly outside of browsers (just referring to language itself, not the overall runtime system). I don't think that has quite happened, and the outer ecosystem can probably catch up, but it worries me.
Re: Optimizing the Ion compiler back end
#18Is there any AOT WebAssembly compiler that can compile Wasm used by websites? I tried locally compiling the Photoshop Wasm module mentioned in the article but the compilers I tried (Wasmtime, wasm2c, WAMR) all complained about some unsupported Wasm extension/proposal being required (exceptions seems like the blocker on wasmtime, and the others gave cryptic error messages). Is it really the case that browsers have def…
> Is there any AOT WebAssembly compiler that can compile Wasm used by websites? This doesn't really make sense, given that the wasm used by websites is going to import a bunch of JS functions as dependencies. You're not going to have those available in any native environment. > Is it really the case that browsers have default-enabled all sorts of extensions that are not yet widely supported by the rest of the ecosyst…
Re: Optimizing the Ion compiler back end
#19*High five*
I fixed several of these during my time as a compiler engineer too.
It's true what they say, quadratic is the worst possible time complexity. Fast enough to work on all your test cases, slow enough to explode in prod.
Re: Optimizing the Ion compiler back end
#20Semi-NCA hadn't even been published yet and seems like the clear choice nowadays, so I'm glad to see it in place! Great work!