News

Microsoft Boosts Performance of WebAssembly (Used for Blazor) in Edge Browser

Last November, Microsoft for the first time provided out-of-the-box Edge browser support for WebAssembly, the new technology that lets developers write Web code in non-JavaScript languages like C, C++ and even -- with Blazor -- .NET languages like C#.

Now, with Blazor lighting a new fire in the .NET Web development space, Microsoft has boosted the performance of WebAssembly -- and JavaScript -- in Edge's rendering engine.

Blazor is a hot new experimental project that provides full-stack, client/server .NET Web apps without relying upon JavaScript, leveraging the new WebAssembly tech that converts higher-level language code to assembly-like code for native-speed performance that surpasses JavaScript. While Microsoft strenuously denies such notions, some Web developers have characterized Blazor as delivering them from the "insanity of JavaScript" and even being the "death of JavaScript."

Actually, Blazor is just another tool in the .NET Web developer's arsenal, sure to work right alongside with JavaScript. And in the new EdgeHTML 17, the next major version of Microsoft Edge's rendering engine, performance for both technologies has received a boost.

Edge's Chakra JavaScript engine, for example, was tuned up with several technical enhancements benefitting both developers and users, such as "(Re-)defer parsing for arrow functions and object literals methods" and "RegExp bytecode refactoring."

WebAssembly performance has also been optimized, benefitting from Microsoft's work with the WebAssembly Community Group (CG) to improve the young and growing technology.

"In EdgeHTML 17, WebAssembly (and asm.js) gets even faster with inlining support, which speeds up the workloads we've been tracking by about 4.5 percent," Microsoft's Limin Zhu, program manager, Chakra, said in a blog post today. "For ChakraCore embedders, WebAssembly is not only available on Windows, but also on Linux and MacOS, as we fixed calling convention issues.

"A number of new and exciting WebAssembly features are being discussed within the CG, such as threads, reference types (for host interop), and ES modules integration. We look forward to continuing to collaborate with the CG to move this technology forward and to landing additional features as they progress on the standards track."

Blazor, meanwhile, was most recently updated a couple weeks ago in version 0.4.0, improving JavaScript/.NET interoperability.

Blazor 0.4.0 shipped just a month after v0.3.0, so a new update might be released in the next couple of weeks.

EdgeHTML 17, meanwhile, is being rolled out to users as part of the Windows 10 April 2018 Update.

About the Author

David Ramel is the editor of Visual Studio Magazine.

comments powered by Disqus
Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.