Record markers with partial stacks for flushing pending notifications and marking a style flush as needed
Categories
(Core :: Gecko Profiler, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: florian, Assigned: florian)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
This should enable interesting analysis (eg. find issues like bug 1690368) and maybe even automated tests for what's causing style flushes.
In my testing, recording a stackless marker took about 1µs, a marker with a full stack 40µs, and a marker with a partial stack about 20µs.
I think flushing is expensive enough that I can capture a full stack in that case. I'm more annoyed by the overhead of touching the DOM, as that could be done in loops by web content scripts, so I'll prefer partial (faster) stacks in that case.
In an attempt to verify if this overhead is acceptable, I pushed to try and ran speedometer jobs with and without profiling, without and without the patch.
The patch regresses the speedometer score by 3-6%, above an existing 14-39% profiler overhead. I think this is going to be acceptable. If it later turns out that this isn't reasonable, I could restrict these markers to be only in the parent process, but that would be unfortunate.
Assignee | ||
Comment 1•3 years ago
|
||
Updated•3 years ago
|
Pushed by fqueze@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b17d03a52644 Record markers with partial stacks for flushing pending notifications and marking a style flush as needed, r=gerald.
Comment 3•3 years ago
|
||
bugherder |
Description
•