Focusing on Real World Web Performance with Internet Explorer 9

February 8th, 2011

One engineering objective of Internet Explorer 9 is to build the world’s fastest browser. Browser performance matters to everyone. Consumers, enterprises, developers, and the technology industry share a desire for a faster and more capable Web platform.

Five Internet Explorer 9 Performance Objectives:

CPU Time: Effectively scale computation better than any modern browser

Resource Utilization: Require less overall system resources than any modern browser

Power Consumption: Require less power than any modern browser

We believe being the world’s fastest browser means being best in breed at all five of these objectives across the real world scenarios that matter to customers.

Let’s take a closer look at what each of these five objectives means through the scenario of loading a large sports site over a DSL connection for the first time. The above diagram shows what happens on the CPU while the sports site is loading, important points along the way, and how these map to our objectives. We use these same metrics for complex AJAX/Web2.0 JavaScript applications as well.

Display Time The most important objective is what we refer to as “Display Time.” This has many names across the industry including “time to glass” and “primary paint.” Display Time measures the time from when the user performs an action until the user sees the result of that action on the screen. In the case of the sports site, this is the duration from when the user navigates to the site until when the site is visually complete loading. Our objective is to display the results of these user actions faster than any browser, providing customers with real-time responsiveness.

Elapsed Time Most sites continue to perform work in response to the user action after the content has been displayed to the screen. This might include downloading user data (e.g., email messaging) or sending analytics back to a provider. From the users’ perspective the site might appear loaded, however significant work is often occurring in the background which can impact responsiveness. Our objective is to execute the Web site code (HTML, CSS, and script) more efficiently than any browser—making sites load faster, Web experiences more responsive, and enabling Web developers to create richer experiences.

CPU Time Web browsers are almost exclusively limited by the CPU. What work a browser performs on the CPU and how efficiently that work occurs will make the single largest impact to performance. That’s one of the reasons offloading work to the GPU has made such a significant impact to IE9’s performance. The amount of CPU time required to perform the action and the CPU efficiency are critical. Our objective is to more effectively use the CPU and leverage multiprocessor architectures better than any browser.

Resource Utilization Building a fast browser means ensuring resources across the entire PC work well together. This includes network utilization, memory usage patterns, GPU processing, graphics, memory, and hundreds of other dimensions. Since customers run several applications at the same time on their PC, it’s important for browsers to responsibly share these resources with other applications. Our objective is to effectively use system resources like the GPU while requiring less system resources (including working set, CPU load, and GPU load) than any modern HTML5 browser.

Power Consumption When utilizing the underlying PC hardware it’s important to take power consumption into consideration. The more efficiently a browser uses power, the longer batteries will last in mobile scenarios, the lower the electricity costs for operating the device, and the smaller the environmental impact. Power and performance are complimentary goals and our objective is to require less power than any other browser without compromising performance.

Internet Explorer 9 Beta was a great step toward achieving these goals. What’s coming next will provide an equally significant step forward. Over the next few weeks we’re going to talk more about each of these five objectives, discuss how we measure progress against these objectives, and share our internal engineering analysis. First, though, we’re heading to San Francisco.