In a recent quest to mostly automate my typical Arch Linux installation, I wanted to include a useful browser (or two) so decided to benchmark a handful of modern options. I say "or two" because while I've been a loyal Firefox user since it was the only capable browser that would compile on FreeBSD, my day job requires plugins which are only compatible with Chromium. I went into this fully willing to have a daily driver and a backup for specific plugin support.
Hardware and Approach
These days I spend 95% of my time on Arch Linux, whether desktop or laptop. I still have a work-owned Macbook I keep around "just in case" and because it's more convenient to travel with than my throw-away Ideapad (a rescued from the trash G510 that a SSD brought back to life). I decided to take advantage of everything I had on my desk, and test on the following three platforms:
- i5-4200M @ 2.5GHz
- 8GB RAM
- 1TB Samsung 860 EVO SSD
- Intel graphics 4600
- 5.9 kernel
- Ryzen 9 3950X
- 64GB RAM
- 1TB NVMe (Sabrent Rocket)
- AMD RX5700XT 8GB
- 5.8 kernel
- i9 @ 2.9GHz
- 32GB RAM
- 1TB NVMe (Apple SSD)
- Intel graphics 630 2GB
In all cases the browser was latest stable version at time of writing, stock install with no plugins (or plugins disabled), and cold-start results.
I found some surprising variance across runs when initially comparing Basemark. It would be worth redoing this to average a handful of test runs across tools/platforms, with a number of cold and warm boot tests, and also compare performance to nightly builds.
I decided to cut my (time) losses in terms of averaging multiple runs and wanted to stick to stable builds in my use case... Consider this your grain of salt warning. Since the benchmark tools are free and easy to use, I recommend testing your own hardware and considering this just another data point.
To test, I used Basemark and WebXPRT. There are plenty of browser test tools available, but these both receive a lot of press so I decided to limit my choices and get on with the testing. Here are the results:
Again, based on variance across runs and platforms, the ultimate takeaway might be to avoid putting too much stock in any one result or benchmark tool. Still, it is interesting to observe the differences.
Based on these results, Firefox seems to be a far better choice on older (or mobile?) hardware – blowing away the competition in both Basemark and WebXPRT scores. Since the other three browsers are all Chromium based, this seems to imply Quantum does a better job managing scant resources.
Looking at more modern hardware, Firefox gets left in the dust when comparing Basemark results – the lowest numbers in this category on both Linux and MacOS. It's relatively close to Ungoogled Chromium, but Vivaldi looks like a great choice on the Linux desktop.
Turning our focus to WebXPRT results, the pack stays a lot closer overall but Firefox eeks out a surprising lead on all three platforms. Impressive. Numbers never mean much without context, so my key takeaway is that it's worth looking at the test suite specifics to see which tests better match your typical use case.
Beyond the numbers, there are a few things which must be factored into my (and perhaps your) decision. One is ease of use. It's not insurmountable, but Ungoogled Chromium receives a ding in this area. In order to install plugins you have to jump through some extra hoops (you can't just go straight to the Chrome Web Store). The process is documented in their FAQ, but this along with other common tasks require extra steps.
On the security front, Brave takes the lead. It comes out of the box with HTTPS redirect (eliminating the need for HTTPS Everywhere), ad blocking (perhaps eliminating the need for uBlock Origin), and attempts to make it harder (but certainly not impossible) for you to be fingerprinted. There are some annoyances out of the box, but they can be disabled in settings.
When hopping across tools and platforms, there is also something to be said for consistent look and feel. While I'd be willing to use two browsers for specific use cases if performance was far enough apart, the appeal of consistent UX is at least somewhere in my consciousness as I'm typing this.
Initially I thought I would end up with Firefox as my daily driver and one of the Chromium based browsers as backup. Since I spend some time on all three platforms, I decided to leave emotion at the door (I've used Firefox a long time) and make a choice based on the Basemark and WebXPRT averages.
Firefox is a clear winner if only looking at WebXPRT, but Vivaldi comes in second place. Looking at Basemark, Vivaldi is a an unrivaled winner. Going with a Chromium browser alone ultimately means fewer things for me to install, configure and keep updated. One browser across all platforms gives me consistent UX. Based on all this, I've decided to try Vivaldi as my only browser on all three platforms. To be honest, I'd never taken it seriously before doing these tests... but it's performant, supports the Chromium plugins I need, is highly customizeable, and has decent themes out of the box.
What browser works best for you?
My daily driver is Arch Linux + bspwm. Alas, that is currently not a good combo with Vivaldi due to this gem. Stay tuned.