Has anybody had their Firefox get progressively slooower lately? I sure did.
Page rendering, view switching, and startup were noticeably laggier and getting worse by the day. Startup was the most troublesome. My homepage is a locally stored page of links, so it usually comes up as quick as the browser. But blank screen delays started happening, momentarily at first, then seconds, and finally as long as 15 SECONDS before it would render.
Poking around in the Profiles directory, I saw that places.sqlite had plumped up to 25 megs. Guessing that could be the culprit, I did a full delete of private data, cookies, history, offline, everything. Closed, restarted, checked again -- and it hadn't shrunk a bit. Nor was the browser any peppier.
So, I deleted places.sqlite, restarted, and got immediate relief. My browser's back in form.
I also noticed the default setting for history retention was for at least 90 days. I've lowered it to 20.
Unfortunately, there isn't a built-in way to compact the database. There are third party SQLite tools, and an
extension.
Unless there's something wrong with my browser, it looks like Firefox might have the same kind of problem IE has with its index.dat files, interminable bloat.
There is also another database file that tends to grow, urlclassifier3.sqlite, which holds URLS for known phishing and malware sites. Its current size is generally about 55megs (it's roughly the same for everyone who has never deleted it because gets updated periodically from Mozilla). It doesn't seem to affect performance in my browser, so I've left it alone, but it's non-compacted hugeness has prompted a
bug ticket.
NOTE: You probably don't want to whack your places.sqlite file like I did, unless you don't mind losing all history, offline browsing, and possibly your bookmarks. Save the bookmarks first in your manager, then check in the bookmark backups folder to make sure a fresh file is there. Make copies and/or export them as HTML too, if you want extra insurance. Your bookmarks should be recreated when Firefox makes a new places.sqlite.