Closed Bug 1192585 Opened 9 years ago Closed 7 years ago

[e10s] extremely slow page loading with Tab Mix Plus on e10s when there are many tabs open

Categories

(Firefox :: Extension Compatibility, defect, P1)

42 Branch
defect

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
e10s + ---
firefox42 --- affected

People

(Reporter: alice0775, Unassigned)

References

Details

(Keywords: perf, Whiteboard: triaged)

User Story

Comment 26 has exact benchmark details...

The problem is TMP increases page loading times and makes browser much less responsive when there are many tabs loading at once. The bigger the number of tabs loading, the worse the performance regression. At 40+ tabs browser becomes noticeably less responsive.

STR:
Create new Nightly profile, launch it, install Tab Mix Plus (release or dev, doesn't matter), install AdBlock or uBlock (release or dev, doesn't matter)
Enable multi-row tab bar in TMP settings, set number of rows to 9

Then open 40+ tabs and measure time until all tabs are loaded. I've already done similar tests, you can see the results and methodology here: http://i.imgur.com/wVsZo0N.png

40 tabs:
Without TMP: 13sec/1m36sec
With TMP: 17sec/1m48sec
70 tabs:
Without TMP: 15sec/2m54sec
With TMP: 1m26sec/4m21sec

100 tabs:
Without TMP:29sec/4m39sec
With TMP:4m44sec/12m+

In the last test TMP is 10 times slower than Nightly without TMP! How is that possible?

Attachments

(1 file)

Build Identifier:

https://hg.mozilla.org/mozilla-central/rev/943b79d9c65f
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0 ID:20150808030207


Reported http://forums.mozillazine.org/viewtopic.php?p=14272805#p14272805


This problem does not occur when e10s is disabled.

Steps to reproduce:
1. Install Adplock Plus https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/
2. Install "Add Fanboy Complete Adblock list" from https://www.fanboy.co.nz/filters.html
3. Open https://en.wikipedia.org/wiki/List_of_country_calling_codes

Actual Results:
It takes +30 sec to page show

Expected Results:
It should be within 5 sec
Keywords: perf
QA Whiteboard: [bugday-20150803]
Component: Untriaged → Extension Compatibility
more pages where this reproduces for me:

www.extremetech.com
many bugzilla pages.  eg.  https://bugzilla.mozilla.org/show_bug.cgi?id=709490
OK, so i found the bug.
This slowdown only happens if you have enabled "count filter hits" in ABP settings.

If you disable that setting, there is no slowdown.

With that setting disabled, the URL in comment 0 loads fast enough.
Flags: needinfo?(alice0775)
Attached file testcase.htm
testcase of sorts. It is just the html version of the page at https://bugzilla.mozilla.org/show_bug.cgi?id=709490
(In reply to mayankleoboy1 from comment #4)
> OK, so i found the bug.
> This slowdown only happens if you have enabled "count filter hits" in ABP
> settings.
> 
> If you disable that setting, there is no slowdown.
> 
> With that setting disabled, the URL in comment 0 loads fast enough.

confirmed.
Flags: needinfo?(alice0775)
Steps to reproduce:
1. Install and run Firefox Developer or Nightly and enable e10s
2. Install AdBlock Plus stable or developer version, add any filters
3. Go to http://www.youtube.com
4. Firefox load youtube slow, but accetable time
5. Login on http://www.youtube.com
6. Firefox now load http://www.youtube.com ultra slow and each page with youtube sites, when you logged on Youtube. Not help turn off AdBlock Plus on this site. Help only disable AdBlock Add-On or disable e10s in FF Developer or Nightly.

Actual results:
Firefox load youtube sites with AdBlock Plus, ultra slow when you are logged and e10s is enabled

Expected results:
Help only disable e10s or disable AdBlock Plus
Is this still an issue with Adblock Plus 2.7? This is likely a dupe of bug 1161798.
(In reply to Wladimir Palant from comment #8)
> Is this still an issue with Adblock Plus 2.7? This is likely a dupe of bug
> 1161798.

I can still see the slowness problem.


Initial loading of the page,
enabled e10s  : ~12sec
disabled e10s : ~5sec

Reloading(F5) of the page,
enabled e10s  : ~10sec
disabled e10s : ~3sec

https://hg.mozilla.org/mozilla-central/rev/8c9825377d0d8115e9fed64fd3700b1e54700dbe
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 ID:20151221114259
Yes, I see that as well - not an extreme slowdown like the one you've seen before but still. This page produces 700+ content policy calls, each results in a sync message to the parent process (because nsIContentPolicy doesn't support async responses). The processing time is negligible but the IPC overhead indeed seems to amount to 7 seconds.
(In reply to Wladimir Palant from comment #8)
> Is this still an issue with Adblock Plus 2.7? This is likely a dupe of bug
> 1161798.


Can still reproduce the STR of comment 4 with the latest nightly and ABP 2.7.
(In reply to Alice0775 White from comment #6)
> (In reply to mayankleoboy1 from comment #4)
> > OK, so i found the bug.
> > This slowdown only happens if you have enabled "count filter hits" in ABP
> > settings.
> > 
> > If you disable that setting, there is no slowdown.
> > 
> > With that setting disabled, the URL in comment 0 loads fast enough.
> 
> confirmed.


Yes help disable preference in ABP. This is bug in function "count filter hits. Thx for info. I have developer versions: ABP Plus and Element Hiding Helper.
(In reply to mayankleoboy1 from comment #11)
> (In reply to Wladimir Palant from comment #8)
> > Is this still an issue with Adblock Plus 2.7? This is likely a dupe of bug
> > 1161798.
> 
> 
> Can still reproduce the STR of comment 4 with the latest nightly and ABP 2.7.

Yes, still reproducible. And goes away by disabling "count filter hits"
I identified https://issues.adblockplus.org/ticket/3473 to be the underlying bug. No idea how this went unnoticed for so long but there is no relation to E10S.
The Adblock Plus ticket mentioned in comment 14 was closed five months ago, but slowness with Adblock Plus was mentioned yesterday (http://forums.mozillazine.org/viewtopic.php?p=14627069#p14627069).

What is the current situation? Was the problem in this ticket fixed on the Adblock Plus side or was the underlying performance problem never fully fixed?
We are currently not aware of any issues affecting page loading speed, unless Blockable items list is open (that particular issue seems to be a recent regression in Firefox nightlies).
Hello! I am the author of the post on mozillazine from the comment above. I ran a bunch of tests lately and was quite surprised that AdBlock Plus that is supposed to be fully e10s-compatible causes a very big performance regression on my machine. Basically, webpages load much slower when loading 15 tabs or more with AdBlock Plus installed and e10s enabled (compared to vanilla Nightly with e10s on).

Now my test results and testing methodology.
Nightly 2016-06-12, AdBlock Plus and Tab Mix Plus installed. AdBlock settings: default, "allow some non-intrusive advertising" off, 5 standard subscriptions enabled, RuAdList+EasyList enabled. TMP Settings: default, multirow tab bar enabled.

I open 9 tabs [Group A], wait until they load and then start loading a new bookmarked group of tabs [Group B] using "Open all in tabs". Then I measure two things:
1. How long it takes before tabs from Group A are readable (white page+rotating circle with e10s/white page without e10s disappears)
2. How long it takes to load all tabs from Group B. 
After that I restart the browser and repeat the cycle with a new Group B with different number of tabs. Results:

1) Group B=15 tabs
Nightly e10s on AB on - almost instantly/25 sec
Nightly e10s on AB off - almost instantly/15 sec

Result: AdBlock 66% slower. 

2) Group B=40 tabs (overclockers.ru forum)
Nightly e10s on AB on 14 sec/90 sec
Nightly e10s on AB off 10 sec/51 sec

Result: AdBlock 40%/76% slower. 

2) Group B=40 tabs (different set of tabs)
Nightly e10s on AB on - 28 sec/136 sec
Nightly e10s on AB off - 16 sec/78 sec

Result: AdBlock 75%/74% slower. 

3) Group B=100 tabs
Nightly e10s off AB on 20 sec/400 sec
Nightly e10s off AB off 15 sec/300 sec

Result: AdBlock 33%/33% slower. 

Nightly e10s on AB on 360 sec (!!!)/360+ sec
Nightly e10s on AB off 20 sec/240 sec

Result: AdBlock 1800+% slower!

Also, uBlock+e10s is also slower than vanilla Nightly+e10s.
It's not exactly surprising that Adblock Plus slows things down slightly with e10s (the significant slowdown you see there only occurs if you load lots of tabs in parallel which people usually don't). Content policies require synchronous actions, meaning that Adblock Plus has to do synchronous messaging from the content policy implementation and block the content process. As long as there is no way to respond asynchronously from content policies this isn't going to change.
Thank you for your answer! I would like to point out one thing just in case:
Nightly e10s off AB on 20 sec/400 sec
Nightly e10s off AB off 15 sec/300 sec
So, with e10s is off, Nightly+AdBlock Plus is only a bit slower than vanilla Nightly. It looks like it is e10s that causes huge performance regression with AdBlock activated.

Also, I did a comparison of vanilla Nightly (e10s on) vs Nightly+AdBlock (e10s on) vs Nightly+uBlock (e10s on), same methodology:
// AdBlock - 6 subscriptions from default list, uBlock - 12 subscriptions from default list

1) Group B=15 tabs:
Nightly - didn't measure/15sec
uBlock - didn't measure/20sec
AdBlock - didn't measure/25sec

2)Group B=40 tabs
Nightly - 13sec/72sec
uBlock - 22sec/105sec
AdBlock - 28sec/136sec

3)Group B=40 tabs (different set of tabs)
Nightly - 10sec/51sec
uBlock - 13sec/66sec
AdBlock - 14sec/90sec

4) Group B=100 tabs
Nightly - 20sec/240sec
uBlock - 346sec/346sec+
AdBlock - 360sec/360sec+

Result: AdBlock is slower than uBlock.

PS. I hope we'll see architectural improvements from Mozilla that will allow adblockers to work faster.
For reference, there is bug 1280368 on nsIContentPolicy requiring synchronous decisions now.
@ajfhajf, did you test uBlock or uBlock Origin ("uBO")?

uBlock Origin blocks minimally the content process: filtering -- the most CPU intensive task for the extension -- is done by uBO's HTTP observer handler, not its nsIContentPolicy observer, so I am puzzled by your results. The only thing done by uBO in its nsIContentPolicy observer is to merely send a few pieces of data (4-5 fields) to the main process, which stores that information in a pre-allocated buffer. Later the HTTP observer in the main process retrieve that information to evaluate against uBO's filtering engine. Essentially the content process is virtually a noop, it's blocked just the time for the few fields of data to be stored in the main process.
I tested uBlock Origin. I've just run a new bunch of tests with TreeStyleTab instead of Tab Mix Plus and uBlock Origin is still 40% slower than vanilla Nightly with e10s enabled when loading 15 tabs at once. If you load more than 15 tabs, it might be 60+% slower.
> TreeStyleTab instead of Tab Mix Plus

You did not mention using other extensions aside those benchmarked (ABP, uBO). Did you try without any other extension but just the ones benchmarked? Thing is, maybe one of these other extensions is the main cause of the performance degradation on e10s, and the goal would be to narrow to which one. Only if it can't be narrowed to a specific one, then this might hint at a performance issue in e10s.

Do you have a list of URLs you used in your benchmark? The content of the tabs is quite important when it comes to benchmark extensions such as ABP, uBO.
Couldn't it be because the main big reason is (still) that overall performance of "the next-big-thing" called e10's is on itself slower than non e10's ?
I mean, right now, it looks like arguing about making a car faster by replacing some tires, when we just removed the car engine yesterday and replaced it with a lawnmower engine.

I think the first thing to do is for Mozilla to first get overall performance of e10's on par with non e10's, we've been promised that for some years now, but real world tests still show that as of today, e10's are still a step backwards.
(In reply to R. Hill from comment #23)
>You did not mention using other extensions
Yeah, that's my fault. I've written testing methodology with the description of all addons used in post 17 but decided not to do that in my later posts.
>Did you try without any other extension but just the ones benchmarked?
I've just tested uBlock Origin vs Vanilla Nightly with e10s activated and without any other addons installed. I've also added this code to userChrome.css in order to be able to see all tabs on the tab bar:

.tabbrowser-tab:not([pinned]) {
max-width: 250px !important;
min-width: 40px !important;
}

So, the results are:
When loading 15 tabs at once it take 11 seconds to load all tabs without uBlock Origin and ~17 seconds with uBlock Origin. That's ~54% slower. The list of tabs I used in this benchmark are listed below.

> Do you have a list of URLs you used in your benchmark?
Yep, I'll post them here because it will be more convenient to open them all in case someone decides to do some testing:
https://forums.overclockers.ru/
https://forums.overclockers.ru/viewtopic.php?f=151&t=315564&p=13845253#p13845253
https://forums.overclockers.ru/viewtopic.php?f=13&t=534318&p=13845248#p13845248
https://forums.overclockers.ru/viewtopic.php?f=13&t=76654&p=13845239#p13845239
https://forums.overclockers.ru/viewtopic.php?f=13&t=359997&p=13845237#p13845237
https://forums.overclockers.ru/viewtopic.php?f=13&t=513164&p=13845236#p13845236
https://forums.overclockers.ru/viewtopic.php?f=13&t=529250&p=13845231#p13845231
https://forums.overclockers.ru/viewtopic.php?f=13&t=555832&p=13845224#p13845224
https://forums.overclockers.ru/viewtopic.php?f=13&t=402108&p=13845218#p13845218
https://forums.overclockers.ru/viewtopic.php?f=8&t=66616
https://forums.overclockers.ru/viewtopic.php?f=13&t=513917
https://forums.overclockers.ru/viewtopic.php?f=32&t=516819
https://forums.overclockers.ru/viewtopic.php?f=13&t=536220
https://forums.overclockers.ru/viewtopic.php?f=13&t=536682
https://forums.overclockers.ru/viewtopic.php?f=13&t=340773
Alright, the issue here is "extremely slow page loading when Adblock Plus is enabled with e10s". I do not see such issue on my side, whether using the test case of opening 15 tabs at once, or whether benchmarking page load. Due to the issue mentioned in comment #18, there might be a slower page load, but by no mean this qualifies as "extremely slow".

I ran two sort of benchmarks, one for the "open 15 tabs at once", the other to measure page load itself. I did not want to rely on inaccurate eyeball-stopwatch. I first checked "Enable timestamps" in dev tools settings. Then I created a bookmark folder with the URLs listed in comment #25. I configured both ABP and uBO similarly, also both to use RU AdList. I disabled "Count filter hits" and "Show tabs on Flash and Java" for ABP. Then before each benchmark, I re-launched Nightly, waited for the extension to fully initialize, opened the browser console, cleared the output, then clicked "Open All in Tabs". Nightly was also configured to launch with only the "about:addons" tab opened. Once all the tabs finished loading, I used the timestamps in the browser console to find out how long it took -- be sure to pick only the first and last timestamps *related* to the opened tabs. Note that the browser console was set to output only "Net" events.

Results (in seconds):

ABP + RU AdList + opening 15 tabs at once:
   e10s: 19.762 (first: 11:44:00.760, last: 11:44:20.522)
no e10s: 18.268 (first: 11:45:58.487, last: 11:46:16.755)

uBO + RU AdList + opening 15 tabs at once
   e10s: 18.541 (first: 11:51:43.125, last: 11:52:01.666)
no e10s: 17.955 (first: 11:49:47.018, last: 11:50:04.973)

For these specific results, the difference between e10s/no-e10s could entirely be attributed to the margin error when factoring the vagaries of network latency when connecting to overclockers.ru.

Now if using no blocker at all in the above benchmark, there is just no comparison with above results:

no blocker + opening 15 tabs at once
   e10s: 50.000+ (eyeballed, browser console overflowed with network requests, and even after tabs were marked as fully loaded, network requests were still flooding the browser console).

Now I did run another benchmark to focus solely on page load (using a page load benchmarking tool I put online: http://www.raymondhill.net/ublock/pageloadspeed.html) to find out whether e10s affect page load speed. I tried two different pages, one from the test case above, the other wired.com.

Results (in ms):

http://forums.overclockers.ru/viewtopic.php?t=315564&f=151#p13845253

uBO + RU AdList
   e10s: Average (valid): 1362.09 ms (11/15 iterations)
no e10s: Average (valid): 1377.43 ms (11/16 iterations)

ABP + RU AdList
   e10s: Average (valid): 1509.91 ms (11/13 iterations)
no e10s: Average (valid): 1432.07 ms (11/14 iterations)


http://www.wired.com/

uBO + RU AdList
   e10s: Average (valid): 975.96 ms (11/14 iterations)
no e10s: Average (valid): 961.10 ms (11/13 iterations)

ABP + RU AdList
   e10s: Average (valid): 1244.13 ms (11/12 iterations)
no e10s: Average (valid): 1093.39 ms (11/17 iterations)

I did not bother benchmarking without blocker, it's of course to be way slower than with any blocker.

My interpretation of these results: whether e10s is on or off make no difference for uBO, since it does its filtering job at HTTP observer level (main process) regardless of e10s or not. There seems to be a small slow down for ABP, quite certainly related to issue mentioned by Wladimir Palant in comment #18 (for which an issue has been opened recently as mentioned in comment #20) -- but certainly not "extremely slow page loading" which is what the issue is about here.

@ajfhajf, if you think you have unearthed a real performance issue, it would probably best to open a new issue for this, I can't see what you are reporting to be related to the original issue here.
I redid all tests one more time and compiled results into a single sheet, here it is: 
http://i.imgur.com/wVsZo0N.png
In case someone doesn't want to use the sheet, long story short: Tab Mix Plus slows down the browser a lot when opening more than 40 tabs, that is the reason why "Adblock Plus" turned out to be 1800% slower in my earlier comment. AdBlock Plus and uBlock Origin do speed up page loading but make browser less responsive when loading more than 40 tabs at once. uBlock Origin is also notably faster than AdBlock Plus in all tests even with much bigger number of subscriptions: 13 vs 6.

(In reply to R. Hill from comment #26)
> I ran two sort of benchmarks, one for the "open 15 tabs at once", the other
> to measure page load itself. I did not want to rely on inaccurate
> eyeball-stopwatch.
Thank you very much for taking your time and doing this outstanding analysis! Unfortunately, I am an idiot and posted the wrong links, I should've posted links from ksp forum. It has no ads so that might be the reason why uBlock Origin and AdBlock Plus slow down page loading time a bit (all data is in the sheet). Please excuse me for wasting your time! Here they are:
http://forum.kerbalspaceprogram.com/index.php?/topic/141458-you-can-move-the-whole-craft-in-vab-by-holding-shift-and-dragging/
http://forum.kerbalspaceprogram.com/index.php?/topic/42763-killing-your-kerbals-does-it-make-you-feel-bad/
http://forum.kerbalspaceprogram.com/index.php?/topic/139674-useful-landing-gear-adjustment/
http://forum.kerbalspaceprogram.com/index.php?/topic/138822-kerbin-geographical-society/
http://forum.kerbalspaceprogram.com/index.php?/topic/141238-limits-of-the-kerbol-system/
http://forum.kerbalspaceprogram.com/index.php?/topic/141256-eva-re-entry/
http://forum.kerbalspaceprogram.com/index.php?/topic/134945-the-you-know-youre-playing-a-lot-of-ksp-when-thread/
http://forum.kerbalspaceprogram.com/index.php?/topic/138924-crashes-post-11x-simple-question-for-the-affected-ones/
http://forum.kerbalspaceprogram.com/index.php?/topic/141292-doom-posting/
http://forum.kerbalspaceprogram.com/index.php?/topic/70423-confess-your-ksp-sins/
http://forum.kerbalspaceprogram.com/index.php?/topic/141450-ike-eva-broken/
http://forum.kerbalspaceprogram.com/index.php?/topic/113218-ksp-20-what-would-you-expect-or-wish-for-a-sequel/
http://forum.kerbalspaceprogram.com/index.php?/topic/138924-crashes-post-11x-simple-question-for-the-affected-ones/&page=3
http://forum.kerbalspaceprogram.com/index.php?/topic/138822-kerbin-geographical-society/&page=3
http://forum.kerbalspaceprogram.com/index.php?/topic/42763-killing-your-kerbals-does-it-make-you-feel-bad/&page=2
(In reply to ajfhajf from comment #27)
> I redid all tests one more time and compiled results into a single sheet,
> here it is: 
> http://i.imgur.com/wVsZo0N.png
> In case someone doesn't want to use the sheet, long story short: Tab Mix
> Plus slows down the browser a lot when opening more than 40 tabs, that is
> the reason why "Adblock Plus" turned out to be 1800% slower in my earlier
> comment. AdBlock Plus and uBlock Origin do speed up page loading but make
> browser less responsive when loading more than 40 tabs at once. uBlock
> Origin is also notably faster than AdBlock Plus in all tests even with much
> bigger number of subscriptions: 13 vs 6.
> 
> (In reply to R. Hill from comment #26)
> > I ran two sort of benchmarks, one for the "open 15 tabs at once", the other
> > to measure page load itself. I did not want to rely on inaccurate
> > eyeball-stopwatch.
> Thank you very much for taking your time and doing this outstanding
> analysis! Unfortunately, I am an idiot and posted the wrong links, I
> should've posted links from ksp forum. It has no ads so that might be the
> reason why uBlock Origin and AdBlock Plus slow down page loading time a bit
> (all data is in the sheet). Please excuse me for wasting your time! Here
> they are:
> http://forum.kerbalspaceprogram.com/index.php?/topic/141458-you-can-move-the-
> whole-craft-in-vab-by-holding-shift-and-dragging/
> http://forum.kerbalspaceprogram.com/index.php?/topic/42763-killing-your-
> kerbals-does-it-make-you-feel-bad/
> http://forum.kerbalspaceprogram.com/index.php?/topic/139674-useful-landing-
> gear-adjustment/
> http://forum.kerbalspaceprogram.com/index.php?/topic/138822-kerbin-
> geographical-society/
> http://forum.kerbalspaceprogram.com/index.php?/topic/141238-limits-of-the-
> kerbol-system/
> http://forum.kerbalspaceprogram.com/index.php?/topic/141256-eva-re-entry/
> http://forum.kerbalspaceprogram.com/index.php?/topic/134945-the-you-know-
> youre-playing-a-lot-of-ksp-when-thread/
> http://forum.kerbalspaceprogram.com/index.php?/topic/138924-crashes-post-11x-
> simple-question-for-the-affected-ones/
> http://forum.kerbalspaceprogram.com/index.php?/topic/141292-doom-posting/
> http://forum.kerbalspaceprogram.com/index.php?/topic/70423-confess-your-ksp-
> sins/
> http://forum.kerbalspaceprogram.com/index.php?/topic/141450-ike-eva-broken/
> http://forum.kerbalspaceprogram.com/index.php?/topic/113218-ksp-20-what-
> would-you-expect-or-wish-for-a-sequel/
> http://forum.kerbalspaceprogram.com/index.php?/topic/138924-crashes-post-11x-
> simple-question-for-the-affected-ones/&page=3
> http://forum.kerbalspaceprogram.com/index.php?/topic/138822-kerbin-
> geographical-society/&page=3
> http://forum.kerbalspaceprogram.com/index.php?/topic/42763-killing-your-
> kerbals-does-it-make-you-feel-bad/&page=2

Can you help regarding this here

http://tabmixplus.org/forum/viewtopic.php?f=3&t=19581&p=70819#p70819

TMP developer might need your help regarding fixing this problem.
(In reply to ajfhajf from comment #27)
> 

This is a major regression,
I also see this problem every time even on a new profile with,
one one addon or two.

Just created a new profile with ghostery+TMP+ADguard with e10s on then off
with TMP disabled Freezing stopped a bit but still happening quite often.
Don't know how to post details here but i can see most of the problems mentioned here.


And the window keeps freezing if tabs are opened in background ~ 15+tabs
CPU usage keeps spiking and total 18 tabs 1.1gb memory with
simple light websites / no FB/Twitter/Gmail etc

win7+Lin
based on comment 29, comment 28, comment 27, and comment 26 - would i be OK to rename this to a Tab Mix Plus bug and fill under that tracker bug 1185672 to let TMP know the issue with large number of open tabs?
Wladimir based on the comments about tab mix plus, would you agree to changing this bug to be about Tab Mix Plus and taking of the e10s-abp tracker?
Flags: needinfo?(trev.moz)
Even though Tab Mix Plus is the source of the problem, AdBlock is still up to 1.6 times slower than uBlock Origin even with less number of subscriptions (7 vs 13) as you can see from the sheet in comment 27: http://i.imgur.com/wVsZo0N.png
Also, since this bug is going to be renamed, here is the last bunch of tests I did: http://i.imgur.com/SOXgAfh.png
As you can see, for some reason adblockers increase page loading time by 100% in this particular case. Maybe that's because bugzilla has no ads? And obviously TMP still slows down the browser.

I've already reported this problem with test data to TMP developer:
http://tabmixplus.org/forum/viewtopic.php?f=3&t=19618
Adblock Plus causing a slowdown is already covered by bug 1280368, AFAIK there is no additional issue here. Blocking via HTTP observer would indeed be faster but this hack would produce consistency issues because of missing context information (DOM node is unknown so it cannot be hidden, also it would considerably limit information available via blockable items feature).

Yes, as far as I'm concerned this can be morphed into a TMP bug.
Flags: needinfo?(trev.moz)
Blocks: e10s-tab_mix_plus
No longer blocks: e10s-abp
Summary: [e10s] extremely slow page loading when Adblock Plus is enabled with e10s → [e10s] extremely slow page loading with Tab Mix Plus on e10s when there are many tabs open
User Story: (updated)
I will appreciate any help to identify and fix this bug
There's a lot of history on this bug. Can someone sum up what the steps to reproduce are?
(In reply to Jorge Villalobos [:jorgev] from comment #35)
> There's a lot of history on this bug. Can someone sum up what the steps to
> reproduce are?
The problem is TMP increases page loading times and makes browser much less responsive when there are many tabs loading at once. The bigger the number of tabs loading, the worse the performance regression. At 40+ tabs browser becomes noticeably less responsive.

STR:
Create new Nightly profile, launch it, install Tab Mix Plus (release or dev, doesn't matter), install AdBlock or uBlock (release or dev, doesn't matter)
Enable multi-row tab bar in TMP settings, set number of rows to 9

Then open 40+ tabs and measure time until all tabs are loaded. I've already done similar tests, you can see the results and methodology here: http://i.imgur.com/wVsZo0N.png

40 tabs:
Without TMP: 13sec/1m36sec
With TMP: 17sec/1m48sec
70 tabs:
Without TMP: 15sec/2m54sec
With TMP: 1m26sec/4m21sec

100 tabs:
Without TMP:29sec/4m39sec
With TMP:4m44sec/12m+

In the last test TMP is 10 times slower than Nightly without TMP! How is that possible?
User Story: (updated)
updated user story and put as P1 for our triage next week for ideas
Priority: -- → P1
Whiteboard: triaged
You'll be surprised but the performance regression was gone in Nightly 07-Aug-2016! TMP was as fast as TST but then all of a sudden TMP performance started to degrade in later Nightlies and TMP is now approx. 3-4 times slower than TST in the latest available Nightly 27-08-16. Same profile, same TMP version, the only thing changed is the Nightly build.

I am trying to pay attention to this bug because it looks like TMP suffers from the same problem as AdBlock Plus described here:
https://bugzilla.mozilla.org/show_bug.cgi?id=1280368#c1
> For reference, this is currently causing performance issues in Adblock Plus
> with e10s. Our content process code needs to query the parent for content
> policy decisions because that's where the state is. Currently it has to
> happen synchronously because nsIContentPolicy requires a synchronous
> decision - so rather than delaying a single network request slightly we
> block the entire content process every time. IMHO, that's what is causing
> the issue described in bug 1192585 comment 17.

By the looks of it, TMP does exactly the same thing - "blocks the entire content process every time", as the result, the contents of all open tabs get replaced with spinner and you can't really read anything or do anything with the browser until TMP unblocks the content process. And that means this performance regression might occur not only in the extreme cases like this one when I load 50+ tabs but also during the normal browsing.

Since vanilla e10s is already a bit slower than non-e10s when it comes to switching tabs, degrading performance even further is definitely not good.
https://bugzilla.mozilla.org/show_bug.cgi?id=1312779#c0
> so this is all MPC=true, all webextensions, the few specified in bug (for
> test pilot, etc) that are neither MPC=true or webextensions, & blocking
> tab-mix-plus (which is MPC=true but has issues still)
I don't know whether he is talking about this particular issue so I would like to point out that TMP performance is now much better in both Firefox 49.0.2 and Nightly 29-10-16. It is still slower than Tree Style Tab but the performance degradation is nowhere near as bad as I described earlier (300+%). According to my measurements, it is closer to 30% now: it takes around 9-10 seconds to cycle through the first 9 tabs with Tree Style Tab (same testing methodology described here: http://i.imgur.com/wVsZo0N.png ) and around 12 seconds with Tab Mix Plus. 

I think that's good enough.
I can't confirm this, either. 
Aurora 51 with TMP (and other addons) and Nightly 52 (without any addons) have almost the same loading times on my machine (Windows 10) when opening multiple tabs. 
Chromium is still almost double as fast, depending on available cpu power.
Look like this issue is related to bug 1037179

I think Mozilla should consider applying 'restore on demand' when opening bookmarks with 'Open All in Tabs'
Depends on: 1037179
Latest Tab mix developer build from 2015-12-25 have a new option to open unloaded bookmarks.

Read explanation in Tab Mix help page: http://tabmixplus.org/support/viewpage.php?t=3&p=events-new-tabs

Tab mix uses Sessionstore to load the tabs

Check this version with the new options enabled and report if you see an improvement
With Firefox 57 only WebExtensions are permitted and are, by default, e10s compatible.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: