i can use firefox again!

So I've been complaining constantly that firefox is slow. But why is firefox slow? Apparently because it uses SQLite. The evidence is that a quick vacuum, as described by lifehacker, just made a noticeably huge improvement on startup time and interface responsiveness. Using FF isn't painful anymore.

Components.classes["@mozilla.org/
browser/nav-history-service;1"].
getService(Components.interfaces.
nsPIPlacesDatabase).DBConnection.
executeSimpleSQL("VACUUM");


This is great and all, but why do I have to do this again? Shouldn't firefox be able to tell when it's database is crufty, and run the vacuum itself? PgAdmin is quick to tell you when a postgres table needs a cleaning, and it's crap.

Come on Mozilla, this is huge. Huger than any new feature you're currently working on. Until today I was actively avoiding firefox for all but essential tasks. And this is me, the guy that was sad when Mozilla didn't hire him, but still kept telling everybody to use firefox. I haven't told anybody that for a while.

Firefox has always been a tinkerer's browser. It's gotten a lot more polish over the last couple of years, to where you start to think of it as mainstream. But as long as you have to know how the guts work to keep it going, it'll continue to be the linux of browsers.

2 comments:

Samuel Sidler said...

We're working on adding it to Firefox 3.6, but it's hard to do since (to be safe) it should be done with Firefox not running. Hopefully for 3.6, if not, then for 3.7.

leff said...

Good to know! I look forward to it. (and how!)

I appreciate the technical difficulty. But based on my experience with 1) the time it takes to vacuum, and 2) the time it takes to start up when you haven't vacuumed, it would be an improvement if the app ran the vacuum on every startup. It would have to come before the db got loaded, as you say, for safety, and that would cause a noticeable delay. But it would still be less of delay than non-vacuumed start up.

In otherwords, I vote for 3.6! I can't say it strongly enough. If 3.6 was nothing but this (and any essential security fixes), i'd be happy.