Closed Bug 1082849 Opened 5 years ago Closed 3 years ago

[e10s] [meta] Performance improvements for add-on shims


(Firefox :: Extension Compatibility, defect)

34 Branch
Not set



Tracking Status
e10s + ---


(Reporter: billm, Assigned: billm)



(Keywords: meta)

This bug will cover any performance improvements we may want to do for add-on shims. The initial idea is to cache frequently accessed properties of DOM nodes. This will help a lot with bug 1073664, which I think is causing a lot of add-on jank.

We decided in the meeting today to mark this m4 since it causes people with certain common add-ons to have a terrible experience with e10s.
I filed some bugs to improve the performance of Adblock. Using my testcase (, here are the improvements:

baseline:      49492 CPOW messages
+ bug 1091959: 30626
+ unfiled bug: 19105  <--- it turns out I had missed a return statement somewhere and it
                           caused us to send lots of extra messages.
                           the fix is folded into bug 1091970.
+ bug 1091964: 16837
+ bug 1091970: 8100

Unfortunately, I didn't really observe any noticeable effect from all these improvements. However, I then starting testing with These are the rough pageload times I get for that page:

No e10s, no adblock: ~1.8 sec
No e10s, with adblock: ~1.8 sec
E10s, no adblock: ~2.5 sec
E10s, with adblock, with my fixes: ~3.0 sec
E10s, with adblock, without my fixes: ~5.0 sec

I also noticed that the page is somewhat unresponsive immediately after being loaded with adblock and e10s. My patches help with that somewhat, but they don't get us to the point we are without adblock (or without e10s). I haven't figured out how to measure that though.

There's a lot more work to be done, but this is a start. I want to look at LastPass tomorrow.
No longer blocks: 1095544
Duplicate of this bug: 1095544
Keywords: meta
Going to close this. We're not focusing on it anymore.
Closed: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.