2010 Mac Web Browser Shootout!

Web browser performance has been picking up ever since Safari 4 introduced lightning fast html and javascript performance. Google’s Chrome picked up Apple’s gauntlet, and it’s been on pretty much ever since. Mozilla has been scrambling to keep Firefox relevant in a Webkit world, and in fact just this week they announced that they will be using some of Webkit’s javascript engine to redo their own. Lucky for Mozilla all those Firefox users are addicted to extensions, because it’s been a while since Firefox could keep up with the Webkit pack.

Opera wants to play too, and the new Opera 10.5 Beta promises Webkit-like performance. Does it deliver? Has Mozilla done anything to keep from getting lapped?

The reason we have these shootouts at all is thanks to Apple. In the process of creating their own web browser they gave us Webkit, which in turn owes thanks to the KDE guys on the X side of the fence. Not only has Webkit raised the bar for html and javascript performance, but it’s portability has meant that any architecture and operating system can have web browsers that enjoy it’s features and performance. Everyone wins.

It’s time for the 2010 Mac Web Browser Shootout!, where we’ll put the web browsers that you may actually use to the test.

The competitors:

    Webkit browsers

  • Safari 4.0.4 Latest version of Apple’s browser. First Mac 64 bit browser.
  • Chrome 5.0.342.1 Google won me over last summer and I’m still in the Chrome camp.
  • OmniWeb 5.10.2r125886 I have over a decade long relationship with this browser. WebKit performance, outstanding features. My #2 Mac browser.
  • Stainless 0.75 Spawns a new process for each tab. The first browser to take advantage of multi-core CPUs.
  • Cruz 0.4 Multi-paned browser with Twitter integration. Now 64 bit.
  • iCab 4.7 The only other 64 bit browser on OS X.
  • Sunrise 2.0.6 Promising browser with unique bookmarks and some developer-friendly features.

Last but not least, the latest Opera 10.5 Beta, build 8271, which uses it’s own proprietary html and javascript engines.

The tests used are:

  • CSS rendering benchmark Close as we can come to testing html engine in browser.
  • V8 Suite Suite of javascript benchmarks
  • Acid 3 Tests standards compliance
  • Crab Test Flash performance
  • Slickspeed Runs a gamut of javascript benchmarks
  • AVE CPU usage on MooTools slideshow
  • 12 Tab CPU usage with 12 tabs open

The test machine is the same as the 2009 test: 2.8 GHz Mac Pro with 8 cores, 14 gigs of ram, 640 Gb software RAID 0, and Radeon HD2600. The only difference is that last year the test machine was running Mac OS X 10.5 32 bit and this year the test os is Mac OS X 10.6.2 64 bit. If you notice some numbers being different than the 2009 Shootout! attribute it to the transition from 32 bit to 64 bit operating system.

And now, the third annual Mac Web Browser Shootout!

csstest 400x279 2010 Mac Web Browser Shootout!

CSS Test results

Take the above chart with a grain of salt. Rendering html and css is the easiest thing your web browser does, and all of the web browsers in this test are good at rendering html. The html test shows similar results to the javascript benchmarks: Webkit is faster than Mozilla.

V8 400x277 2010 Mac Web Browser Shootout!

V8 Suite results

This year’s Shootout! shows that Webkit still destroys Mozilla in the area of javascript performance, and also like last year, Google’s Chrome destroys everything. The big surprise is that Opera scores #2 behind Chrome this year. Second to last to second best in one year. Excellent work Team Opera!

acid 400x282 2010 Mac Web Browser Shootout!

Acid3 Test results

Acid3 tests standards compliance. Webkit and Opera have been hitting 100s since last year’s test. Firefox is creeping toward compliant with a 94 this year.

crab 400x275 2010 Mac Web Browser Shootout!

Crab Test results

Probably more of a CPU test than a browser test, the Crab Test generates bitmaps in quantities of 5 via Flash until the framerate dips below 25. Last year Chrome failed this test, this year it takes first prize. The only significant changes from last year are decreases by Safari, Cruz and iCab. The only way I could explain these differences is that I am now using a 64 bit operating system. This leads to a revelation, and as I write this I realize that these are the three web browsers that are 64 bit binaries instead of 32 bit, so difference explained.

mootools 400x276 2010 Mac Web Browser Shootout!

MooTools 1.2 Test results

jquery 400x272 2010 Mac Web Browser Shootout!

JQuery 1.2.6 Test results

MooTools and JQuery are commonly used javascript frameworks. These tests benchmark javascript engine performance. Webkit browsers dominate. The only surprise here is that Opera failed. It was on track to have similar performance to Webkit, but one of the JQuery tests made it crash every run.

ave 400x271 2010 Mac Web Browser Shootout!

AVE CPU Test

The test that started this whole mess. It’s a MooTools slideshow that functions excellently, despite machine specs. It’s the reason I used that snippet of code in the first place; it didn’t matter if the user was on a 1 GHz Athlon or a fast dual core machine, it behaved nicely despite user hardware. However, I was shocked when I noticed how much CPU utilization was occurring when the browser was running it, and it made it’s way into the first Shootout! as a javascript CPU utilization test.

The off-brand Webkit browsers owned this test, utilizing less than 20% CPU. Mozilla and Opera were right around 60%. Why care on an 8 core machine? Why not? Less is more.

12tab 400x280 2010 Mac Web Browser Shootout!

12 Tab CPU Test

The 12 Tab Open test gauges browser CPU utilization with 12 tabs open. This is because many of us have a lot going on when we surf, and I used to get frustrated with pokey performance with too many open tabs. I used the same 12 sites for each browser test for consistency and the percentage is the average of three polls after all sites have completely loaded.

Chrome and Stainless are both multi-threaded, so in addition to the main instance of the application they launch a new process for every tab. Nice, because if a tab goes nuts it doesn’t take the browser down with it. Also nice because multi-core systems can distribute the workload. In the case of Chrome, these additional processes used very little CPU. So much so that Chrome was number one by a big margin. Not so for Stainless, which was much more resource hungry. Obviously the multi-process approach of Stainless is in need of further polishing. Opera ate more than 100% CPU during this test and came in last place.

If I come across as having a Webkit bias, I do. I would have a Mozilla bias if Mozilla produced similarly dominating results. All props to Mozilla, because at one time they led the way and offered the best web browser in the world. Props to Apple for creating such an awesome toolkit for developers. Props to Opera for stepping up their game and staying competitive.

Chrome is the clear winner here, and has been my daily browser in OS X and linux since the last Shootout!.

The real surprise is what Opera has been able to do with their web browser, and they are this year’s runner up, despite failing the MooTools and JQuery tests.

Honorable mention to Cruz, for being one of the first 64 bit browsers on OS X. No small feat for a small project. Also, Cruz is by the same guy that wrote Fluid, which I find to be an indispensable app. Well done.

I am also very fond of OmniWeb, which offers Webkit speed with the nicest preferences of any browser. I especially miss per-site preferences and the tabs drawer. Omni Group, go 64 bit, clean up your bitmaps and I will be happy to come back to the Omni fold!

I find the browsers on OS X to be nicer than their Windows and X counterparts. There is no shortage of good Mac browsers, and any of the Webkit offerings, and now Opera as well, will provide you with a world class browsing experience.