>UPDATE
> An earlier post described performance problems on Firefox and Safari, which were related to the Proxy object. This feature is used to read values from WebAssembly into JavaScript.
> After changing to Object.defineProperty() all browsers are equally fast on WebAssembly, beating JavaScript in all cases.
The update at the bottom is kind of interesting. All browsers are equally fast, which makes sense because wasm should speak directly to the hardware more easily than javascript.
This is also just because APIs like Object.defineProperty are old and well-optimized, while Proxy (in comparison - it's not THAT new) is relatively new and not optimized because it is rarely used. Part of the reason it's rarely used is that it's very slow :-)
That is generally how web platform optimization goes, yes. Browser vendors optimize the stuff that gets used most, which means new APIs tend not to get used much unless they fill a gaping hole.
The update at the bottom is kind of interesting. All browsers are equally fast, which makes sense because wasm should speak directly to the hardware more easily than javascript.