Microsoft Touts Greater Javascript Performance Of Edge Browser
Microsoft's Edge, the upcoming web browser, will be significabty faster than the Interner Explorer 11 in terms of JavaScript performance, thanks to its usage of asm.js. Microsoft Edge will integrate Mozilla's asm.js optimisations into its Chakra JavaScript engine, and says that the result is a three-fold performance compard to the Internet Explorer 11.
"With the preliminary asm.js support, Chakra and Microsoft Edge now perform more than 300 percent faster on Unity Benchmark, and around 200 percent faster on individual tests like zlib, which features in Google's Octane and Apple's Jet Stream benchmarking suites," said Abhijith Chatra, Chakra senior software engineering manager, and Gaurav Seth, Chakra principal PM manager, in a blog post.
Asm.js is a strict subset of JavaScript that can be used as a low-level, efficient target language for compilers. As a sublanguage, asm.js effectively describes a sandboxed virtual machine for memory-unsafe languages like C or C++. A combination of static and dynamic validation allows JavaScript engines to employ techniques like type specialized compilation without bailouts and ahead-of-time (AOT) compilation for valid asm.js code. Such compilation techniques help JavaScript execute at "predictable" and "near-native" performance, both of which are non-trivial in the world of compiler optimizations for dynamic languages like JavaScript.
Given the complexity of writing asm.js code by hand, asm.js is currently produced principally by transpiling C/C++ code using toolchains like Emscripten to run on the Web platform, utilizing technologies such as WebGL and Web Audio. Game engines like those from Unity and Unreal are starting to land early/experimental support of plug-in free games on the web using a combination of asm.js and other related technologies.
Arriving in Microsoft's Edge browser for Windows 10, the performance improvements thanks to asm.js will also be available to Windows store apps written using HTML/CSS/JS and web views that target the EdgeHTML rendering engine in Windows 10, Seth and Chatra said.
Users who are running the Windows 10 Technical Preview are able to use asm.js via the about:flags page in Edge.
"We are not fully done yet," said Seth and Chatra. "We are working on fine tuning Chakra's pipeline for ASM.js support -- gathering data to validate if the current design approach performs well for real world asm.js payloads, understanding and addressing outstanding performance, functionality, and tooling issues etc. before enabling this feature by default."
Formerly known as Project Spartan, Edge will not use the legacy technology found in Internet Explorer. For instance, ActiveX and Browser Helper Objects will be gone, meaning that plugins, toolbars, Silverlight and as we mentioned Java will not be supported. On the oterh hand, it will natively support Flash and PDF rendering.
In their place are Chrome-like extensions built in HTML and JavaScript.