Kamis, 14 Juni 2012

IE10 in Windows 8 Comes with Improved JavaScript Performance


Windows 8 Release Preview that arrived two weeks ago with a new flavor of Internet Explorer 10 packed inside also delivered a series of enhancements to the modern JavaScript engine, Chakra, which was launched in Internet Explorer 9.

Microsoft’s goals with the new platform release included the delivery of an engine capable of offering great performance capabilities, for both the web and for emerging Web application scenarios.

Given the fact that web applications have evolved considerably in the past years, the performance factors that influenced the user experience also changed.

The advancements in performance also made it possible for applications such as Office 365, Bing Maps, and others to appear, while the expansion of the W3C standard APIs, resulted in the emergence of web games such as Angry Birds, Pirates Love Daisies, Cut The Rope, etc.

When designed for IE9, the Chakra JavaScript engine followed two guiding principles, which remained equally important in IE10 and Windows 8:

- Minimize the amount of work on the critical path for the user experience. This involves deferring as much work as possible until absolutely necessary, avoiding work altogether, making use of periods of inactivity, and parallelizing work to minimize impact on the responsiveness of the application.

- Take advantage of all available hardware. This translates to utilizing all available CPU cores, as well as generating advanced specialized CPU instructions, for example, Intel’s SSE2, if available.


In IE10, the performance of real web applications has been improved, including those who depend on JavaScript, and which were greatly influenced by the enhancements brought to Chakra.

Among these apps, HTML5 games were of great importance, along with simulators, since they were able to tell what performance improvements would have the most significant influence on the experience that users receive from them.

“Our analysis revealed a number of common characteristics and coding patterns. All of the applications are driven by a high frequency timer callback,” Andrew Miadowicz, program manager, JavaScript, explains.

Many applications use canvas for rendering, while others rely on animating DOM elements for that. Some of them combine the two, he explains. Most of applications have code written in the object oriented style, and also have short functions, as well as property reads and writes, and polymorphism.

“All of the applications perform floating point arithmetic and many allocate a fair amount of memory putting pressure on the garbage collector. These common patterns became the focus of our performance work in IE10,” Miadowicz notes.

In a new post on the IEBlog, he explains some of the changes that Microsoft performed in IE10 to ensure a better performance of web applications that use the above.

The result was that the new browser can deliver a much better experience when these JavaScript-intensive applications, particularly HTML5 games and simulations, are involved.

“These gains were accomplished through a range of important improvements in Chakra: from new fundamental capabilities of the JIT compiler to changes in the garbage collector,” he notes.

Via: IE10 in Windows 8 Comes with Improved JavaScript Performance

Tidak ada komentar:

Posting Komentar