Bug 118883

Summary: Cache cssomWrappers for StylePropertySets directly on the MutableStylePropertySet
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, commit-queue, esprehn+autocc, ggaren, glenn, kling, koivisto, macpherson, menard
Priority: P2 Keywords: BlinkMergeCandidate
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Ryosuke Niwa 2013-07-18 20:43:02 PDT
Consider merging https://chromium.googlesource.com/chromium/blink/+/183bcd51eb0e79cab930cf46695df05dc793630f

In my measurements the mapping is adding more overhead than just having a field
in all MutableStylePropertySet objects. So this saves memory and makes access
faster.

Memory measurements:

gmail:
Wrappers: 276/297 (92%) Overhead: table > 16384 bytes, fields 2376 bytes

facebook:
Wrappers: 9/51 (17%) Overhead: table > 512 bytes, fields 408 bytes

google plus:
Wrappers: 208/229 (90%) Overhead: table > 16384 bytes, fields 1832 bytes

cnn:
Wrappers: 66/106 (62%) Overhead: table > 4096 bytes, fields 848 bytes

youtube:
Wrappers: 9/27 (33%) Overhead: table > 512 bytes, fields 216 bytes

amazon:
Wrappers: 48/90 (53%) Overhead: table > 4096 bytes, fields 720 bytes
Comment 1 Andreas Kling 2013-07-18 22:15:34 PDT
Good idea. Solid merge candidate.
Comment 2 Andreas Kling 2013-07-19 09:46:45 PDT
Created attachment 207107 [details]
Patch
Comment 3 WebKit Commit Bot 2013-07-19 17:57:17 PDT
Comment on attachment 207107 [details]
Patch

Clearing flags on attachment: 207107

Committed r152935: <http://trac.webkit.org/changeset/152935>
Comment 4 WebKit Commit Bot 2013-07-19 17:57:20 PDT
All reviewed patches have been landed.  Closing bug.