Opened 5 years ago

Closed 5 years ago

#177 closed defect (worksforme)

Firefox startup still slow and causes potential unresponsiveness after startup (follow up to #117)

Reported by: Ede_123 Assignee:
Priority: Unknown Milestone:
Module: Adblock-Plus-for-Firefox Keywords:
Cc: trev Blocked By: #153
Blocking: Platform:
Ready: no Confidential: no
Tester: Verified working: no
Review URL(s):

Description

I'm afraid #117 is not yet fixed. Startup times aren't almost as fast as without Adblock Plus as advertised in https://adblockplus.org/development-builds/faster-firefox-startup:

Running Firefox 28.0 on Windows 7 x64 I measured the following startup times ("firstPaint") with a clean profile:
1428 ms mean (over 7 startups) with Adblock Plus disabled
2544 ms mean (over 9 startups) with Adblock Plus enabled (2.5.1.3781)
4780 ms mean (over 6 startups) with Adblock Plus enabled (2.5.1 stable)
This slowdown of 78 % would be OK (although not nearly as fast as trev measured above) in principle, but I noticed that an additional lag is introduced directly after startup (ABP icon takes about 3-4 seconds to appear; Firefox UI is sluggish during this time).

When using my productive Firefox profile the improvement is even gone:
2488 ms mean (over 7 startups) with Adblock Plus disabled
5703 ms mean (over 6 startups) with Adblock Plus enabled (2.5.1.3781)
The latter value is about what I got with Adblock 2.5.1 stable. However I can't notice any lag here, so I assume "firstPaint" is delayed by some other Add-On I'm using until ABP has finished it's "post startup work".

For the tests above I subscribed to the following filter lists:
EasyList, EasyList Germany, EasyPrivacy, Fanboy's Social Blocking List, Adblock Warning Removal List

Details can also be found in the relevant forum thread (https://adblockplus.org/forum/viewtopic.php?f=11&t=19901)

Attachments (1)

d40bd6a41276ebb3795cb50422975481.jpg (67.3 KB) - added by Slavon 4 years ago.
http://kdkraftupwnkitchen.tumblr.com/

Download all attachments as: .zip

Change History (11)

comment:1 Changed 5 years ago by trev

  • Blocking 117 added

comment:2 Changed 5 years ago by trev

In #117 I was looking at sessionRestored, not firstPaint - but it shouldn't make a real difference. Also, I was using the about:startup extension which is presumably what you were using as well. Note that the first startup after you enabled/disabled/installed an extension should be ignored, it always takes longer. I tested again, this time noting firstPaint and in different configurations (always with Adblock Plus 2.5.1.3781):

OS X 10.9, Firefox 31.0a1 20140319030201, my usual test profile (multiple filter subscriptions)

  • With Adblock Plus: 752, 761, 810, 749, 748; median is 752ms
  • Without Adblock Plus: 729, 724, 724, 711, 706; median is 724ms

OS X 10.9, Firefox 28.0, my usual test profile (multiple subscriptions)

  • With Adblock Plus: 751, 766, 776, 752, 764; median is 764ms
  • Without Adblock Plus: 720, 742, 702, 740, 732; median is 732

OS X 10.9, Firefox 31.0a1 20140319030201, clean profile (default filter subscriptions)

  • With Adblock Plus: 801, 780, 883, 797, 798; median is 798ms
  • Without Adblock Plus: 750, 783, 764, 763, 749; median is 763ms

Note that I did this measurement twice and originally I got 240ms overhead here - with Adblock Plus the median was 1022ms. It's unclear what was causing this discrepancy. After testing Firefox 28 with the same profile and then the nightly again the results were in the expected range.

OS X 10.9, Firefox 28.0, clean profile (default filter subscriptions)

  • With Adblock Plus: 762, 805, 827, 792, 779; median is 792ms
  • Without Adblock Plus: 854, 861, 749, 765, 723; median is 765ms

Windows 7 x64 VM, Firefox 28.0, clean profile

  • With Adblock Plus, default filter subscriptions: 848, 972, 757, 835, 701; median is 835ms
  • With Adblock Plus, subscriptions as listed in issue description: 656, 587, 703, 4503, 570; median is 656ms
  • Without Adblock Plus: 513, 531, 434, 4794, 463; median is 513ms

Summary

All in all, what I can see on my hardware is fairly consistent: Adblock Plus adds roughly 30ms to the startup time which is quite in the range I would expect. There was one measurement with significantly higher delays but that isn't reproducible consistently. I'll try to reproduce and find the cause.

I also tested in a virtual machine with Windows 7, the results are less stable there as you would expect - virtual machines are not suitable for precise time measurements. Also, there are occasional 4 second delays at startup happening both with and without Adblock Plus. Still, the Windows results don't seem out of the ordinary, even with a large number of filter subscriptions.

As to the cause of the issue, my suspicion would be some blocking I/O calls that we still have (that would also explain Firefox behaving sluggish). #153 would help with that.

comment:3 Changed 5 years ago by Ede_123

Thanks for the detailed reports! As for your measurements on OS X it really seems to run smoothly. Maybe it is a problem exclusive to other operating systems / Windows?

Also note that I have a "good old" HDD in my computer (I don't know what you used in your tests). Maybe this matters if I/O isn't optimal yet and reinforces the problem?

comment:4 Changed 5 years ago by trev

  • Blocking 117 removed

comment:5 Changed 5 years ago by trev

  • Blocking 117 added

comment:6 Changed 5 years ago by trev

  • Cc trev added

Yes, I have an SSD in my laptop which is one reason why I suspect the issue might be I/O related. I could run my tests on other hardware but right now it seems that my time is better spent resolving #153.

comment:7 Changed 5 years ago by trev

#153 is currently under review. It would be great if you could try installing a build with the fix from https://issues.adblockplus.org/raw-attachment/ticket/177/adblockplus-2.5.1.3783.xpi - that one no longer accesses the hard drive on the main thread. For me the results are pretty much the same as what I've seen before.

comment:8 Changed 5 years ago by trev

Removed the attachment, official Adblock Plus 2.5.1.3785 development build will be out in 10 minutes.

comment:9 Changed 5 years ago by Ede_123

Great! The new version is a real improvement on my system. New measurements with Adblock Plus 2.5.1.3785 yield:

"firstPaint" with a clean profile:
946 ms mean (over 9 startups) with Adblock Plus disabled
1192 ms mean (over 9 startups) with Adblock Plus enabled
-> 26% increase

"firstPaint" with my productive profile:
2555 ms mean (over 9 startups) with Adblock Plus disabled
3723 ms mean (over 9 startups) with Adblock Plus enabled
-> 46% increase

I think this could be considered a reasonable result now!

Small lags after startup are still present on my system (with both profiles) although much less severe since Firefox isn't completely locking up during this time but keeps responsive (yet sluggish).

comment:10 Changed 5 years ago by trev

  • Blocked By 153 added
  • Blocking 117 removed
  • Resolution set to worksforme
  • Status changed from new to closed

Let's consider this "worksforme" then - the bulk of the issue was apparently due to #153. The rest is still something to look into but should be unavoidable overhead to a large part.

Note: See TracTickets for help on using tickets.