Open Bug 1371646 Opened 7 years ago Updated 2 years ago

Amazon access book result navigation profile

Categories

(Core :: Layout, defect, P3)

55 Branch
x86_64
Windows 10
defect

Tracking

()

Performance Impact low
Tracking Status
platform-rel --- -

People

(Reporter: afilip, Assigned: jfkthame)

References

(Depends on 1 open bug, Blocks 1 open bug, )

Details

(Keywords: perf, Whiteboard: [QRC][QRC_Analyzed][platform-rel-Amazon])

1.Access Amazon 2.Search "Lord of the rings" 3.Scroll down to a Book result 4.Start Gecko profile 5.Access book result 6.Share profile Gecko profile: https://perfht.ml/2r21Liz
Jonathan, could you help to have first profiling in this bug? Thanks.
Assignee: nobody → jfkthame
Flags: needinfo?(jfkthame)
If I'm understanding this profile at all, it looks like we spend quite a bit of time in nsCSSRuleProcessor (particularly in RulesMatching), so perhaps Stylo will help here? Besides that, there's a lot of JS running, and it appears to trigger layout flushes (e.g. by querying things like element.offsetHeight) quite a number of times.
Flags: needinfo?(jfkthame)
Depends on: 1377519
Component: General → Layout
Whiteboard: [QRC][QRC_NeedAnalysis] → [qf] [QRC][QRC_Analyzed]
Can we retest with Stylo enabled?
Flags: needinfo?(afilip)
Whiteboard: [qf] [QRC][QRC_Analyzed] → [qf:p1] [QRC][QRC_Analyzed]
Hi Naveed, Sure that we can but can you please point me how to enable Stylo because I didn't find it as a preference and we are not building Firefox locally.
Flags: needinfo?(afilip)
Using Nightly, you should be able to enable it by setting layout.css.servo.enabled to true in about:config (and restart the browser, I assume it's not a "live" switch).
Priority: -- → P3
Flags: needinfo?(afilip)
Here is the profile with stylo enabled and for reference i used an interval of 1ms.If I should change this please let me know https://perfht.ml/2gN8AUE
Flags: needinfo?(afilip)
Thanks! I'm not super-familiar with the servo restyle functions, but if I'm correct in assuming that "ProcessPendingRestyles" is a reasonable thing to filter for (to find total restyle time), then that profile shows a 50% drop (203ms fewer) in restyle time as compared to the one in comment 0. Original profile, filtered for ProcessPendingRestyles: https://perfht.ml/2tKSAU7 (412ms) Stylo profile, filtered for ProcessPendingRestyles: https://perfht.ml/2tKMinK (209ms) If this bug was originally prompted by us being slower than Chrome on the STR in comment 0, I'm curious how much slower & whether this apparent stylo speedup has narrowed the gap.
Filip, given that we've improved here (if you have stylo enabled), is it worth keeping this bug open? It's unclear from comment 0 how bad the problem was here, and whether the 200ms speedup has narrowed the gap enough for this bug to be closed.
Flags: needinfo?(afilip)
Calling this [qf:p3] for the moment, given that we've gotten some improvements (comment 7) and it's not yet clear in this bug how much of a performance gap remains here.
Whiteboard: [qf:p1] [QRC][QRC_Analyzed] → [qf:p3] [QRC][QRC_Analyzed]
Hi Daniel, I will create a benchmark with stylo enabled to compare the results because at this point the performance is the same without stylo enabled. I will get back to you as soon as I have some results
Flags: needinfo?(afilip)
OK, thanks!
platform-rel: --- → ?
Whiteboard: [qf:p3] [QRC][QRC_Analyzed] → [qf:p3] [QRC][QRC_Analyzed][platform-rel-Amazon]
Keywords: perf
platform-rel: ? → -
Performance Impact: --- → P3
Whiteboard: [qf:p3] [QRC][QRC_Analyzed][platform-rel-Amazon] → [QRC][QRC_Analyzed][platform-rel-Amazon]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.