Chrome 10 vs. Internet Explorer 9 Reconsidered

I, and a lot of my readers, were puzzled about why my recent SunSpider results showed IE 9 doing so badly compared to Chrome 10, so I took a closer look. This time IE 9 took first by a nose.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

When I recently took a look at the brand new Chrome 10 Web browser, the results for the latest release candidate of Internet Explorer (IE) 9 puzzled me because they were so bad. Some of my readers were more than puzzled. Some were outraged and accused me of deliberating trying to set up IE to fail. Please. I call them like I see them and, in my tests, the IE 9 RC was just dreadfully slow compared to the others.

Still, as I said, I wasn't happy with my results. When I started hearing from people that I respected, like my ZDNet bud Ed Bott, that he was also seeing results that put IE 9 RC just ahead of Chrome, I decided to re-run my benchmarks and take a closer look at my results.

The first thing I did was to start talking with Microsoft, who, as you might have guessed, had wanted to talk to me anyway, and to set up a new benchmark PC. This time around I picked a Gateway SX2802-07 desktop. This PC uses a 2.6GHZ Intel Pentium Dual-Core E5300 processor and has 6GBs of RAM and a 640GB hard-drive.

I burned out everything that currently lived on that system with my favorite system repair Linux distribution SystemRescueCD. I then installed on Windows 7 Ultimate 64-bit from the partitions on up. After that I brought it up to date with Windows 7 SP1. In passing, let me say that while I know some people have had trouble with Windows 7 SP1, SP1 is a good patch. While it's not as big a comparative improvement as Windows XP SP3was in its day, I think most Windows 7 users would be better off going with SP1.

OK, so I now have a fresh system with nothing on it except Windows. Once more I installed the latest IE 9 release candidate. This time though there was nothing else on the system, not even Chrome 10 yet, that might cause trouble. And, once again I sent IE 9 64-bit on its trip through the SunSpider JavaScript benchmark 0.91 and this time it came in 1111.3ms (milliseconds). Yuck!

I was getting closer to working out the riddle though. I had used the 64-bit version of IE9 because generally speaking 64-bit applications run marginally faster on 64-bit architectures. Now, with a Web browser that's not likely to make a big difference. The real win for the current generation of most 64-bit software is its access to more than 4GBs of RAM. Or, in Windows case, about 3.25GB, once you've taken out the RAM used for the BIOS, the PCI and PCI Express buses, etc. etc. With a 64-bit system, you have a theoretical maximum of 16 Exabytes, or about 16-billion GBs, but Microsoft currently puts a 16TB limit on address space and allows only 128GB of physical RAM. Only HD photography and video editors are likely to run into limits.

Still, 32-bit IE 9 would need to run on Windows on Windows 64-bit (WOW64)--which had nothing to do with World of Warcraft--and WoW64 could have caused slightly reduced 32-bit IE 9's speed. Well, that's what I thought anyway.

But, then I ran 32-bit IE 9 on my 64-bit Windows 7. Wow. Now, IE 9 came in at 245.4ms. This was actually faster than Chrome 10, which came in at 266.7ms. So, for the moment at least IE9 is actually the fastest browser I've tested to date.

Page 2: [Why 32-bit IE is faster than 64-bit IE] »

Why 32-bit IE is faster than 64-bit IE

So what the heck was going on here? This time, guided by comments from Ed and others, I looked at the JavaScript JIT (just-in-time) compiler. Ah-ha! It turns out that IE 9 64-bit, which I presumed was the most advanced version of IE, was actually using an older, much slower JavaScript JIT engine, while IE 9 32-bit was using the far more efficient Chakra JIT.

Sure enough, when I asked, Tim Sneath, Microsoft's Senior Director of Windows and Web Evangelist, "The 64-bit IE 9 RC doesn't use the Chakra JIT does it? It uses the older, far less efficient one, right?" Sneath replied, "That's correct--we put all our JIT compiler investment in this release of Chakra into the 32-bit compiler, since that's the one that is near-universally used today. The 32-bit browser is the default even on 64-bit systems, since almost all add-ons are 32-bit only at this time. The 64-bit version provides no real advantage, since no browser scenario requires access to >2GB of user memory in a single process."

The mystery is solved!

For more on this Microsoft IE design decisions see Eric Law's Q&A: 64-Bit Internet Explorer. Even though this piece is almost two years old, Sneath assures me it's still accurate.

The takeaway is that, for now anyway, IE9 32-bit is unquestionably the best version of IE to run on any version of Windows Vista or 7. For the moment at last, IE 9, and not Chrome 10, is the fastest Web browser around.

I'm sure we'll see the lead changing back and forth in the next few weeks as IE 9 goes to final, Firefox 4 finally arrives, and minor updates are expected from all the Web browser makers in response to the Pwn2Own Web browser cracks.

As for me, I'll still be using Chrome. It may not be the fastest, but it is fast enough, has great security-the Pwn2own hackers wouldn't even try to break Chrome even though Google offered a $20,000 prize for any successful hacks, and it works on all my commonly used operating systems: various Linux distributions, Mac OS X and Windows XP and 7. That said, if all you use is Windows, IE 9 is a much faster choice than I had first thought and is a gigantic step up from IE 8.

Editorial standards