This article outlines some of the performance optimizations done for the Chakra engine and the Octane and Jet Stream benchmark results for Edge, Chrome and Firefox.
As detailed in A Developer’s View on Microsoft Edge, the Redmond browser maker has changed their attitude towards web technologies, web standards and compliance with other browsers. Not only they discarded some old IE components and decided to implement HTML, JavaScript and CSS standards to the letter with the new rendering engine, but they started to address an issue that was long due: performance.
The main performance bottlenecks in IE were related to processing JavaScript, Microsoft fixing some of these in the new version of Chakra available with Edge. We are briefly presenting some of these enhancements (more details here and here):
- Chakra has a new Simple JIT compiler which performs fewer optimizations, and as a result can execute the code sooner. Profiling continues, and the engine switches to full-JIT code when this is available. Simple JIT also runs on a background thread.
- Depending on the underlying hardware, Chakra can start multiple JIT threads, resulting in faster compilation. Because of that, TypeScript is now up to 30% faster.
- The final GC mark pass can now be done both on the main thread and the GC thread, reducing the interruption of the main thread for the final mark pass by up to 48%.
- Code inlining overhead has been reduced by using static data.
- Chakra now allows cross-file script inlining.
- The upcoming
const
in ES6 saves compilers from performing checks and see if a variable has changed. For web apps that do not useconst
, Chakra can identify global variables that never change in order to treat them asconst
, saving lookup time costs. - The JIT compiler is now better optimized for running minified code generated with UglifyJS which is used by the vast majority of top 10K websites.
- JIT now optimizes the code inside a try-catch block.
Considering all these improvements and optimizations, we wonder how fast Edge is. According to Microsoft, Edge is now faster than Chrome and Firefox, as depicted in the following graphics:
(Click on images to enlarge. The benchmarks were performed by Microsoft using 64-bit browsers and 64-bit Windows 10 TP on HP Compaq 8100 Elite, i7 860 2.80GHz (4 cores), 12GB RAM.)
We notice how much Edge has improved in performance compared to IE11. Also, it remains to see if Google and Mozilla can squeeze more benchmark points from their browsers.