- The Contestants
- Testing Setup
- Initial Tests: Installation and Startup
- Browser Speed
- Standards Compliance
- The Winner!
According to Wikipedia’s article on usage share of web browsers, synthesized from usage statistics collected by various companies including Net Applications and Stat Counter, the top five web browsers are Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari and Opera, in that order. Usage share varies dramatically between regions, but global averages are shown in the following chart:
Internet Explorer 9, Mozilla Firefox 4.0, Google Chrome 10, Safari for Windows 5.0.4, Opera 11.01
Each browser was tested on the same system, my HP Pavillion dm4t, on a fresh Windows 7 Professional x64 installation, with the following relevant specifications:
- Intel Core i5-M430
- 4GB DDR3 RAM
- ATI Mobility Radeon HD 5450
- 7200 RPM SATA HDD
Fresh installations of each browser were used. Before running benchmarks, each browser was run once to acknowledge first-run dialogs and let the browser configure itself. Other than this, the tests were started with default profiles, and no extensions or add-ons installed.
Initial Tests: Installation and Startup
People rarely want to wait when they fire up their browser, so we measured each browser’s startup time and how long it took to run the installer. I asked on Super User for recommendations of software to measure installation times, but nobody could find any. I ended up writing a quick little app to do it myself. The program allows you to select a file, then starts a timer when you run the file. The timer stops automatically as soon as the file exits. To benchmark startup times, I used Passmark AppTimer. Install times were one area with pretty dramatic differences. Firefox, Chrome and Opera all installed in under half a minute. Internet Explorer and Safari took notably longer. IE9 took nearly 2 minutes to run the initial installer, and then required a reboot. This is likely because of how deeply Internet Explorer is integrated with Windows. Safari also required a reboot, taking a little under 1:30 to install.
You only have to install your browser once though, so while long installation times can be frustrating, users will likely forget them quickly. Startup times are much more applicable though. For each of the browsers, I tested how long it took for the browser to open and load the Google home page.
IE9 took 15 times longer to start up than Chrome and Opera did, but all started very quickly, in under a third of a second. Start-up times will be affected by the speed of the hardware, particularly if you are using an SSD. This testing was also done with clean browser profiles. Most browsers open quickly when they are first started, but once you start to accumulate web history, add-ons, bookmarks, and other cruft, the startup times can decrease significantly. In the future, I will be trying to find a way to compare how browsers’ startup times increase over time.
The SunSpider benchmark gives a result in milliseconds. The lower the score, the faster the browser completed the test, so a lower score is better in this case. IE9 scored the fastest time at 258.7 ms. Chrome, Firefox and Opera all scored nearly the same, while Safari’s score was much higher at almost 400 ms.
What these two graphs compared really show is that browser benchmarks are overall not particularly useful for determining how fast a browser actually is. One can pick out some trends – for example, Safari performed poorly in both tests – but when one browser is the fastest in one test and the slowest in another, we see that the tests don’t mean as much. Real world usage is what makes the difference.
As more applications move into “the cloud” as web apps, and particularly with HTML5 features being used to deliver graphical content, the graphical performance of browsers is also worth measuring. For this test, we used the Microsoft Test Drive FishIE Tank, which shows a simulated scene using HTML5 with fish swimming in an ocean scene. The test is graphics-intensive, and demonstrates the 2D accelerated graphics in some modern browsers. IE9 and Firefox both use Windows Direct2D API for accelerated 2D graphics. The test was designed to showcase Internet Explorer’s capabilities, so note that there will be a bias in IE’s favor here. The test measures the frames per second (FPS) of the animation as an increasing number of fish are added to the simulation.
IE9 unsurprisingly performed the best. Firefox had the next best performance, though it dropped down at 250 fish. Chrome did not score as high as Firefox, but held on longer, making it to 250 fish before losing performance. Safari outperformed Chrome at first, but like Firefox, only made it to 100. Opera could barely run the simulation at all, scoring a mere 7 FPS with 50 fish.
The better a browser conforms to web standards set by the w3c, the more likely modern webpages are to render correctly. The Acid tests are a series of tests designed to test browsers’ standards compliance with CSS and HTML. All of the browsers I tested passed Acid1 and Acid2 with scores of 100%. Acid3, the latest test, was not handled quite as well by some. The Acid3 test renders a series of colored boxes on the screen, and must get to 100/100 and look exactly like the reference rendering provided. Most browsers tend to pass or almost pass the Acid3 test. However, Acid3 is an artificial test which browser developers can target specifically even if the browser doesn’t comply with all of the standards.
The HTML5 Test
HTML5 introduces many new browser features, including embedded video, improved form elements, local storage, offline webapps and geolocation. The HTML5 Test is an independently developed browser test which detects the browser’s support for various HTML5 features. Browsers get points for each feature they implement fully, and bonus points for optional features not required by the HTML5 specification. The maximum possible points would be 400 for a browser that fully implemented all of the specifications.
None of the browsers got a full score of 400; Chrome scored the highest with 288 points and 13 bonus points. Firefox got the next best score with 240 points and 9 bonus points. Internet Explorer – despite being heralded by Microsoft as full of HTML5 features – got only 130 points and 5 bonus points. HTML5 Video is one of the features that many are hoping will liberate the web of Flash-based video players. Browser manufacturers and content distributors have yet to standardize on a codec though. Codecs are like drivers, but for videos: depending on how the video is saved, you need a certain codec to view it. H.264 is the most prevalent codec today, but is not licensed freely, so some popular browsers like Firefox have declined to implement it. Google introduced the WebM codec last year, as an efficient and open-source alternative to H.264. YouTube has started supporting HTML5 for some of its videos, using both the WebM and H.264 codecs. Part of the problem with a lack of agreement on web codecs is that content distributors must encode their videos multiple times if not all browsers support their codec of choice. The HTML5 test checks which of the common codecs a browser has installed. Chrome supports the most, with H.264, Ogg/Theora and WebM. Safari on Windows supports none, while IE9 supports only H.264. Opera and Firefox both support Ogg/Theora and WebM, but no others.
Add-Ons and Extensions
Most websites will look and behave mostly the same regardless of which modern browser you use. What really makes certain browsers shine is their options for customization. In past years, Firefox was heralded for its extensive add-on library, but all five of these browsers now have add-on galleries.
- Internet Explorer Add-Ons Gallery
- Add-Ons for Firefox
- Google Chrome Extensions
- Safari Extensions Gallery
- Opera Extension List
Most of the add-on sites do not list exactly how many add-ons they have, though the most active add-on sites are for Firefox and Chrome.
Firefox, Chrome and Opera all support browser skins to change the look of the browser. Internet Explorer and Safari do not have any native support for this.
Most malware comes from visiting malicious or infected websites, so having a browser which will protect you against these threats is important. Browser security is a complex topic, and could fill an entire post in and of itself, but here are a few factors to consider.
Sandboxing is a technique where a web browser isolates each page as a separate process, and prevents it from accessing other pages or other files on the system. Plugins like Adobe Flash Player and Adobe PDF Reader can also be sandboxed. If a malicious script runs in one tab, it is unable to compromise the rest of the system – theoretically – as the whole process runs at a lower privilege level. Currently, the only of these browsers which support sandboxing are Internet Explorer 9 and Google Chrome. Only Chrome sandboxes plugins like Flash and PDF Reader, giving it an edge in security. The following video explains how sandboxing works:
The annual Pwn2Own contest pits security researchers against browsers, with a cash prize and ownership of the compromised computer for the winners. Google Chrome is the only browser which has yet to be compromised in the Pwn2Own competition, which is largely attributed to its sandboxing security.
Of course, you would prefer never to be exposed to a malicious script in the first place. Most browsers now have an option to check a database of known malicious sites, and will try to prevent you from visiting them. Chrome and Firefox both use Google’s SafeBrowsing database to check whether pages may be hazardous. Internet Explorer uses Microsoft’s SmartScreen Filter. Neither Opera nor Safari supports any such feature.
And the Winner is…
It all comes down to what you, as a user, need. Firefox and Chrome are the most customizable browsers, and rank similarly in speed. Firefox and Internet Explorer have an edge in accelerated 2D graphics, but Chrome can play more HTML5 videos and implements the most HTML5 features.
Overall, despite marked improvements in standards compliance, Internet Explorer 9 still lags in supported HTML5 features, Acid3 compliance, and video codecs. While it will work fine for many users, the true super user will likely find it inadequate. Safari on Windows has a poor user experience, is comparably slow, and lacks many HTML5 features. Opera seems to be hovering in the middle – not excelling in any one category, but consistently performing well.
Filed under Browsers