Original Link: https://www.anandtech.com/show/16078/the-2020-browser-battle-surfing-with-speed
The 2020 Browser Battle: Surfing With Speed
by Brett Howse on September 10, 2020 8:00 AM EST- Posted in
- Software
- Browsers
- Mozilla
- Google Chrome
- Microsoft Edge
Accessing the internet is one of the most basic tasks for any computer, but webpages in 2020 are incredibly complex so how the browser interprets the code and renders it as a viewable webpage is no simple task. Modern browsers have both a rendering or layout engine, as well as a scripting engine, and both factor into how well the browser can handle any particular task.
When the web first evolved, it was more or less a static affair, with webpages laid out in HyperText Markup Language, otherwise known as HTML, but as time passed websites became more and more complex, with it not uncommon today to run applications that would have been compiled programs several years ago. As such, browser performance is still an especially important metric for any PC user.
For 2020, the browser landscape has been shaken again, with Microsoft abandoning their closed source browser and moving over to the open source Chromium project, which as the name suggests, is the basis for the popular Google Chrome browser. After being in development for over a year, Microsoft has started updating Windows 10 PCs from Edge based on EdgeHTML to the Chromium Edge. As such, we figured it was a good chance to take stock of the browser landscape and see how some of the more popular browsers fare in terms of performance and battery life.
Although the web is based on HTML, with a standards body approving changes to the base HTML and therefore a level playing field, over the years it has never worked out quite as well as hoped, with web developers focusing on particular browsers that are popular or they are comfortable with, so over the years we have seen quite a few periods where specific browsers have been favored over others. Most readers will likely remember the days of Microsoft’s Internet Explorer 6 dominance, where websites would often only work in IE 6 thanks to heavy use of ActiveX. Internet Explorer has been a dominant feature of business and enterprise intranet sites, to the point where Microsoft is still forced to include and update their ancient browser even as they would like to move on. But that was certainly not the only time that has happened. Microsoft had the shoe on the other foot with the rise of mobile computing, where Webkit was the predominant browser thanks to Apple’s Safari browser on iOS, and Google using Webkit as the basis for Chrome as well.
What this means is that the web landscape, despite being open thanks to a standards body, has never felt as open as it could have been. One dominant platform or another has tended to be the one to drive developers to utilize new features that may not yet be ratified as web standards, or not yet supported by other browsers. So, although there is likely a group of people happy to see Microsoft abandon their own browser engine and move to Chromium, for the web it is not necessarily a net positive to see so much consolidation.
Today’s web landscape heavily favors browsers based on Chromium, which of course includes Google Chrome, but also the new Microsoft Edge, as well as Opera, Vivaldi, Brave, and quite a few more. Mozilla Firefox is the rare exception, with Mozilla developing their own browser engine in Gecko with Spidermonkey for scripting. Apple continues to offer Safari with Webkit, of which Chromium forked into Blink back in 2012.
2020 Web Browser Comparison | |||||
Name | Rendering Engine | Scripting Engine | Version Tested | ||
Google Chrome | Blink | V8 | 84 | ||
Microsoft Edge Classic | EdgeHTML | Chakra | 18 | ||
Microsoft Edge Chromium | Blink | V8 | 85 | ||
Mozilla Firefox | Gecko | SpiderMonkey | 79 | ||
Opera | Blink | V8 | 70 | ||
Internet Explorer | Trident | Chakra (JScript) | 11 | ||
Apple Safari | WebCore | JavaScriptCore | Not Tested |
Although each browser has their own advantages in terms of features, design, and privacy, today we are going to just focus on how each browser performs. When an application is run on your desktop, most of the time it is going to be code that is written, then compiled. On the web, the code is not compiled, and instead the browser relies on its ECMAScripting engine to perform Just-In-Time (JIT) compilation. Because of this, browser performance is heavily impacted by how that scripting engine performs. We have seen advances in the scripting engine improve browser performance over time, as well as sometimes finding degradation as the engine is updated. And, of course, from time to time we have seen various vendors add specific code to deal with popular scripting benchmarks of the day.
The other side of the equation is battery life, meaning how efficient the browser and scripting engine is. The decline of the desktop has been happening for years with laptop sales continually outpacing desktops, so more battery life from your browser is likely a welcome addition.
For this test, we will be focusing on some of the more popular browsers available on the PC. As more of them consolidate around Chromium, we figured it was a good chance to look at how each browser performs, as well as look at the outgoing Microsoft Edge and even Internet Explorer to see if Microsoft has had to sacrifice performance during this transition.
Scripting Performance
As websites have gotten more and more complex, the browser’s scripting performance has continued to be extremely important. To quantitatively analyze this performance, we turn to several web-based scripting tests. The specific tests we normally leverage are being expanded to include a wider variety of workloads to get a better handle on how each browser can handle them. And, just for fun, we are including some incredibly old scripting tests just to show why they are not used any longer.
As far as hardware we are turning to the Microsoft Surface Laptop 3, featuring the Intel Core i7-1065G7 which is based on Intel’s 10 nm Ice Lake platform. It is set to run in its maximum performance mode during these tests to give the CPU its maximum boost.
WebXPRT 3
Rather than focus on a specific function, Principled Tehcnologies developed WebXPRT to simulate several real-world tasks with HTML5 and JavaScript, including photo enhancement, OCR scanning, AI, and more. If you would like to delve into how this benchmark works, and how the score is calculated, check out the report on WebXPRT as well as scoring.
In this first test, Firefox is the clear winner, easily outclassing all of the Chromium browsers which are all within a few points of each other. Interestingly, classic Edge and new Edge are almost tied. Internet Explorer does not fare as well.
Speedometer 2.0
Created by Apple’s WebKit team, Speedometer 2.0 is a relatively simple test which involves adding, completing, and removing items in a to-do list. Speedometer 2.0 was created to measure the browser responsiveness. The test performs the to-do tasks with some of the most popular JavaScript frameworks available, and the score is a geometric mean of the different implementations of the to-do app, and then an arithmetic mean of the geometric means for each iteration. Apple warns against comparing the scores of different browser engines as they will do different work, which is why we use the same browser in hardware reviews.
For this test with different browsers, the scores are actually fairly similar for most browsers, although classic Edge and Internet Explorer both do poorly, with the latter not even loading the page. Interestingly, Chromium Edge does outperform the other Chromium browsers by a few points here.
JetStream 2
Combining JavaScript and Web Assembly benchmarks, and featuring 64 subtests, JetStream 2 includes part of some older popular scripting tests such as SunSpider and Octane 2, and each benchmark is weighed equally in the results with a geometric mean over each individual benchmark score to provide the final JetStream 2 score.
Again, we see Microsoft’s Chromium Edge slightly edge (pun intended) the other Chromium browsers. Mozilla Firefox is not quite as fast here as the Chromium browsers, and classic Edge and Internet Explorer both failed to load the test at all.
Octane 2.0
The original Octane was released in 2012, and the later Octane 2.0 was one of the most popular scripting performance benchmarks around. It focused on peak scripting performance, and as is the case, over time browser scripting engines had optimized their code to solve many of the bottlenecks that Octane was originally designed to put a spotlight on, and as such, the benchmark was retired by Google in 2017. New bottlenecks that were not being represented in Octane were common in popular sites, and this is a typical scenario with all benchmarks, but the web moves at a rapid pace.
Here we see some wide variation in results, with Chromium Edge again at the top of the stack, followed closely by Opera, and of course both are based on Chromium, but Google Chrome was not as performant on this test. All of the Chromium browsers did outperform all other browser though, with Firefox slightly behind Chrome here. Classic Edge was a bit further back, and of course Internet Explorer with its very outdated scripting engine was far behind the rest, although at least this test did run in IE 11.
Kraken 1.1
Created by Mozilla, Kraken runs several test cases from real-world applications and libraries, and includes 14 subtests. Results are reported in milliseconds to complete the tests, and as it is time-based, lower results are better.
Mozilla Firefox is our fastest browser in this test, although only by a hair. Again we see Microsoft’s implementation of Chromium Edge outperform the other Chromium browsers, although all of them are in the same range of results. Classic Edge takes a definite step back in performance here, and Internet Explorer trails the pack by a wide margin.
SunSpider 1.0.2
The last version of SunSpider was 1.0.2. Once this was likely the most popular scripting test around, and likely due to that, developers optimized their code to quickly overcome this test, and then found ways to work around it. SunSpider was retired and is no longer a relevant test, but since it is not too difficult to run, it was added just to see how modern browsers perform on it.
Interestingly Internet Explorer, and the newer browser based off of its code, classic Edge using EdgeHTML, both perform suspiciously high on this now retired benchmark. Whether that is due to Microsoft’s Chakra scripting engine still containing “optimizations” for SunSpider is somewhat irrelevant, as not only has the benchmark been retired, but both Internet Explorer and classic Edge are both also defunct as well.
Summary
With so many browser makers now using Chromium as their base, and contributing to its code, it should not be a huge surprise to see the Chromium browsers offering the highest scores here. Firefox does very well though, only a couple of points behind. Classic Edge, which has not been developed for over a year, is still quite compatible, but poor Internet Explorer is way behind the rest.
HTML 5 Compatibility
Finally, to see how many HTML 5 features are supported by each browser, each one was run against http://html5test.com/ which compiles a score out of 555, with scoring being based on how many HTML5 specifications, popular draft standards, and WebGL, and IndexedDB / Web SQL. A higher score means the browser supports more of the tests, which in theory means that the browser should be more compatible with more websites, although that is certainly not always the case.
Web Browser Battery Life
It would be hard to argue with how pervasive and important the internet is, so “browsing the web” is a critical function for laptops. Gone are the days of browsing static content on Geocities and instead the web is now the home to critical business applications, communication, and of course, entertainment. Finding a few more minutes of battery life just by using a different browser might be the difference between getting through a workday, and not.
To see how each browser performed, the Surface Laptop 3 15-inch had the brightness dialed into 200 nits, and each browser was run through our quite demanding web workload until the system turned off, and then the test was repeated to ensure there were no anomalous results. All the browsers were tested at least twice, with the exception of Internet Explorer 11, which was not tested, because you should really not be using it.
One of the biggest questions going into this was what impact Microsoft would see moving from their EdgeHTML and Chakra based browser in the classic Edge, to the Chromium version. Microsoft touted their battery life significantly when Edge was the new browser on the block, and for good reason. As you can see, classic Edge provided significantly better battery life than any other browser used. When your pool of energy is a fixed size, squeezing out extra runtime is not a trivial undertaking, and Microsoft has certainly given up some battery life to provide a more compatible browser.
Looking at the Chromium based browsers, which are the new Edge, Chrome, and Opera, and they all more or less fall in the same range, with only twenty minutes of runtime between the three, but as we saw with the scripting tests, Edge was able to provide just a bit more battery life than the others.
Firefox, while competitive, is over thirty minutes behind its closest competitor. It is likely not enough of a difference to spur anyone from moving away from Firefox if they are happy with its other features, but the Mozilla team is not quite up to par in terms of energy use.
What’s in a Browser?
Perhaps the most interesting part of testing these browsers is just how the results are a snapshot in time. With credit to Google, browser development happens at a very rapid pace, so these results may skew one way or another with time, with the tendency for better performance as time goes on, but sometimes there is some degradation as well. It will be interesting to check back again in a year.
When Windows 10 was first announced, Microsoft was very keen to promote their new browser, eventually named Edge. They took their Trident rendering engine from Internet Explorer, and stripped it back to its core, then rebuilt it as a more modern, and more standards compliant browser than they had ever done previously. Unfortunately for Microsoft, Google’s Chrome browser continued to gain usage share, and with it came developers testing against Chrome. There was a years-long PR war with Microsoft begging developers to write websites to standards and features, rather than just based on a User Agent String, but that war was lost, and in a surprising, but also necessary move, Microsoft abandoned its browser and joined the Chromium gang. While it is great to see them embracing open source and the Chromium project, it is also somewhat sad to see the open web consolidating so much around Chromium. Firefox remains the only major browser in the PC space to not utilize Chromium. Apple continues to utilize WebKit, which was the code base that Chromium’s Blink came from, but Apple’s strong developer relations (current feuds not withstanding) and presence in the mobile market will keep WebKit as a valid option for them.
Google Chrome is currently the most popular browser on the PC
While there was no decisive winner in any category, there were trends in the data worth covering. First, the performance of all modern browsers is similar enough that choosing a browser based only on performance is not necessary. It should be features that drive usage, and it seems like we are close enough on performance to see that happen. Of the Chromium-based browsers, somewhat surprisingly Google Chrome was not the winner here, at least with the versions tested. Microsoft has made the best of their move to a new browser engine, outperforming both Chrome and Opera by a small margin in all tests. The differences were not massive, but they were there consistently. Mozilla Firefox was able to hold its own as well, scoring a few wins, and almost obtaining the same HTML5 score as well.
On the battery life side, it is clear that Microsoft did give up its advantage there, with classic Edge easily outclassing the field, but with low usage, and issues with website compatibility mostly stemming from the low usage, Microsoft will have to continue their efforts, but this time those efforts will be shared among all of the Chromium browsers. In our testing, Chromium Edge, as it did on the performance side, slightly outperformed Chrome and Opera. Firefox was not quite as competitive, but not so far from the rest that it would likely sway someone to use another browser over Firefox if that is already their preference, unless they really need that extra runtime.
It may seem a bit anti-climactic to say that all the browsers tested performed well, but that was the case. Choosing a browser based purely on performance is not necessary at the moment, as no single browser easily out-muscles its competitors. One of the big questions was in regards to Microsoft’s move from EdgeHTML to Blink, but it is definitely a win in terms of browser compatibility, and even if it did result in a net-loss of power savings, having a power efficient browser you can not use on your favorite website helps no one. Chromium Edge has been in alpha and beta versions for some time, and Microsoft started making it available as a released version earlier this year. The new Edge is great and should only get better. Whether it puts a dent in Google’s dominance is something only time will tell.