Chakra (JScript engine)


Chakra is a JScript engine developed by Microsoft for its 32-bit version of the Internet Explorer 9 web browser.
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. The Chakra JavaScript engine has been open-sourced under the MIT license.

Features

A distinctive feature of the engine is that it JIT compiles scripts on a separate CPU core, parallel to the web browser. 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, 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.

History

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. The same test performed on March 15, 2010 showed the first IE9 Platform Preview to be faster than Firefox, but slower than Safari, Chrome, and Opera.
On March 8, 2011, Microsoft published results showing the 32-bit Internet Explorer 9 to be faster than Safari, Firefox, Chrome, and Opera.
March 2011 performance tests for ZDNet concluded that Internet Explorer 9, Chrome 10, and Firefox 4 release candidate were "pretty evenly matched."
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.

Open source

At the Last Call JSCONF in 2015, Microsoft announced that they were open sourcing the ChakraCore engine in January 2016 on GitHub. ChakraCore is essentially the same as the Chakra engine that powers the Microsoft Edge 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.