Open Bug 1832377 Opened 1 year ago Updated 5 months ago

`layout`/GetClientBoundingRect is 3.5x slower then Chrome on Editor-TipTap and Editor-CodeMirror tests

Categories

(Core :: Layout, enhancement)

enhancement

Tracking

()

People

(Reporter: jrmuizel, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Whiteboard: [sp3]
Blocks: speedometer3
Flags: needinfo?(emilio)

Do you happen to have a profile for this handy?

Flags: needinfo?(jmuizelaar)

For a bit of context, the forced layout happens here at the end of each step https://github.com/WebKit/Speedometer/blob/e1e156febb81facc2a2fe52ee4b0c8759d02a58e/resources/tests.mjs#L342 inside each step. I wasn't am still am not positive if it should actually be added but it came over from the Monaco test in Grand Prix. There's also this line in the runner which should theoretically move the same work into async time but IIRC I tried to remove it at one point and ultimately didn't (perhaps it made the tests more noisy or removed work from the measured regions, I can't find notes).

Flags: needinfo?(jmuizelaar)

Sorry for the lag here. I think the reason why Chrome is not spending so much time during layout in getBoundingClientRect is that they update layout from Selection.anchorNode, for some reason, and that causes them to do more work afaict.

Taking that into account, do you know how much we spend in styling / layout comparatively on these tests? Given the above I don't think there's anything specific to getBoundingClientRect etc to look at.

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