Firefox 3.6 Performance: Startup and Snappiness Improvements
Posted: January 21, 2010 Filed under: firefox, mozilla | Tags: firefox, Firefox3.6, Mac, Performance, startup 17 CommentsFirefox 3.6 was released today! For me, the most important changes in this release are the performance and stability improvements. On Mac especially, there are some big improvements in startup time, yielding up to 30% faster startup generally. And on both Mac and Windows, we fixed some pathologically bad startup scenarios.
The list of bugs fixed that specifically affect startup time is here, however a few should be called out individually:
- Ted Mielczarek and Drew Willcoxon combined all .xpt files into a single one, reducing the number of files read from the disk at startup.
- Rob Strong removed the need for services to load at startup for timer registration, reducing the number of files read from disk at startup, as well as reducing the amount of JavaScript executed. There are still services that need to be ported to this new scheme, so expect more improvements here.
- Vlad Vukicevic found that on Mac it could take up to a whole second to initialize Growl, if present. His fix initializes Growl on demand.
- Joel Reymont found that up to 10% of startup time on Mac was in the initialization of fonts. John Daggett and Jonathan Kew did some great work to reduce the problem in Firefox 3.6. They subsequently modified font loading on Mac to occur on-demand, so the next release will be even faster.
- Joel also found that up to 12% of startup on Mac was spent in some APIs that were only needed for debugging. The problem was quickly fixed by Masayuki Nakano.
- Taras Glek and Alfred Kayser spent a bunch of time improving the performance of how JARs are loaded and read from. The infrastructure improvements made are paying off as we move more groups of small files into these archives, reducing the number of individual file operations that occur at startup time.
- On Windows, it was found that a large portion of startup time was spent in the security libraries, building up entropy by trawling through IE’s cache folder and the Windows temp directory. Some Windows users reported upwards of 25k files in their temp directories, so you can imagine the delays that this behavior was causing for some users. The behavior is now fixed.
The full list of bugs fixed in Firefox 3.6 with the “perf” keyword is here. These range from improvements to web page loading times, general UI responsiveness, and improvements to specific UI actions such as searching History and Bookmarks:
- One of the biggest improvements is that Shawn Wilsher ported all of the Awesomebar code to JavaScript and moved the queries that build up the results to a background thread. This resulted in a massive improvement in UI responsiveness when typing in the location bar.
- Another infrastructural improvement that will affect general responsiveness is Marco Bonardo‘s work to clean up the bookmarks and history database periodically.
- Per-tab-network-prioritization is the long way of saying that Firefox will prioritize the network traffic of pages you are currently interacting with. Paul O’Shannessy explains the feature here, and was able to finish it up in time to make 3.6.
- Finally, there are a TON of performance improvements to the JavaScript engine, which benefit just about every area of the browser, from startup time to page loading to extensions. Dave Mandelin put up a detailed post on Hacks.Mozilla.org last week that explains it all.
And all of this is just a taste of what’s to come: Over 60% of the bugs fixed as part of our focus on startup performance have landed on trunk, but didn’t make it in time for the 3.6 release. You can follow along on the wiki page for the startup project, and here on my blog, where I post status updates every Friday.
[…] in the Firefox 3.6 UI have gotten faster. For example startup time has been improved thanks to various optimizations. My personal favorite is the awesomebar is now asynchronous, if you don’t know what that […]
great job! really excited for the other 60% to see the light of day!
on my late 2007 MBP with a pretty old hard drive, ff36 does a warm start up in ~2 seconds. not too shabby! i remember the days when ff took ~6+ seconds (mere months ago)
Amazing work, keep it up!
It’s unusable for me on OSX Tiger (10.4.11).
Random strageness with click and mouseover, even in the chrome.
[…] It’s fast […]
[…] Des performances améliorées, notamment en ce qui concerne le moteur javascript et une meilleure stabilitée suite à la correction de nombreux bugs. […]
[…] January 22, 2010 A good week: Firefox 3.6 was released, and I’ve gotten a lot of feedback from friends and colleagues that startup has improved, and that it’s snappier than ever. Yesterday I blogged a roundup of the performance improvements in Firefox 3.6. […]
[…] that Mozilla dubs the “Awesomebar” — on all versions have resulted in what the company claimed were “massive improvements in [user interface] responsiveness when typing in the location […]
[…] address bar that Mozilla dubs the “Awesomebar” — on all versions have resulted in what the company claimed were “massive improvements in [user interface] responsiveness when typing in the location […]
[…] Untuk versi komputer Mac, misalnya, browser memulai tampilan awal lebih cepat 30% dari Firefox 3.5. Perusahaan juga mengklaim telah membuat perubahan dan peningkatan masif pada responsivitas antarmuka-pengguna saat mengetik di […]
[…] that Mozilla dubs the “Awesomebar” — on all versions have resulted in what the company claimed were “massive improvements in [user interface] responsiveness when typing in the location […]
[…] that Mozilla dubs the “Awesomebar” — on all versions have resulted in what the company claimed were “massive improvements in [user interface] responsiveness when typing in the location […]
Have the printing problems been fixed with 3.6? This was a big issue for many users at v3.0 and above. Any number of problems, including printing only headers and footers but no page content, etc. For many of us, the workaround was to copy the URL to IE and print from there. Not a very integrated approach. Comments anyone?
[…] Firefox 3.6 performance improvements. […]
FireFox browser is better
Thank you
Chrome is much faster, but firefox had it’s moments.
Lots of good plugins make it great.
I don’t notice much difference. Running XP-SP3 on P4/3.0ghz, 4gb RAM. Still 6 to 8 second start up (occasionally more). This is well after allowing Windows to fully boot, load drivers, etc. Clean PC, very little running in background, no active torrent client, no music sharing, no online backup, etc. I’m aware that sometimes people try to launch FF as soon as the desktop is up, but Windows of course still has to muck around for awhile before it’s ready for biz. In short, Mozilla still has plenty to fix in FF. Having a brutally fast PC helps, but is no substitute for coding issues.
Chrome is faster, but I regard Chrome as the black hole of the Borg – Google’s bait to collect surfing habits for refining its own search engine, and perhaps keeping other records. Yeah, I could just be a conspiracy nut, but given Google’s other less-friendly public stances, it’s reasonable to be suspicious of them.