Make sure 'Display Modes' has 'Hybrid Mode' selected.
Now that adblock is blocking loading by over 3 seconds by doing document.write().
14:36 < BenWa> taras: Ok so I spoke to joe & ehsan. The profiles seems to indicate the AdBlock is invoking Document.write which is very inneficient and the dreaded
'synchronous' type of calls
14:37 < BenWa> It apparently stops parsing, processes the document the write, throwing away the parsing up to date and restarts
14:37 < ehsan> to make it more inefficient, you can call document.open before .write ;)
14:37 < BenWa> ok
14:37 < ehsan> and then you can do it in a loop
14:37 < ehsan> and bingo!
Is this Adblock, or Adblock Plus?
Adblock Plus 2.0.3
(In reply to Taras Glek (:taras) from comment #1)
> 14:36 < BenWa> taras: Ok so I spoke to joe & ehsan. The profiles seems to
> indicate the AdBlock is invoking Document.write
Note that the Facebook widgets also cause a significant slowdown on this page, these insert a node into the document 10 times per second. They aren't the biggest issue however, the page is still terribly slow even after I blocked them.
Wlad, do you have an idea of why ABP is causing (~10x on my machine) slowdown in pageloading?
After looking at this with Diagnostics for Adblock Plus - yes, I do. The "hybrid mode" produces 22000 content policy calls, as opposed to 400 content policy calls in the regular case. That's a whole lot of requests for these addresses:
If you check, these images are really there - in the tree view produced via document.write(). That's a lot of content policy calls to process, despite the caching. According to Diagnostics, Adblock Plus needs on average 0.4ms for each call on my machine, plus XPCOM overhead. I want to look into making our shouldLoad implementation faster but I don't think that it can be magnitudes faster than it currently is.
If we did the loads async (which we want to anyway), we could at least do them form a separate event queue and throttle them or something....
(In reply to Boris Zbarsky (:bz) from comment #7)
> If we did the loads async (which we want to anyway), we could at least do
> them form a separate event queue and throttle them or something....
Is there a bug/API-proposal for this?
I don't know offhand.
Gathered a new profile with the enhanced JS support: