<?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>110408</bug_id>
          
          <creation_ts>2013-02-20 16:49:44 -0800</creation_ts>
          <short_desc>Tune BackgroundHTMLParser&apos;s pendingTokenLimit based on a benchmark</short_desc>
          <delta_ts>2013-02-21 13:48:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106127</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Tony Gentilcore">tonyg</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>837933</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-02-20 16:49:44 -0800</bug_when>
    <thetext>I ran the threaded HTML parser in Telemetry against the top 25 sites on a Nexus 7 with a variety of pendingTokenLimits ranging from 250-6000 (current == 4000).

My observations:
- The threaded HTML parser improves by DOMContentLoaded 8-14% and total time spent parsing on main thread by 9-13%
- Varying pendingTokenLimit doesn&apos;t significantly change total time spent parsing on main thread, DOMContentLoaded or Load
- Tweaking pendingTokenLimit can improve maximum time spent parsing on main thread by another 40%

I recommend we change it from 4000 to 1000.

Results:
https://docs.google.com/a/chromium.org/spreadsheet/ccc?key=0AmVDuVhIZxCTdEstXy02NXZnNE5wb0d4NTlPNGQ2U1E#gid=1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837958</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-20 17:07:09 -0800</bug_when>
    <thetext>Discussed with Tony in person.  I&apos;m worried that but 109995 could be throwing off our perf numbers, and we should probably wait to do final testing for this change until after bug 109995 is resolved.

It would also be nice to see numbers for the &quot;yield every 10 tokens&quot; case, just to verify that it throws out our &quot;total parse time&quot; (or one of our metrics) by an expectedly large number.

I worry our current inspector-based testing doesn&apos;t account for the overhead this contant is trying to avoid. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838588</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-02-21 11:00:46 -0800</bug_when>
    <thetext>I ran with pendingTokenLimit=10 and updated the spreadsheet. Both total parse time and DOMContentLoaded markedly regressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838597</commentid>
    <comment_count>3</comment_count>
      <attachid>189560</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-02-21 11:08:15 -0800</bug_when>
    <thetext>Created attachment 189560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838670</commentid>
    <comment_count>4</comment_count>
      <attachid>189560</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-21 12:10:46 -0800</bug_when>
    <thetext>Comment on attachment 189560
Patch

This patch seems harmless.  We might want to tune again when we&apos;re closer to turning the threaded parser on by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838793</commentid>
    <comment_count>5</comment_count>
      <attachid>189560</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 13:48:10 -0800</bug_when>
    <thetext>Comment on attachment 189560
Patch

Clearing flags on attachment: 189560

Committed r143649: &lt;http://trac.webkit.org/changeset/143649&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838794</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 13:48:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189560</attachid>
            <date>2013-02-21 11:08:15 -0800</date>
            <delta_ts>2013-02-21 13:48:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110408-20130221110435.patch</filename>
            <type>text/plain</type>
            <size>1910</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgwZDYzZjAyMGQ3OGIz
ZTA1NTg0MzZhZDhiZjRiOGUyNjNiOTk3Yy4uNzY0ODNkMzRhYmQ1MGU1MTNkMzQ1ZjM4MDJkZGJj
NDQ3OGE2ODBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTIxICBUb255
IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVHVuZSBCYWNrZ3Jv
dW5kSFRNTFBhcnNlcidzIHBlbmRpbmdUb2tlbkxpbWl0IGJhc2VkIG9uIGEgYmVuY2htYXJrCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA0MDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGNvbnN0
YW50IHdhcyB0dW5lZCBieSBydW5uaW5nIHRoZSB0b3AgMjUgc2l0ZXMgaW4gVGVsZW1ldHJ5IG9u
IGEgTmV4dXMgNyBkZXZpY2UuCisgICAgICAgIFRoZSBuZXcgdmFsdWUgZGVjcmVhc2VzIHRoZSBt
YXhpbXVtIHRpbWUgc3BlbnQgcGFyc2luZyBieSA0MCUgd2l0aG91dCBzaWduaWZpY2FudGx5IGlt
cGFjdGluZyB0b3RhbCBwYXJzZSB0aW1lIG9yIERPTUNvbnRlbnRMb2FkZWQuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KwogMjAxMy0wMi0yMCAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgTGV2ZWxEQjogUmVtb3ZlIGV4Y2VzcyB2ZWN0b3IgY29weQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuY3BwCmluZGV4IDdkODM4
ZDEyNGQ3YTYyZmQxOTQ3MWJhNzk5ZDZmNTJmOTIwZTc2MTYuLjU3MTdlYzEzY2Y1NGU0YjUyZjEw
NDMxYTJlNjhlZDgyMTQzNTg0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0JhY2tncm91bmRIVE1MUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHAKQEAgLTExMiw4ICsxMTIsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgdG9rZW5FeGl0c0ZvcmVpZ25Db250ZW50KGNvbnN0IENvbXBhY3RIVE1MVG9r
ZW4mIHRva2VuKQogICAgICAgICB8fCAodGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIGZvbnRUYWcp
ICYmICh0b2tlbi5nZXRBdHRyaWJ1dGVJdGVtKGNvbG9yQXR0cikgfHwgdG9rZW4uZ2V0QXR0cmli
dXRlSXRlbShmYWNlQXR0cikgfHwgdG9rZW4uZ2V0QXR0cmlidXRlSXRlbShzaXplQXR0cikpKTsK
IH0KIAotLy8gRklYTUU6IFR1bmUgdGhpcyBjb25zdGFudCBiYXNlZCBvbiBhIGJlbmNobWFyay4g
VGhlIGN1cnJlbnQgdmFsdWUgd2FzIGNob3NlbiBhcmJpdHJhcmlseS4KLXN0YXRpYyBjb25zdCBz
aXplX3QgcGVuZGluZ1Rva2VuTGltaXQgPSA0MDAwOworc3RhdGljIGNvbnN0IHNpemVfdCBwZW5k
aW5nVG9rZW5MaW1pdCA9IDEwMDA7CiAKIEJhY2tncm91bmRIVE1MUGFyc2VyOjpCYWNrZ3JvdW5k
SFRNTFBhcnNlcihQYXNzUmVmUHRyPFdlYWtSZWZlcmVuY2U8QmFja2dyb3VuZEhUTUxQYXJzZXI+
ID4gcmVmZXJlbmNlLCBQYXNzT3duUHRyPENvbmZpZ3VyYXRpb24+IGNvbmZpZykKICAgICA6IG1f
d2Vha0ZhY3RvcnkocmVmZXJlbmNlLCB0aGlzKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>