Wandering Thoughts archives

2012-08-17

How Firefox performs (and doesn't) for me

In response to my disenchantment with Firefox and especially my performance problems, a number of commentators talked about how Firefox performs for them. As a result I want to cover my Firefox performance stuff in more detail; since my Firefox setup and the resulting performance I get is a bit odd, this is an entry instead of a comment.

To start with, I keep Firefox running all of the time because of my Firefox remote control. My running Firefox has an essentially constant set of iconified base windows (in theory they are web pages that I am going to read sometime, and sometimes I actually do read one and close it) plus a parade of transient windows for whatever web page I'm consulting now. Because I'm a 'disposable usage' person, I open a new Firefox window for pretty much every URL I want to look at (or every web search I want to do) and then close the window when I'm done reading that page. What I consider the steady state or the base state of my Firefox is Firefox with all of those transient windows closed; this is how Firefox looks when I have just started it and when I'm done for the day.

(Partly because I'm a big believer in turning JavaScript off, none of the persistent windows and web pages I have sitting around are 'app' pages, things that run JavaScript and so on (so no Google Mail or the like sitting always active in a tab). I use an entirely different browser instance for those for reasons that don't fit in this aside. However, over the course of a day I do wind up transiently visiting various web pages that I have JavaScript enabled on.)

When it initially starts, my Firefox is snappy and responsive (and I believe pretty much always has been); operations like scrolling a page, clicking on links, or moving through Firefox's own popup menu are quick and happen without delays. It also has a relatively low memory usage, with a resident set size of under a gigabyte. Over the course of a couple of days of usage, both of these change; as I open new windows, use them for a bit, and then close them again, Firefox's memory usage and RSS size climbs and things start visibly stalling (both UI operations and eventually repainting windows). This is especially visible in UI elements that are handled by extensions and my canary in the coal mine has become FireGestures; when Firefox has bloated up and become slow, I may have to perform a gesture several times before FireGestures is actually invoked and reacts to it. All of this happens with just the consistent set of base windows, with all transient windows closed again. Of course, having lots of transient windows around at the time makes it worse.

This is not an issue of insufficient RAM; both machines that this happens on have 16 GB, most of which is unused, and the trouble starts when Firefox hits a RSS of only 1 GB and change. I don't think it's an issue of insufficient CPU but I'm not completely confidant of that (I haven't gone the extra distance to monitor Firefox's instantaneous CPU usage once it's bloated up). And the issue goes away entirely if I quit and restart Firefox (which winds up with exactly the same set of windows and URLs and so on that I had before the restart).

(The issue has also persisted across multiple Firefox versions, all the way up to the Firefox 14 build I'm currently using. I've flirted with nightly builds without improvement, but they were nightly builds.)

I'm not certain how many people keep long-running Firefox instances around these days, although I suppose the growth of things like Google Mail and other always-running web apps may have encouraged it. And of course the performance of a frequently restarted, short-lived Firefox is going to be fine in my environment; if I could live with the vague annoyance of restarting Firefox every morning I don't think I'd have any problems.

(There are undoubtedly performance problems even with a just-started Firefox in some environments. I just don't run into them.)

MyFirefoxPerformance written at 02:00:59; Add Comment

2012-08-13

When and where I fell out of love with Firefox

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.)

FirefoxDisenchantment written at 22:20:38; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.