[Webkit-unassigned] [Bug 122775] New: Consider doing a better job of sharing styles

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 14 13:58:15 PDT 2013


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

           Summary: Consider doing a better job of sharing styles
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: CSS
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: rniwa at webkit.org
                CC: koivisto at iki.fi, barraclough at apple.com,
                    benjamin at webkit.org, akling at apple.com


The style sharing algorithm can be improved.

e.g. Blink did https://chromium.googlesource.com/chromium/blink/+/ed002c01e93c3d9ee90fdf16d7461b149176c650

Replace style sharing cousin list search with LRU

The current implementation of style sharing uses a very confusing set of methods to
search a node's cousins in an attempt to find other nodes to share style with. This
patch replaces this confusing method with a simple LRU that allows us to find
nodes to share with even if they're not our cousins.

The previous implementation of this was reverted due to a performance regression
due to decreased sharing occurring in certain situations during parse time when
we'd clear the LRU after every node was appended. This updated patch uses RefPtrs
to allow these nodes to be held onto, and avoids clearing the LRU during attach,
and only when styles change.

Because this change introduces RefPtrs that can hold onto nodes while the style
resolver is active, Internal gc functions are updated to clear the style sharing list.

-- 
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