Chakra (JScript engine)
Chakra is a JScript engine developed by Microsoft for its 32-bit version of the Internet Explorer 9 (IE9) web browser.
Developer(s) | Microsoft |
---|---|
Operating system | Microsoft Windows |
Type | JScript engine |
License | Proprietary |
The JScript engine is developed as closed source proprietary software. Microsoft has developed a different JavaScript engine based on the JScript, for the newer Microsoft Edge browser (also called Chakra). The Chakra JavaScript engine has been open-sourced under the MIT license.[1]
Features
A distinctive feature of the engine is that it JIT compiles scripts on a separate CPU core, parallel to the web browser.[2][3] Though Microsoft has in the past pointed out that other elements, such as rendering and marshalling, are just as important for a browser's overall performance,[4] their improvements to the engine were in response to evolving competing browsers, compared to which IE8 was lagging behind in terms of client-side script processing speed.[5]
History
SunSpider tests performed on November 18, 2009 showed the PDC version of IE9 executing scripts much faster than IE8, but slower than Firefox 3.6, Chrome 4, and WebKit Nightly.[4] The same test performed on March 15, 2010 showed the first IE9 Platform Preview (using the then-current version of Chakra) to be faster than Firefox (with SpiderMonkey), but slower than Safari (with SquirrelFish Extreme), Chrome (with V8), and Opera (with Carakan).
On March 8, 2011, Microsoft published results showing the 32-bit Internet Explorer 9 to be faster than Safari, Firefox (with TraceMonkey), Chrome, and Opera.[6]
March 2011 performance tests for ZDNet concluded that Internet Explorer 9 (32-bit), Chrome 10, and Firefox 4 release candidate were "pretty evenly matched."[7]
In 2012, subsequent versions of Chakra, such as the version included in Internet Explorer 10, introduced additional performance changes, including JIT compilation on x64 and ARM architectures, and optimizations related to floating point math and garbage collection.[8]
Open source
At the Last Call JSCONF in 2015, Microsoft announced that they were open sourcing the ChakraCore engine in January 2016 on GitHub.[9] ChakraCore is essentially the same as the Chakra engine that powers the Microsoft Edge legacy browser, but with platform-agnostic bindings, i.e. without the specific interfaces utilised within the Windows Universal App platform. On January 13, 2016, Microsoft released ChakraCore under the MIT license on GitHub as promised.[1][10]
See also
References
- Microsoft open sources Edge web browser's JavaScript engine, plans port to Linux on zdnet.com by Steven J. Vaughan-Nichols (on January 13, 2016)
- Steven J. Vaughan-Nichols (March 10, 2011). "Chrome 10 vs. Internet Explorer 9 Reconsidered". ZDNet. Retrieved 2011-03-21.
- Muchmore, Michael (March 16, 2010). "Internet Explorer 9: An Early Look". PC Magazine. Retrieved March 19, 2010.
- Hachamovitch, Dean (November 23, 2009). "An Early Look At IE9 for Developers". IEBlog on Microsoft Developer Network. Microsoft. Retrieved March 19, 2010.
- Hachamovitch, Dean (March 18, 2010). "HTML5, Hardware Accelerated: First IE9 Platform Preview Available for Developers". IEBlog on Microsoft Developer Network. Microsoft. Retrieved March 19, 2010.
- "WebKit Sunspider JavaScript Benchmark Results". Internet Explorer 9 Platform Demos: Test Drive. Microsoft. Archived from the original on 2011-03-24. Retrieved March 19, 2010.
- Adrian Kingsley-Hughes (March 15, 2011). "IE9 vs Chrome 10 vs Firefox 4 RC vs Opera 11.01 vs Safari 5 - The BIG browser benchmark!". ZDNet. Archived from the original on 2011-03-20. Retrieved 2011-03-21.
- "Advances in JavaScript Performance in IE10 and Windows 8". Microsoft. Retrieved October 24, 2013.
- "Microsoft Edge's JavaScript engine to go open-source". Microsoft. Retrieved December 8, 2015.
- ChakraCore on GitHub