Open Bug 1722641 Opened 3 years ago Updated 2 years ago

Performance regressions from turning on bfcache-in-parent for fission, mostly in warmload

Categories

(Core :: DOM: Navigation, defect, P2)

defect

Tracking

()

Performance Impact low
Tracking Status
firefox-esr78 --- unaffected
firefox90 --- unaffected
firefox91 --- disabled
firefox92 --- disabled
firefox93 --- disabled
firefox94 --- wontfix

People

(Reporter: jesup, Assigned: smaug)

References

(Regression)

Details

(Keywords: perf:pageload, regression, Whiteboard: [fission-perf] [fission-soft-blocker])

Many sites had small, and a few large, performance regressions from turning on bfcache-in-parent for fission. Mostly the regressions are to warmloads, which we don't monitor as carefully.

Some cold loads regress as well.

Worst regressions are 10%+ such as linux tumblr warm.

Lower-end machines (Mac 10.14) seem to show much worse regressions, on almost every site.

Details from viewing graphs with moving averages at https://drive.google.com/drive/folders/1UvXyaWTMmrf8s6h0ZxGH7fkOnkeb_p2F?usp=sharing

windows:
pinterest warm got way worse (almost 2x) for both around 6/20-ish
reddit warm got worse starting around 6/20-6/25ish (fission only, webrender got better)
youtube cold got way better for fission (to ~even) around 6/20
facebook warm may have gotten a little worse around 6/20-6/23
imdb warm got worse around 6/20
Microsoft warm might have gotten worse around 6/20
netflix warm may have gotten a bit worse around 6/20. lots of noise.
nytimes may have gotten worse around 6/20

linux
amazon warm got worse around 7/4?
bing search warm got worse around 6/25? noise and quantization though
expedia warm got better for both around 6/20 (more for fission)
facebook cold maybe got worse around 6/25. In the noise band
instagram cold maybe got worse around 6/20-25?
netflix warm maybe got worse around 6/25?
office cold got better around 6/20-25
outlook cold got worse around 7/4?
pinterest warm got worse around 6/20-25
reddit warm and cold got worse around 6/20-25
tumblr warm and cold got much worse around 6/20
twitch warm got worse around 6/20
twitter warm got worse around 6/20ish and 7/10?
wikia warm got better around 6/22
wikipedia cold got much worse for both around 7/12
youtube warm got worse arund 6/20

mac 10.14
amazon warm got worse around 6/20
bing warm got much worse around 6/20
buzzfeed got worse around 6/25
ebay warm got worse around 6/25
fandom warm got worse around 6/25?
gdocs warm got worse around 6/20
gmail warm got worse around 6/25
google cold got better around 6/25
google warm got worse around 6/20
google slides warm got worse around 6/20
instagram warm got worse around 6/20
microsoft warm got worse around 6/20
netflix warm got worse around 6/20
nytims warm got worse around 6/20
outlook warm got worse around 6/20
paypal warm got worse around 6/20
pinterest warm got worse around 6/20
process-switch warm got much worse around 6/20, cold got worse too but is noisy
reddit warm got worse around 6/20
tumblr warm got worse around 6/20
twitch warm got worse around 6/20
twitter warm got worse around 6/20
wikipedia warm got worse around 6/20, cold got worse around 6/28?
yahoo mail warm got worse around 6/20
youtube warm got worse around 6/20

mac 10.15
bing warm
buzzfeed warm (small)
expedia warm (maybe)
fandom warm
gmail cold around 7/1
gmail warm
google search warm?
google slides warm, maybe
imdb warm
instagram warm
nytimes warm
office cold and warm (noisy)
pinterest cold
process-switch warm and cold (much worse)
reddit warm
twitch warm
twitter warm
wikipedia warm, maybe, 6/25?
yahoo mail warm
yahoo mail cold? 6/25?

Severity: -- → S3
Fission Milestone: --- → ?
Priority: -- → P2

Olli, can you please work with Jesup to investigate these page load regressions from bfcacheInParent?

Nika says the warm load regression is not surprising because warm loads now perform a process switch. Unclear whether we can avoid this regression.

Assignee: nobody → bugs
Fission Milestone: ? → M8
Flags: needinfo?(bugs)
Whiteboard: [fission-perf][qf] → [fission-perf][qf] fission-hard-blocker

Setting status-firefox91=disabled because SHIP and bfcacheInParent are only enabled with Fission and Fission is disabled by default in Beta and Release.

There isn't much we can really do here, but will investigate.

jesup, do you happen to have any good profiles?

Flags: needinfo?(bugs) → needinfo?(rjesup)

Investigation of this regression is a Fission MVP hard blocker. Once we have more information about the cause of the regression, we can decide whether the fix needs to block Fission MVP.

Fission Milestone: M8 → MVP

I'm having trouble to see regressions in awfy. Hmm, except perhaps Bing on MacOS 10.14

Depends on: 1725133

Hey Smaug, I see the dependent bug is fixed, so is this bug still accurate?
if yes, what do you think of setting it to qf-?

Flags: needinfo?(bugs)

This is very much work in progress, still.

Depends on: 1729458
Flags: needinfo?(bugs)
Depends on: 1712123

Olli says this bug needs DocumentChannel and Necko changes. A fix probably won’t be ready for 94, so I'm downgrading it from a fission-hard-blocker to fission-soft-blocker.

Whiteboard: [fission-perf][qf] fission-hard-blocker → [fission-perf][qf] fission-soft-blocker
Whiteboard: [fission-perf][qf] fission-soft-blocker → [fission-perf][qf:p3:pageload] fission-soft-blocker

(In reply to Chris Peterson [:cpeterson] from comment #9)

Olli says this bug needs DocumentChannel and Necko changes. A fix probably won’t be ready for 94, so I'm downgrading it from a fission-hard-blocker to fission-soft-blocker.

Moving from Fission MVP to Future, targeting Firefox 95 ([fission:m95]).

Fission Milestone: MVP → Future
Whiteboard: [fission-perf][qf:p3:pageload] fission-soft-blocker → [fission-perf][qf:p3:pageload] [fission-soft-blocker] [fission:m95]
Flags: needinfo?(rjesup)

Fission MVP's perf in Firefox 94 is good enough to ship, but Olli recommends we keep this bug open because there are other improvements to page load parallelization we could make.

Whiteboard: [fission-perf][qf:p3:pageload] [fission-soft-blocker] [fission:m95] → [fission-perf][qf:p3:pageload] [fission-soft-blocker]
Depends on: 1739417

I'm removing the Fission:Future, since this is now just a normal performance bug basically, tracked through qf and bug 1739417.

Fission Milestone: Future → ---
Has Regression Range: --- → yes
Performance Impact: --- → P3
Keywords: perf:pageload
Whiteboard: [fission-perf][qf:p3:pageload] [fission-soft-blocker] → [fission-perf] [fission-soft-blocker]

All of the dependencies are fixed. Should this bug be closed?

Flags: needinfo?(smaug)

Need to check still if there is more to do.

Flags: needinfo?(smaug)
You need to log in before you can comment on or make changes to this bug.