Summary: | LocalStorage values should be 8-bit strings in memory if possible | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Ben Nham <nham> | ||||
Component: | New Bugs | Assignee: | Ben Nham <nham> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | cdumez, webkit-bug-importer, ysuzuki | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Ben Nham
2022-01-22 15:29:37 PST
Created attachment 449739 [details]
Patch
Comment on attachment 449739 [details]
Patch
r=me
Comment on attachment 449739 [details] Patch This ended up being only neutral on Membuster. One of the websites in the benchmark has 1.4MB of LocalStorage values in its database. Unfortunately, the values are almost-ASCII but not quite; the site seems to store WebFont css in LocalStorage, and the CSS has a non-ASCII smiley face in it: @font-face { // ... src: local('☺︎'), // ... } See https://www.paulirish.com/2009/bulletproof-font-face-implementation-syntax/#smiley for more details. So the value can't actually be parsed into an 8-bit string and this optimization does nothing for that website. This is still worth doing though, so I'll land it. For this kind of long-living values, making it 8bit as much as possible really makes sense! Nice Committed r289078 (246784@main): <https://commits.webkit.org/246784@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 449739 [details]. |