Closed Bug 1596232 Opened 6 years ago Closed 3 years ago

Investigate ~10% ts_paint improvements with XUL persist

Categories

(Core :: XUL, enhancement, P5)

enhancement

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: bdahl, Unassigned)

Details

(Keywords: perf:startup)

Attachments

(1 file)

When investigating performance in htmlify browser.xhtml bug we ran into a 10% ts_paint improvement. However, the improvement was a from a bug where XULPersist was handling restoring the width/height attribute of the root element instead of AppWindow.

We could potentially try to mimic the bug and move more of the width/height handling into XULPersist, but I'm not sure if that's feasible with how the width/height is applied before the first layout.

As Comment 0 says this may not be feasible. But we wanted to get something on file in case perf folks want to investigate since the improvement we were seeing on windows ts_paint was pretty huge.

Whiteboard: [fxperf]

So I'm a little confused from comment #0 - can you elaborate a bit? Did the improvement happen and then it went away again? Did bug 1590044 regress ts_paint by about 10% again? Do we know what caused the improvement in the first place? Is it that we weren't applying the width/height at all? Is it the difference in xulpersist IO times? Or something else?

Flags: needinfo?(bdahl)

The improvement showed up in tests we ran before landing <html> in browser.xhtml. However, that improvement went away when bug 1590044 was fixed. Things never regressed.

I did some talos pushes to see if the improvement is still there if I re-introduce bug 1590044 and it looks like it still shows the improvement.

I thought the improvement came from setting the width/height earlier, so I added some logging to see the ordering of applying attributes to the root element and various DOM events. I then tried to mimic that log by setting the root element attributes earlier. However, I saw no performance improvement doing that.

I'll attach a file with the logging with various patches applied.

Flags: needinfo?(bdahl)
Attachment #9110959 - Attachment description: combined.txt → DOM Events and Attribute Setting
Flags: needinfo?(gijskruitbosch+bugs)

It would be nice to compare profiles with and without the patch that caused the 10% improvement. Marking fxperf:p2 for now as it seems Gijs would like to investigate.

Whiteboard: [fxperf] → [fxperf:p2]

I've started gecko profiler jobs for ts_paint (o) and ts_paint_webext (g5) on both trypushes from comment #3 . I may have time to investigate tomorrow, otherwise next week. Keeping ni.

Well, that didn't work. I filed bug 1600279.

Will see if I can do my own trypushes with mach and get profiles that way...

Priority: -- → P5
Performance Impact: --- → ?
Keywords: perf:startup
Whiteboard: [fxperf:p2]

Realistically I think we should close this incomplete. Florian, does that sound OK?

Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(florian)

(In reply to :Gijs (he/him) from comment #8)

Realistically I think we should close this incomplete.

Agreed.

Status: NEW → RESOLVED
Closed: 3 years ago
Performance Impact: ? → ---
Flags: needinfo?(florian)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: