<?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>111389</bug_id>
          
          <creation_ts>2013-03-04 17:47:34 -0800</creation_ts>
          <short_desc>Add PerformanceTest for document startup via iframe append/remove</short_desc>
          <delta_ts>2013-03-07 03:27:47 -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>New Bugs</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>110876</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>dcarney</cc>
    
    <cc>haraken</cc>
    
    <cc>jochen</cc>
    
    <cc>mkwst</cc>
    
    <cc>nduca</cc>
    
    <cc>peter</cc>
    
    <cc>rniwa</cc>
    
    <cc>tonyg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>847109</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 17:47:34 -0800</bug_when>
    <thetext>Add PerformanceTest for document startup via iframe append/remove</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847113</commentid>
    <comment_count>1</comment_count>
      <attachid>191367</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 17:50:02 -0800</bug_when>
    <thetext>Created attachment 191367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847115</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 17:51:04 -0800</bug_when>
    <thetext>The poor performance of our iframe startup is the root cause behind the timeouts in bug 110876.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847116</commentid>
    <comment_count>3</comment_count>
      <attachid>191367</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 17:51:43 -0800</bug_when>
    <thetext>Comment on attachment 191367
Patch

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847117</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 17:51:58 -0800</bug_when>
    <thetext>Is someone working on improving the performance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847123</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 17:56:14 -0800</bug_when>
    <thetext>%run-perf-tests DOM/iframe-append-remove.html --chromium --release         [/src/WebKit/PerformanceTests]

Running 1 tests
Running DOM/iframe-append-remove.html (1 of 1)
DESCRIPTION: This benchmark tests adding/removing an iframe from the DOM
RESULT DOM: iframe-append-remove: Runs= 69.4810809919 runs/s
median= 69.4740711458 runs/s, stdev= 1.9264792407 runs/s, min= 65.68248037 runs/s, max= 74.5266625482 runs/s
RESULT DOM: iframe-append-remove: JSHeap= 55972944.8 bytes
median= 56490824.0 bytes, stdev= 3181796.3693 bytes, min= 46464360.0 bytes, max= 58860160.0 bytes
RESULT DOM: iframe-append-remove: Malloc= 0.0 bytes
median= 0.0 bytes, stdev= 0.0 bytes, min= 0.0 bytes, max= 0.0 bytes
Finished: 23.599536 s

%run-perf-tests DOM/iframe-append-remove.html --chromium --debug           [/src/WebKit/PerformanceTests]
Running 1 tests
Running DOM/iframe-append-remove.html (1 of 1)
DESCRIPTION: This benchmark tests adding/removing an iframe from the DOM
RESULT DOM: iframe-append-remove: Runs= 4.77791539633 runs/s
median= 4.75796009956 runs/s, stdev= 0.0924369707694 runs/s, min= 4.58572029651 runs/s, max= 4.91179038154 runs/s
RESULT DOM: iframe-append-remove: JSHeap= 9151589.2 bytes
median= 9546816.0 bytes, stdev= 892193.548796 bytes, min= 7730712.0 bytes, max= 10387696.0 bytes
RESULT DOM: iframe-append-remove: Malloc= 0.0 bytes
median= 0.0 bytes, stdev= 0.0 bytes, min= 0.0 bytes, max= 0.0 bytes
Finished: 33.710775 s

Note the values of interest:

Release:
RESULT DOM: iframe-append-remove: Runs= 69.4810809919 runs/s
Debug:
RESULT DOM: iframe-append-remove: Runs= 4.77791539633 runs/s

run-perf-tests is found at WebKit/Tools/Scripts/run-perf-tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847126</commentid>
    <comment_count>6</comment_count>
      <attachid>191367</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-04 17:57:22 -0800</bug_when>
    <thetext>Comment on attachment 191367
Patch

Please don&apos;t add new tests to DOM. This directory should only contain tests imported from chromium&apos;s dom_perf test. We should probably rename it to something else and add DOM directory instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847128</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 17:58:38 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Is someone working on improving the performance?

Not to my knowledge.  This came to my attention due to bug 110876, which I investigated (thinking the parser was doing something wrong) and found that v8 startup was completely dominating the -data variants of the test.  Each -data test uses iframe.src=&quot;data:...&quot; loads for the subtests.  There are hundreds of subtests in some tests.  Thus in debug, it&apos;s not surprising that we&apos;re timing out if each frame takes 1/5th of a second to load v8. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847134</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 18:01:00 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 191367 [details])
&gt; Please don&apos;t add new tests to DOM. This directory should only contain tests imported from chromium&apos;s dom_perf test. We should probably rename it to something else and add DOM directory instead.

That&apos;s absolutely ridiculous.  I added a README to warn future committers.  Please edit it to explain the situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847136</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 18:01:21 -0800</bug_when>
    <thetext>Committed r144704: &lt;http://trac.webkit.org/changeset/144704&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847278</commentid>
    <comment_count>10</comment_count>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-03-04 22:22:28 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Is someone working on improving the performance?

There&apos;s an effort to get more or less instant context startup in v8.  It will take some time to get there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847297</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-04 22:53:16 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #4)
&gt; &gt; Is someone working on improving the performance?
&gt; 
&gt; There&apos;s an effort to get more or less instant context startup in v8.  It will take some time to get there.

Currently it looks like it takes about 1000/70 = 14.2ms (nearly a full frame) on my ridiculous Linux desktop.

Glad to hear its on the plan. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847321</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-04 23:27:43 -0800</bug_when>
    <thetext>We should run this test on Android to see how long it takes there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847366</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-05 00:18:00 -0800</bug_when>
    <thetext>Agreed.  I&apos;ll be away from my linux desktop (and thus Android build) tomorrow, but perhaps one of the folks with CrAndroid WebKit checkouts might try:

run-perf-tests DOM/iframe-append-remove.html --chromium-android --release

and report back. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847367</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-05 00:18:28 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Agreed.  I&apos;ll be away from my linux desktop (and thus Android build) tomorrow, but perhaps one of the folks with CrAndroid WebKit checkouts might try:
&gt; 
&gt; run-perf-tests DOM/iframe-append-remove.html --chromium-android --release
&gt; 
&gt; and report back. :)

Sorry, that changed to Parser/iframe-append-remove.html.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191367</attachid>
            <date>2013-03-04 17:50:02 -0800</date>
            <delta_ts>2013-03-04 17:57:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111389-20130304174610.patch</filename>
            <type>text/plain</type>
            <size>1655</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjYxCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE0Y2U2YzEzMmQ5
YmUzZmQwMjhlNjMyNDM4MTdlMmNlNGY2NTlkZmMuLjkyY2Y4YTgyZWEzZWRjYjVjZWFhZGU4YzMy
MDlkMWNhN2E4MDJlNzQgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMt
MDQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBQZXJmb3Jt
YW5jZVRlc3QgZm9yIGRvY3VtZW50IHN0YXJ0dXAgdmlhIGlmcmFtZSBhcHBlbmQvcmVtb3ZlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEzODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSdkIGxpa2Ug
cGFnZXMgd2l0aCBsb3RzIG9mIGlmcmFtZXMgdG8gYmUgZmFzdC4KKyAgICAgICAgVGhpcyB0ZXN0
IHNob3dzIHRoYXQgYXQgbGVhc3QgZm9yIFY4L0Nocm9taXVtIHdlIHNwZW5kCisgICAgICAgIGFs
bCBvdXIgdGltZSBib290aW5nIHY4LgorCisgICAgICAgIE9uIG15IDMyLWNvcmUgbGludXggbWFj
aGluZSBJIHNlZSBhYm91dCA3MCBydW5zL3NlYyBpbgorICAgICAgICBSZWxlYXNlIGFuZCA1IHJ1
bnMvc2VjIGluIERlYnVnLgorCisgICAgICAgICogRE9NL2lmcmFtZS1hcHBlbmQtcmVtb3ZlLmh0
bWw6IEFkZGVkLgorCiAyMDEzLTAzLTAzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFNvbWUgcGVyZi4gdGVzdHMgaGF2ZSB2YXJpYW5jZXMgdGhhdCBkaWZmZXIg
Z3JlYXRseSBiZXR3ZWVuIHJ1bnMKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvRE9NL2lm
cmFtZS1hcHBlbmQtcmVtb3ZlLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0RPTS9pZnJhbWUtYXBw
ZW5kLXJlbW92ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMmFiNjZkNzBmNjI5NDdlMTI5YTlhN2U0MjE4
MTUxZWU0NTY3M2EKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL0RPTS9pZnJh
bWUtYXBwZW5kLXJlbW92ZS5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvcnVubmVyLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK1BlcmZUZXN0UnVubmVyLm1lYXN1cmVSdW5zUGVyU2Vjb25kKHsK
KyAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJrIHRlc3RzIGFkZGluZy9yZW1vdmluZyBh
biBpZnJhbWUgZnJvbSB0aGUgRE9NIiwKKyAgICBydW46IGZ1bmN0aW9uKCkgeworICAgICAgICB2
YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChpZnJhbWUpOworICAgIH19KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>
<flag name="review"
          id="212307"
          type_id="1"
          status="+"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="212308"
          type_id="3"
          status="-"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>