[Webkit-unassigned] [Bug 54707] Introduce lookup-table based approach for applying CSS properties.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 21 10:46:38 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=54707





--- Comment #62 from Eric Seidel <eric at webkit.org>  2011-09-21 10:46:35 PST ---
(In reply to comment #61)
> Sampling show that CSSStyleApplyProperty has caused a massive regression in applyProperty, making it at least two times slower. In practical terms this slows down page load of http://www.whatwg.org/specs/web-apps/current-work/ by more than a second on i7.

Ouch.

> The regression is largely caused by the introduction of virtual calls to a critical code path.

I very much believe you.  This risk was discussed in this and other bugs.  Do you have a particular favorite tool which shows you this result, or is this derived from other data and your profiling experience?  If so, could you list the tools you used so that others (most importantly Luke) could also reproduce your results?

> The original patch probably didn't show regression due to handling very few properties (performance was discussed in bug 46592).
> 
> Stylistically CSSStyleApplyProperty is pretty appalling jumble of jumps tables, virtual calls, function pointers and templates, a clear regression from the clarity of the original switch statement. The switch statement still exists in any case as this work was left in half-done state.

I'm not sure this stone is worth throwing.

> This patch and the subsequent moving of properties needs to be reverted.

What I hear you saying is that this performance regression needs to be adressed.  Revert is obviously one course of action, possibly the best one.  It seems a slightly premature conclusion unless you've spoken with the patch author? (I have not, I only know him through IRC.)

Thank you for providing a concrete test case.  On possible addressing of said regression would be to revert all this work of course.  I do not have enough data (besides of course your trusted -- but possibly hasty? -- recommendation) to know if that is the best course of action.


Luke: I would recommend that you reproduce the regression locally under a sampler and update the bug on how you plan to proceed.  We obviously can't leave such a huge regression in the tree for any length of time.

Antti:  Have you seen any slowdown in other benchmarks which your team may run more regularly, like the PLT?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list