RESOLVED FIXED 186735
HTTPHeaderMap wastes 226KB of HashTable capacity on cnn.com
https://bugs.webkit.org/show_bug.cgi?id=186735
Summary HTTPHeaderMap wastes 226KB of HashTable capacity on cnn.com
Simon Fraser (smfr)
Reported 2018-06-16 12:30:45 PDT
Using tooling from bug 186698, loading can and running "notifyutil -p com.apple.WebKit.dumpHashTableCapacity" shows: Wasted capacity: 117504 bytes (used 50816 of 168320 bytes, utilization: 30.19%) - 312 allocations 1 0x105db209d WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> >::HashTable(WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> > const&) 2 0x106550267 WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> >::operator=(WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> > const&) 3 0x1065501df WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::operator=(WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> > const&) 4 0x10654fb3f WebCore::HTTPHeaderMap::operator=(WebCore::HTTPHeaderMap const&) 5 0x10654f8d7 WebCore::ResourceResponseBase::operator=(WebCore::ResourceResponseBase const&) 6 0x106547177 WebCore::ResourceResponse::operator=(WebCore::ResourceResponse const&) 7 0x107f9cf12 WebCore::CachedResource::setResponse(WebCore::ResourceResponse const&) 8 0x107f98b2f WebCore::CachedResource::responseReceived(WebCore::ResourceResponse const&)
Attachments
Patch (24.84 KB, patch)
2018-06-18 19:23 PDT, Chris Dumez
no flags
Patch (25.59 KB, patch)
2018-06-18 20:02 PDT, Chris Dumez
no flags
Patch (30.93 KB, patch)
2018-06-18 20:28 PDT, Chris Dumez
no flags
Archive of layout-test-results from ews204 for win-future (12.76 MB, application/zip)
2018-06-18 23:00 PDT, EWS Watchlist
no flags
Simon Fraser (smfr)
Comment 1 2018-06-16 12:31:16 PDT
Also: Wasted capacity: 109024 bytes (used 47264 of 156288 bytes, utilization: 30.24%) - 444 allocations 1 0x105db209d WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> >::HashTable(WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> > const&) 2 0x105db206d WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::HashMap(WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> > const&) 3 0x105db200d WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::HashMap(WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> > const&) 4 0x105db1faf WebCore::HTTPHeaderMap::HTTPHeaderMap(WebCore::HTTPHeaderMap const&) 5 0x105db1f1d WebCore::HTTPHeaderMap::HTTPHeaderMap(WebCore::HTTPHeaderMap const&) 6 0x106c75dc0 WebCore::ResourceResponseBase::ResourceResponseBase(WebCore::ResourceResponseBase const&) 7 0x106c75ca7 WebCore::ResourceResponse::ResourceResponse(WebCore::ResourceResponse const&) 8 0x106c6b4bd WebCore::ResourceResponse::ResourceResponse(WebCore::ResourceResponse const&)
Radar WebKit Bug Importer
Comment 2 2018-06-16 12:31:47 PDT
Simon Fraser (smfr)
Comment 3 2018-06-16 12:33:30 PDT
Also this code path: Wasted capacity: 82800 bytes (used 17680 of 100480 bytes, utilization: 17.60%) - 782 allocations 1 0x105db209d WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> >::HashTable(WTF::HashTable<WebCore::HTTPHeaderName, WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::HTTPHeaderName, WTF::String> >, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::KeyValuePairTraits, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName> > const&) 2 0x105db206d WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::HashMap(WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> > const&) 3 0x105db200d WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> >::HashMap(WTF::HashMap<WebCore::HTTPHeaderName, WTF::String, WTF::IntHash<WebCore::HTTPHeaderName>, WTF::StrongEnumHashTraits<WebCore::HTTPHeaderName>, WTF::HashTraits<WTF::String> > const&) 4 0x105db1faf WebCore::HTTPHeaderMap::HTTPHeaderMap(WebCore::HTTPHeaderMap const&) 5 0x105db1f1d WebCore::HTTPHeaderMap::HTTPHeaderMap(WebCore::HTTPHeaderMap const&) 6 0x105db1ca0 WebCore::ResourceRequestBase::ResourceRequestBase(WebCore::ResourceRequestBase const&) 7 0x105db1baf WebCore::ResourceRequest::ResourceRequest(WebCore::ResourceRequest const&) 8 0x105db11bd WebCore::ResourceRequest::ResourceRequest(WebCore::ResourceRequest const&)
Chris Dumez
Comment 4 2018-06-18 19:23:29 PDT
Chris Dumez
Comment 5 2018-06-18 20:02:24 PDT
Chris Dumez
Comment 6 2018-06-18 20:28:19 PDT
EWS Watchlist
Comment 7 2018-06-18 23:00:31 PDT
Comment on attachment 343013 [details] Patch Attachment 343013 [details] did not pass win-ews (win): Output: http://webkit-queues.webkit.org/results/8242574 New failing tests: http/tests/security/canvas-remote-read-remote-video-localhost.html
EWS Watchlist
Comment 8 2018-06-18 23:00:44 PDT
Created attachment 343023 [details] Archive of layout-test-results from ews204 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews204 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Chris Dumez
Comment 9 2018-06-19 08:29:33 PDT
Comment on attachment 343023 [details] Archive of layout-test-results from ews204 for win-future Failure seems unrelated.
Geoffrey Garen
Comment 10 2018-06-19 09:43:11 PDT
Comment on attachment 343013 [details] Patch r=me
WebKit Commit Bot
Comment 11 2018-06-19 10:10:39 PDT
Comment on attachment 343013 [details] Patch Clearing flags on attachment: 343013 Committed r232964: <https://trac.webkit.org/changeset/232964>
WebKit Commit Bot
Comment 12 2018-06-19 10:10:42 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.