<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>186703</bug_id>
          
          <creation_ts>2018-06-15 15:04:07 -0700</creation_ts>
          <short_desc>CachedRawResource wastes 57K of Vector capacity</short_desc>
          <delta_ts>2018-06-15 16:54:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1433579</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-15 15:04:07 -0700</bug_when>
    <thetext>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&lt;WebCore::CachedRawResource::RedirectPair, 0ul&gt;::VectorBuffer()
2   0x107ee2895 WTF::Vector&lt;WebCore::CachedRawResource::RedirectPair, 0ul, WTF::CrashOnOverflow, 16ul&gt;::Vector()
3   0x107ec4b75 WTF::Vector&lt;WebCore::CachedRawResource::RedirectPair, 0ul, WTF::CrashOnOverflow, 16ul&gt;::Vector()
4   0x107ec4b04 WebCore::CachedRawResource::CachedRawResource(WebCore::CachedResourceRequest&amp;&amp;, WebCore::CachedResource::Type, PAL::SessionID)
5   0x107ec4bcb WebCore::CachedRawResource::CachedRawResource(WebCore::CachedResourceRequest&amp;&amp;, WebCore::CachedResource::Type, PAL::SessionID)
6   0x107ed1700 WebCore::createResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&amp;&amp;, PAL::SessionID)
7   0x107ed13ca WebCore::CachedResourceLoader::loadResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&amp;&amp;)
8   0x107ece32d WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&amp;&amp;, WebCore::CachedResourceLoader::ForPreload, WebCore::CachedResourceLoader::DeferOption)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433580</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-15 15:04:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/41173515&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433610</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-15 15:27:59 -0700</bug_when>
    <thetext>Vector&lt;RedirectPair&gt; m_redirectChain; in CachedRawResource.
We never reserve capacity explicitly and only call append() on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433612</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-15 15:42:59 -0700</bug_when>
    <thetext>Looks like Vector has a default inlineCapacity of 0 but a minCapacity of 16.
Note that the Vector contains ResourceResponse &amp; ResponseRequest objects, which are large.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433617</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-15 16:03:22 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433618</commentid>
    <comment_count>5</comment_count>
      <attachid>342855</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-15 16:10:26 -0700</bug_when>
    <thetext>Created attachment 342855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433628</commentid>
    <comment_count>6</comment_count>
      <attachid>342855</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-15 16:54:19 -0700</bug_when>
    <thetext>Comment on attachment 342855
Patch

Clearing flags on attachment: 342855

Committed r232897: &lt;https://trac.webkit.org/changeset/232897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433629</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-15 16:54:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342855</attachid>
            <date>2018-06-15 16:10:26 -0700</date>
            <delta_ts>2018-06-15 16:54:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186703-20180615161025.patch</filename>
            <type>text/plain</type>
            <size>1855</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjljMjAzNjE0MzBmOTU4
NTAzYTY3NDA1NGIwMGRlYWY4OWEzMTU2OS4uOGNhMjhmMWVkMzYxMDAzZmU4N2RlNGY5ODM5MGY0
ZDUxMTcyZTgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA2LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FjaGVkUmF3UmVzb3VyY2Ug
d2FzdGVzIDU3SyBvZiBWZWN0b3IgY2FwYWNpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjcwMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDEx
NzM1MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXNlIDAgYXMgbWluaW11bSBjYXBhY2l0eSBmb3IgQ2FjaGVkUmF3UmVzb3VyY2U6Om1fcmVkaXJl
Y3RDaGFpbiwgaW5zdGVhZCBvZiB0aGUKKyAgICAgICAgZGVmYXVsdCB2YWx1ZSBvZiAxNi4gbV9y
ZWRpcmVjdENoYWluIHVzdWFsbHkgY29udGFpbnMgdmVyeSBmZXcgaXRlbXMgc28gMTYgaXMKKyAg
ICAgICAgd2FzdGVmdWwsIGVzcGVjaWFsbHkgY29uc2lkZXJpbmcgdGhhdCBtX3JlZGlyZWN0Q2hh
aW4gY29udGFpbnMgZmFpcmx5IGxhcmdlCisgICAgICAgIG9iamVjdHMgKHN0ZDo6cGFpcjxSZXNv
dXJjZVJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2U+KS4gQ2FjaGVkUmF3UmVzb3VyY2UgYXJlCisg
ICAgICAgIHN0b3JlZCBpbiB0aGUgbWVtb3J5IGNhY2hlIHNvIGl0IGlzIGltcG9ydGFudCB0byBu
b3QgdXNlIG1vcmUgbWVtb3J5IHRoYW4KKyAgICAgICAgbmVjZXNzYXJ5LgorCisgICAgICAgIFdl
IGFyZSBhbHNvIG5vdCB3b3JyaWVkIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBjb3N0IG9mIGFsbG9j
YXRpb25zIGhlcmUgc2luY2UKKyAgICAgICAgdGhpcyB2ZWN0b3IgaXMgb25seSBwb3B1bGF0ZWQg
b24gSFRUUCByZWRpcmVjdHMuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVz
b3VyY2UuaDoKKwogMjAxOC0wNi0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgU2VtYW50aWMgY29sb3JzIHNob3VsZCBub3QgYmUgdHJhbnNmb3JtZWQgYnkg
Y29sb3ItZmlsdGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmF3UmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdS
ZXNvdXJjZS5oCmluZGV4IGYwNjk0ODczODNhOGVjMmE0NzRiZmVhMjg1ZWZjN2Y1YmExMjM3NWYu
LjJkM2RhYzk5NjQzMjIyOGY5NDhmY2I2ZmQ0ZjY2ZDcwNjU0N2NlMWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oCkBAIC04OSw3ICs4OSw3
IEBAIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UgbV9yZWRpcmVjdFJl
c3BvbnNlOwogICAgIH07CiAKLSAgICBWZWN0b3I8UmVkaXJlY3RQYWlyPiBtX3JlZGlyZWN0Q2hh
aW47CisgICAgVmVjdG9yPFJlZGlyZWN0UGFpciwgMCwgQ3Jhc2hPbk92ZXJmbG93LCAwPiBtX3Jl
ZGlyZWN0Q2hhaW47CiAKICAgICBzdHJ1Y3QgRGVsYXllZEZpbmlzaExvYWRpbmcgewogICAgICAg
ICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>