When and where I fell out of love with Firefox

August 13, 2012

Okay, the title of this entry is a little bit of an exaggeration; I was never really in love with Firefox. But I certainly spent a long time being comfortable with it and that's pretty close. What started me thinking about this is the widely-spread article Everyone hates Firefox updates, which casts Firefox's frequent updates in a very dim light.

For me, this is part of the story but not all of it. Actually, Firefox updates don't particularly bother me by themselves (partly because I do not auto-apply them). What did it for me with Firefox is two factors. The first and lesser is addon compatibility, where for a fairly long time each new Firefox release declared itself incompatible with all old addons. Either every addon you wanted to use had to be updated for the new Firefox or you had to override the compatibility. Since addons are a crucial part of my Firefox experience, upgrading required both a delay and an annoying testing process.

(This default incompatibility was especially stupid because it was often basically artificial. Not infrequently the only update many addons required was to increase the 'compatible with ...' Firefox version number in their metadata.)

But for me the big problem has been that Firefox has consistently gone downhill in performance and 'durability' (the ability to just leave it running). As I've written about before, in the old days I could leave Firefox running for months, even with a certain amount of JavaScript being used every so often, and it performed very well. Since I've updated to modern versions of Firefox, things have decayed to the point where I have to restart Firefox every few days (or less), due to memory bloat and accompanying performance problems. Although I found and fixed one source of memory bloat, the overall problem is still there and I am still restarting Firefox very frequently (for me).

In short, Firefox used to be a program that I could ignore and just count on; it pretty much just worked and didn't need any particular care. These days Firefox requires regular tending and attention. It has stopped being transparent and started becoming a source of friction in my computing environment, something that I have to worry about and concern myself with.

Unfortunately, I don't really expect this to get any better over time. I've come to believe that my browser usage model is very significantly different from what the Firefox developers target; for example, I doubt that they target long-term (multi-day, even multi-week) stability.

(As before, Chrome would be worse for my web browsing. Partly it is that Chrome continues to be a worse environment for addons than Firefox is, and partly it is that Chrome has various little glitches and differences from Firefox.)

Comments on this page:

From at 2012-08-14 14:31:18:

Don't forget that the web is changing also. Sites are adding more and more crappy javascript widgets, etc... This type of stuff easily adds to memory bloat that the browser has no control over.

By cks at 2012-08-14 16:12:32:

I almost never allow sites to run JavaScript (and even then, generally not for long). On the other hand, the growing complexity of the web has contributed to increasing the number of Firefox extensions that I use (and their size). On the third hand, Firefox leaks memory over time even with a consistent set of base windows and with JS off.

(I may be suffering from a compartment leak with my current setup, but I don't know what extension might be causing it and trying to find out is going to be a pain.)

From at 2012-08-14 21:25:01:

For me, Firefox became completely unusable in the stretch from 3.0 to 4.x – to the point of second-long pauses on every click, and occasional minute-long ones. 100% CPU was par for the course. I was forced to switch to Chrome, which cuts against my grain in every way. I have written rants about its bookmark management, and its extensions have always felt like foreign bodies in the browser, limited in power and with janky UIs. But I had no other choice. Those days were dark with frustration.

Then Firefox 5.0 made a dramatic leap in responsiveness that made me leap with hope. But ultimately I stayed on Chrome. Firefox was usable again, but only for a short while before it required a restart to slough off the quickly accumulating lag. Chrome at that time also ran circles around Firefox on JS-heavy sites like the current incarnation of Flickr.

But Firefox got better with each version. Once FF8 rolled around, I gleefully ditched Chrome, never to return to it. The issues I’ve had with it from the start have never improved. (It continues to lead a lonely existence on my machines just so I wouldn’t have to install Flash in Firefox. That’s all it’s for any more to me, it’s a wrapper around Flash.)

With each version since 5.0, Firefox has gotten better, and then better again – CPU load and memory consumption both have gone way down. And the news out of the Memshrink and Snappy teams sound great (e.g. Firefox 15 will ship with a mechanism to drastically cut down on leaks caused by extensions). It is a ways from perfect still, but it is well sufferable today.

I await now the day when an idle Firefox instance with 100 tabs open runs up no more CPU load than one with 5 tabs one. Nowadays it really looks as if we’ll get there, some time though it may yet take. The competition from Chrome has done Firefox a world of good.

So there you have my experience with the browser. From my perspective I’d say: just wait a while and see.

Aristotle Pagaltzis

By trs80 at 2012-08-15 09:23:47:

I have to agree with Aristotle; the version in squeeze was a lot slower than in lenny, and rapid release was pretty bad. But they've improved the upgrade process a lot (auto-marking extensions as good), and Firefox 14 is decidedly snappy.

Frankly Chrome (not that I've used it seriously in a while) sucks a lot of RAM too; whether that is worse than Firefox's appetite for CPU is open to argument.

From at 2012-08-15 17:14:00:

Chrome is in fact very memory-hungry. It is blazing fast but you pay for that with lots of RAM for each tab (actually process, to be precise – it does not spawn another process for every tab). Up to a dozen it is reasonable, and another dozen are OK, but it is not suited to someone who routinely has 50 or 80 tabs open. And once you really pile on the tabs beyond that, the UI gets into serious trouble even keeping up with user input, until eventually it becomes entirely incommunicado – even though the pure rendering inside individual tabs remains snappy (once the OS has finished paging in their data, that is…). You can viscerally sense the multiprocess model within.

Aristotle Pagaltzis

Written on 13 August 2012.
« A nice illustration of the cost of creating and destroying objects in Python
The historical background of the *BSD 'base system' versus Linux »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Mon Aug 13 22:20:38 2012
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.