Browser speed comparisons

how to test reports

A polite request

Please stop posting this article on sites like Slashdot, Digg, newspapers, etc. It is old news. This article is around 2 years old now (although it has been kept up to date), and has been retired - posting it simply shows how long it took you to find it. It has already been posted on Slashdot enough times, Digg more than enough times, similar sites more times than I can count, as well as newspaper sites all around the world, and far more blogs than I will ever be able to read.

I thank you for your attention, and I am very happy that you found this article interesting or useful enough to read. However, it really does not need you to post it yet again - all you will do is eat my bandwidth, and I ask you not to do that.

NYTimes, you may wish to note that this is a site where I publish research articles, tutorials, and scripts. It is not a blog (language warning).

What is this about

There is a speed war on the web. Browsers compete on many fronts; security, standards support, features and speed. Most people are aware of which major browser fails on three of these, but one of them is still open for grabs. Speed.

Many organisations and users try to claim that their browser is the fastest. The Opera site claims that Opera is The Fastest Browser on Earth. The Mozilla site claims that Firefox 1.0 empowers you to browse faster (faster than what?). Mozilla itself is quoted as being an alternative to Microsoft IE and it's faster to boot. Apple's Safari pages claim that Safari loads pages more quickly than any other Mac web browser (although they failed to show any results for Opera, and their charts fail to show results for pages that contain images). Internet Explorer users often claim that they use it because of its speed, as the alternatives take longer to start and load pages.

Opera and Firefox users are quite vocal on the subject, but none of them can actually show any research to back up their statements, ususally just saying "X takes way longer than Y to start" or "my friend uses X and it is much slower on his computer than Y is on mine". Those that did try more than one usually say "X just felt faster than Y when I tried them" (although this may refer to familiarity with the individual user interface - something that I do not cover here). I have even heard people comparing Firefox and Opera, then realised they were referring to Opera 6 (even though historically, Opera 6 is about equivalent to Netscape 4), something that was replaced with a completely new engine long before Firefox even existed.

Well, I've had enough of these unfounded arguments. I present my research. This is an honest, unbiased view (or as unbiased as I can be). Unlike most people, I not only test all the browsers, I test them all on the same computer as each other - grouped into Linux, Mac and Windows (using the same or equivalent hardware for each). This, I hope, gives an accurate comparison, not only of the browsers compared with each other, but for those that work on multiple platforms, it also gives a fairly accurate comparison of the different optimisations for each platform.

And please, those of you whose browsers did not perform as well as you had hoped, just accept it. Stop with the comments saying this article is biased. It does not matter what I use or you use. This article is not biased. The fastest browsers are the fastest browsers. I appreciate browsers for the sake of them being browsers. I feel no need to tailor tests or alter results to make a browser appear better or worse than it actually is.

The tests

In order to test each browser's speed response, I put them through a number of tests. Each test has a careful set of rules to make sure that I give unbiased results. Each set of tests are grouped by platform, and for each platform, I use just one computer to ensure that the tests compare just the browsers, and not the hardware or software they run on. Each test is done with a default browser install, without tweaking any settings (I know that many browsers perform slightly better if you tweak their network settings, but this is intended to be a test of a standard browser install - some people also suggest that using a native skin makes a browser faster, but I got virtually identical results with native and non-native skins). With Browsers that also offer email or news features, I enabled these clients, but did not have any email or news items in them (some of them may perform differently if they did, but that is not what I was trying to test).

The idea was to find out the fastest browser(s) at performing the major tasks that browser engines are expected to perform. The basic requirements were HTML, CSS, JavaScript, basic DHTML and images - if the browser engine was not capable of performing these tasks then I am not interested and it was not tested.

The tests are not perfect. Obviously nothing can be perfect. But they do give a very good idea of how each browser would cope in each type of situation. Importantly, the tests were not (intentially) tailored towards the strengths or weaknesses of any particular browser.

Cold start This is the time it takes to do a cold load. I log out then in, and then once all background processes have completed, I run the browser as the first program. I use the default settings for the browser, without preloading or quicklaunch tools (unless the browser installs itself this way, as with Internet Explorer on Windows). The browsers are all set to show a single page on startup, and this page is a locally stored basic HTML page. Warm start After completing a cold start, I close the browser, then time how long it takes to start again. I restart it again another two times, and take an average. Rendering CSS To test CSS rendering speed I use a CSS benchmark test devised by nontroppo. The test measures the time it takes the browser to render a page consisting of almost 2500 positioned DIVs. The page is stored locally, loaded once to pre-load it, then reloaded 3 times, and the average time taken for those three renderings. The page is the first page loaded after starting the browser (after logging out and in). All browsers took significantly longer during the initial load, which is why I discount this initial load, as it does not reflect the

reality of normal rendering. Rendering table To test table rendering speed I load a local copy of my javascript libraries page. I ignore this first load and then go back and click the link again (ensuring the page and all associated files are cached). I then use a script to time how long it takes to render the page. I take the average of three loads. Script speed To test scripting speed I use the fantastic benchmarking tool at This is intended for testing multiple browsers on one computer to see how well they perform compared with each other. Small variations in hardware or software can cause big differences in results so it is important that all tests are done on the same computer. After logging out and logging in, I load a browser, clear its cache, enable popups (a requirement of the tests), and then run the tests. The tool tests a good variety of different things, including mathematical calculations, DHTML, string manipulation, image swapping, table manipulation, page content manipulation and window management. With most browsers I test twice and take an average but I did not do that with iCab because it took half an hour the first time, and required me to sit there and babysit it, repeatedly telling it that the script was not an infinite loop, it was just a horrendously slow browser! Multiple images This is done to reflect normal web site handling. I make the browser load a page containing several small images. This requires multiple server connections (or keepalive) and is a good test to see how well the browser manages its network connections, as well as how well it can cope with rendering multiple images simultaneously. After logging out and logging in, I load a browser, clear its cache, then I use Google image search to search for the word 'solid'. This ensures that any referenced pages are pre-cached, and any required DNS lookups are completed, to minimise the effects of DNS delays. Then I load use Google image search to search for three more words (pine, red, stone - don't blame me for the results that come up, I wasn't expecting them either), and I use the average load time of these three pages. (The timer starts when I hit 'search', and stops when all images have completed loading.) My connection speed is 100 Mbps and has no discernable effect on the results. I have also tested it on a 700 Kbps connection and got similar results. Google search time is typically below 0.03 seconds. History Something that is commonly overlooked when checking browser speed, but is very important to overall browsing speed. I use Google image search to search for pine. and I navigate through the result pages 1 to 25. I then start the timer, and go back as quickly as possible to the first result page, then forward as quickly as possible to page 25 again. Each intermediate page must be allowed to load completely - including images - before moving to the next page. (This means that any indicators that the browser provides to show that the page is loading must show the page as loaded before navigating to the next page). I use the fastest means the browser has to navigate, which typically means using keyboard shortcuts. This test demonstrates how efficiently the browser uses caching in order to improve browsing speed.

Note: I did not test plugins like Java or Flash, as these are external programs, and not the browsers themselves. They are affected much more significantly by their own version numbers or memory contraints of the Operating Syetem, and are not really in the browser's own control.

Test results

Sorted alphabetically:

Test results are shown by default in tabular form. If your browser's scripting engine is up to the task, you can click on the column headings to sort the table by that heading. The fastest browser is marked in each test using light green, or salmon if it was the fastest, but made mistakes trying to obtain that speed. Some results also have more information, that will appear in a tooltip when you hold your mouse over the result. These can be identified in good browsers (I have done an ugly DHTML behaviour to make this happen in Internet Explorer as well - this excuse-for-a-browser is really annoying me) by the Help cursor that the mouse should use while you hold it over those results, and by the » character.

If your browser's scripting engine is good enough, and you enable script, you can view the results in graph format, where you can choose what operating system or browser you want to see results graphed for.

Linux browsers

The tests are done on SuSE Linux 9.1, using KDE (except Epiphany, whose results are shown for Gnome, as that is its normal operating environment). I also tested the browsers on Gnome, but only got significantly different results in Konqueror, so that is the only browser's result I will show for both Gnome and KDE. I only concentrate on the main Gecko based browsers - there are many variants available. Mozilla (SeaMonkey), Firefox and Epiphany are the ones I will test, as these are either the official releases from, or the official browser of the Gnome DTE. I could not test Galeon (one of the most popular Gnome browsers) as it was not available for the Mozilla version I had installed. However, since it is just a fancy skin for Mozilla (like Epiphany), it's times are likely to be similar to Mozilla's. Opera 8 tests were done using Opera 8 beta 1. Mozilla 1.8 tests were done using Mozilla 1.8 alpha 6. Firefox 1.5 tests were done using Firefox 1.5 beta 2. Opera 9 tests were done using Opera 9 technical preview 1.

NOTE: I have updated the page after discovering that I had done the multiple image test with Opera 8 on Linux set to 'ID as Opera' (not the default setting). This is important because Google uses the wrong HTTP header to check if the browser can handle a gzip compressed page, which Opera can. Instead of checking the Accept-Encoding header, which correctly says this, they check the User-Agent, and only use gzip if the browser claims to be Mozilla or MSIE (other browsers like Safari and Konqueror are also included in this). Setting Opera to use 'ID as MSIE' (default setting) or 'ID as Mozilla 5.0' makes Google send it the compressed version as well. This makes a huge difference, from Opera appearing to be almost the slowest at 2.50 seconds, to being clearly the fastest at 1.82 seconds.

Hardware; 800 MHz Intel Pentium 3, 256 MB RAM.

Linux speed chart - times are given in seconds - enable script to sort tables and graph results.


Category: Bank

Similar articles: