Microsoft fine-tunes WebAssembly for Edge browser


WebAssembly, the portable binary format for improving web application performance, is being tweaked by Microsoft for its Edge browser.

With the browser featured in the recent , the defers parsing WebAssembly functions until called; other engines parse functions at start time.

“We’ve observed startup time as a major headache for large web apps and have rarely seen runtime performance being the issue from our experiences with existing WebAssembly and asm.js workloads,” said Limin Zhu, program manager for the Chakra team at Microsoft, this week. “As a result, a WebAssembly app often loads noticeably faster in Microsoft Edge.”

WebAssembly MVP (minimum viable product) currently is supported behind the Experimental JavaScript Features flag in Edge, Zhu said. Aside from the Creators Update, Microsoft is tuning WebAssembly performance and working on remaining MVP features, including response APIs and structured cloning, before WebAssembly is turned on by default in Edge.

” at some point. Recently , WebAssembly has been backed by major browser vendors, including Apple, Google, Mozilla, and Microsoft.

The Creators Update also features other improvements, including saving memory by re-deferring functions. The capability descended from Internet Explorer’s defer-parse function and defer-parse event handlers. With re-deferring, for every function Chakra deems would no longer get executed, the engine frees the bulk of memory that function holds to store metadata after pre-parsing, leaving the function in a deferred state as if it has been pre-parsed. Creators Update also extends just-in-time optimization to avoid creating heap arguments with the presence of formals as long as there are no writes to formals. Microsoft’s web crawler estimates this optimization benefits about 95 percent of websites.