On theverge.com, tooling from bug 186698: Wasted capacity: 57584 bytes (used 4880 of 62464 bytes, utilization: 7.81%) - 13 allocations 1 0x107ee28b5 WTF::VectorBuffer<WebCore::CachedRawResource::RedirectPair, 0ul>::VectorBuffer() 2 0x107ee2895 WTF::Vector<WebCore::CachedRawResource::RedirectPair, 0ul, WTF::CrashOnOverflow, 16ul>::Vector() 3 0x107ec4b75 WTF::Vector<WebCore::CachedRawResource::RedirectPair, 0ul, WTF::CrashOnOverflow, 16ul>::Vector() 4 0x107ec4b04 WebCore::CachedRawResource::CachedRawResource(WebCore::CachedResourceRequest&&, WebCore::CachedResource::Type, PAL::SessionID) 5 0x107ec4bcb WebCore::CachedRawResource::CachedRawResource(WebCore::CachedResourceRequest&&, WebCore::CachedResource::Type, PAL::SessionID) 6 0x107ed1700 WebCore::createResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&&, PAL::SessionID) 7 0x107ed13ca WebCore::CachedResourceLoader::loadResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&&) 8 0x107ece32d WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&&, WebCore::CachedResourceLoader::ForPreload, WebCore::CachedResourceLoader::DeferOption)
<rdar://problem/41173515>
Vector<RedirectPair> m_redirectChain; in CachedRawResource. We never reserve capacity explicitly and only call append() on it.
Looks like Vector has a default inlineCapacity of 0 but a minCapacity of 16. Note that the Vector contains ResourceResponse & ResponseRequest objects, which are large.
Note that as long as the vector is empty, its capacity is 0, even though the default minCapacity is 16. However, as soon as you append one element to the Vector, capacity jumps from 0 to 16.
Created attachment 342855 [details] Patch
Comment on attachment 342855 [details] Patch Clearing flags on attachment: 342855 Committed r232897: <https://trac.webkit.org/changeset/232897>
All reviewed patches have been landed. Closing bug.