<?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>71799</bug_id>
          
          <creation_ts>2011-11-08 04:55:42 -0800</creation_ts>
          <short_desc>Extend sunspider driver to be able to run kraken</short_desc>
          <delta_ts>2011-11-15 13:04:12 -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>Tools / Tests</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andy Wingo">wingo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497953</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 04:55:42 -0800</bug_when>
    <thetext>Kraken (http://krakenbenchmark.mozilla.org/, http://code.google.com/p/kraken-mirror/) is a JS benchmark that can be browser-hosted, or it can be run standalone.  It uses the sunspider test harness, modified to allow a &quot;data&quot; file to be loaded beforehand.  Loading the data file is not included in the timings.

The patch to be attached allows JSC&apos;s sunspider harness to run kraken tests.  You can run it as ./sunspider --shell==..../jsc --suite=/absolute/path/to/kraken-1.1/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497955</commentid>
    <comment_count>1</comment_count>
      <attachid>114042</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 04:58:06 -0800</bug_when>
    <thetext>Created attachment 114042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497956</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 04:59:22 -0800</bug_when>
    <thetext>Does not seem to affect sunspider-1.0 runs:


TEST                   COMPARISON            FROM                 TO             DETAILS

=============================================================================

** TOTAL **:           ??                162.2ms +/- 1.0%   164.5ms +/- 1.5%     not conclusive: might be *1.014x as slow*

=============================================================================

  3d:                  ??                 25.3ms +/- 5.2%    25.9ms +/- 7.7%     not conclusive: might be *1.024x as slow*
    cube:              ??                 10.1ms +/- 12.7%    10.7ms +/- 18.9%     not conclusive: might be *1.059x as slow*
    morph:             -                   7.2ms +/- 4.2%     7.1ms +/- 3.2% 
    raytrace:          ??                  8.0ms +/- 0.0%     8.1ms +/- 2.8%     not conclusive: might be *1.012x as slow*

  access:              -                  21.2ms +/- 2.1%    20.9ms +/- 1.9% 
    binary-trees:      -                   2.0ms +/- 0.0%     2.0ms +/- 0.0% 
    fannkuch:          -                  10.9ms +/- 2.1%    10.8ms +/- 2.8% 
    nbody:             -                   5.3ms +/- 6.5%     5.1ms +/- 4.4% 
    nsieve:            -                   3.0ms +/- 0.0%     3.0ms +/- 0.0% 

  bitops:              ??                 14.3ms +/- 2.4%    14.8ms +/- 3.1%     not conclusive: might be *1.035x as slow*
    3bit-bits-in-byte: -                   2.0ms +/- 0.0%     2.0ms +/- 0.0% 
    bits-in-byte:      -                   5.2ms +/- 5.8%     5.2ms +/- 5.8% 
    bitwise-and:       -                   3.0ms +/- 0.0%     3.0ms +/- 0.0% 
    nsieve-bits:       *1.122x as slow*    4.1ms +/- 5.5%     4.6ms +/- 8.0%     significant

  controlflow:         ??                  1.0ms +/- 0.0%     1.2ms +/- 25.1%     not conclusive: might be *1.20x as slow*
    recursive:         ??                  1.0ms +/- 0.0%     1.2ms +/- 25.1%     not conclusive: might be *1.20x as slow*

  crypto:              -                  10.1ms +/- 2.2%    10.1ms +/- 2.2% 
    aes:               -                   6.0ms +/- 0.0%     6.0ms +/- 0.0% 
    md5:               -                   2.1ms +/- 10.8%     2.1ms +/- 10.8% 
    sha1:              -                   2.0ms +/- 0.0%     2.0ms +/- 0.0% 

  date:                *1.033x as slow*   18.1ms +/- 1.2%    18.7ms +/- 2.6%     significant
    format-tofte:      ??                 10.1ms +/- 2.2%    10.4ms +/- 3.5%     not conclusive: might be *1.030x as slow*
    format-xparb:      ??                  8.0ms +/- 0.0%     8.3ms +/- 4.2%     not conclusive: might be *1.038x as slow*

  math:                *1.037x as slow*   16.1ms +/- 1.4%    16.7ms +/- 2.1%     significant
    cordic:            *1.118x as slow*    5.1ms +/- 4.4%     5.7ms +/- 6.1%     significant
    partial-sums:      -                   8.0ms +/- 0.0%     8.0ms +/- 0.0% 
    spectral-norm:     -                   3.0ms +/- 0.0%     3.0ms +/- 0.0% 

  regexp:              ??                 12.3ms +/- 2.8%    12.5ms +/- 3.0%     not conclusive: might be *1.016x as slow*
    dna:               ??                 12.3ms +/- 2.8%    12.5ms +/- 3.0%     not conclusive: might be *1.016x as slow*

  string:              -                  43.8ms +/- 1.0%    43.7ms +/- 0.8% 
    base64:            -                   4.0ms +/- 0.0%     4.0ms +/- 0.0% 
    fasta:             -                   6.2ms +/- 4.9%     6.2ms +/- 4.9% 
    tagcloud:          -                  11.0ms +/- 0.0%    10.9ms +/- 2.1% 
    unpack-code:       -                  17.6ms +/- 2.1%    17.6ms +/- 2.1% 
    validate-input:    -                   5.0ms +/- 0.0%     5.0ms +/- 0.0%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498182</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-11-08 10:05:37 -0800</bug_when>
    <thetext>Could you please describe what the rationale for making this change is? What makes running Kraken tests inside Sunspider useful?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498741</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-09 02:07:01 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Could you please describe what the rationale for making this change is? What makes running Kraken tests inside Sunspider useful?

Hi Alexey,

The goal is to make it easier to benchmark changes to JSC.  Kraken is a useful and widely-used benchmark, as seen in bug 71686.  Also, SunSpider isn&apos;t terrible useful for testing the DFG JIT.  Kraken&apos;s sunspider-compare-results is broken, but WebKit&apos;s sunspider can&apos;t run Kraken, so currently you have to use one tool from one and one from the other.

Eventually, and for the same reasons that the V8 benchmarks can be run with the sunspider harness, I would like to import Kraken&apos;s benchmarks into the WebKit repo.  This change to the driver would be necessary.  However it is useful even if we do not import Kraken, and otherwise harmless.

Andy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499076</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-09 09:39:54 -0800</bug_when>
    <thetext>I believe the &apos;bencher&apos; script is the intended replacement for the sunspider harness, and it can run SunSpider, V8, and Kraken.

Phil, is that correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499138</commentid>
    <comment_count>6</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-09 10:52:25 -0800</bug_when>
    <thetext>FWIW, I&apos;m fine with using whatever works.  However, (1) this patch might still be a good idea, and (2) whatever recommended benchmarking procedure is decided on should probably be documented somewhere so other people don&apos;t lose so much time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499258</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-09 12:35:02 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; FWIW, I&apos;m fine with using whatever works.  However, (1) this patch might still be a good idea, and (2) whatever recommended benchmarking procedure is decided on should probably be documented somewhere so other people don&apos;t lose so much time.

I think that this is still a good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499262</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-09 12:36:08 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Could you please describe what the rationale for making this change is? What makes running Kraken tests inside Sunspider useful?
&gt; 
&gt; Hi Alexey,
&gt; 
&gt; The goal is to make it easier to benchmark changes to JSC.  Kraken is a useful and widely-used benchmark, as seen in bug 71686.  Also, SunSpider isn&apos;t terrible useful for testing the DFG JIT.  Kraken&apos;s sunspider-compare-results is broken, but WebKit&apos;s sunspider can&apos;t run Kraken, so currently you have to use one tool from one and one from the other.
&gt; 
&gt; Eventually, and for the same reasons that the V8 benchmarks can be run with the sunspider harness, I would like to import Kraken&apos;s benchmarks into the WebKit repo.  This change to the driver would be necessary.  However it is useful even if we do not import Kraken, and otherwise harmless.
&gt; 
&gt; Andy.

As well, the -data.js feature of Kraken, which this patch adds to our harness, is generally useful.  We might like to use it for any future benchmarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502974</commentid>
    <comment_count>9</comment_count>
      <attachid>114042</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-15 09:39:28 -0800</bug_when>
    <thetext>Comment on attachment 114042
Patch

Setting cq?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503178</commentid>
    <comment_count>10</comment_count>
      <attachid>114042</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 13:04:08 -0800</bug_when>
    <thetext>Comment on attachment 114042
Patch

Clearing flags on attachment: 114042

Committed r100313: &lt;http://trac.webkit.org/changeset/100313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503179</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 13:04:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114042</attachid>
            <date>2011-11-08 04:58:06 -0800</date>
            <delta_ts>2011-11-15 13:04:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71799-20111108135804.patch</filename>
            <type>text/plain</type>
            <size>2411</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1NDAKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMv
U3VuU3BpZGVyL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyL0NoYW5nZUxv
ZwppbmRleCBhY2U2NjVmNjUxOTdlZTE2YjIzYTkyZmVkZWUzYzhkYTQ5MzFmOTBjLi4yNzMyYjIy
ZTY3MjNhODEyYzc5MGIzZDBlMGRhODNjNmVmODY0YTk4IDEwMDY0NAotLS0gYS9QZXJmb3JtYW5j
ZVRlc3RzL1N1blNwaWRlci9DaGFuZ2VMb2cKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TdW5TcGlk
ZXIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTEtMDggIEFuZHkgV2luZ28gIDx3
aW5nb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEV4dGVuZCBzdW5zcGlkZXIgZHJpdmVyIHRvIGJl
IGFibGUgdG8gcnVuIGtyYWtlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzE3OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHJlc291cmNlcy9zdW5zcGlkZXItc3RhbmRhbG9uZS1kcml2ZXIuanM6IFRy
eSB0byBsb2FkIGEgLWRhdGEKKyAgICAgICAgZmlsZS4gIElmIHRoYXQgc3VjY2VlZHMsIHdlIGhh
dmUgYSBrcmFrZW4tbGlrZSB0ZXN0LCBzbyB3ZSB0aW1lCisgICAgICAgIHRoZSB0ZXN0IHVzaW5n
IGBsb2FkJy4gIE90aGVyd2lzZSBmYWxsIGJhY2sgdG8gdXNpbmcgYHJ1bicuCisKIDIwMTEtMDgt
MTEgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc3Vuc3BpZGVy
LWNvbXBhcmUtcmVzdWx0cyB0byBkZWZhdWx0IHRvIHRoZSBzYW1lIHN1aXRlIHZlcnNpb24gYXMg
dGhlIHN1bnNwaWRlciBzY3JpcHQuCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1N1blNw
aWRlci9yZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5kYWxvbmUtZHJpdmVyLmpzIGIvUGVyZm9ybWFu
Y2VUZXN0cy9TdW5TcGlkZXIvcmVzb3VyY2VzL3N1bnNwaWRlci1zdGFuZGFsb25lLWRyaXZlci5q
cwppbmRleCAxMzZlNmI3NjY3OTgyZTQ5MjQ0YmRlMGMyYjk3Y2Q5YWE1NDMxMTFhLi5lNjY4NmYx
ZjYzODU2YjFjNDVlNTQxYzNkOWZjYTM5MmU0YzRlNzdkIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5j
ZVRlc3RzL1N1blNwaWRlci9yZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5kYWxvbmUtZHJpdmVyLmpz
CisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyL3Jlc291cmNlcy9zdW5zcGlkZXItc3Rh
bmRhbG9uZS1kcml2ZXIuanMKQEAgLTMyLDEyICszMiwyOCBAQCB2YXIgdGltZXMgPSBbXTsKIHRp
bWVzLmxlbmd0aCA9IHRlc3RzLmxlbmd0aDsKIAogZm9yICh2YXIgaiA9IDA7IGogPCB0ZXN0cy5s
ZW5ndGg7IGorKykgewotICAgIHZhciB0ZXN0TmFtZSA9IHN1aXRlUGF0aCArICIvIiArIHRlc3Rz
W2pdICsgIi5qcyI7Ci0gICAgdmFyIHN0YXJ0VGltZSA9IG5ldyBEYXRlOwotICAgIGlmICh0ZXN0
TmFtZS5pbmRleE9mKCdwYXJzZS1vbmx5JykgPj0gMCkKKyAgICB2YXIgdGVzdEJhc2UgPSBzdWl0
ZVBhdGggKyAiLyIgKyB0ZXN0c1tqXTsKKyAgICB2YXIgdGVzdE5hbWUgPSB0ZXN0QmFzZSArICIu
anMiOworICAgIHZhciB0ZXN0RGF0YSA9IHRlc3RCYXNlICsgIi1kYXRhLmpzIjsKKworICAgIGlm
ICh0ZXN0TmFtZS5pbmRleE9mKCdwYXJzZS1vbmx5JykgPj0gMCkgewogICAgICAgICB0aW1lc1tq
XSA9IGNoZWNrU3ludGF4KHRlc3ROYW1lKTsKLSAgICBlbHNlCi0gICAgICAgIHRpbWVzW2pdID0g
cnVuKHRlc3ROYW1lKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBUZXN0cyBtYXkgb3IgbWF5
IG5vdCBoYXZlIGFzc29jaWF0ZWQgLWRhdGEgZmlsZXMgd2hvc2UgbG9hZGluZworICAgICAgICAv
LyBzaG91bGQgbm90IGJlIHRpbWVkLgorICAgICAgICB0cnkgeworICAgICAgICAgICAgbG9hZCh0
ZXN0RGF0YSk7CisgICAgICAgICAgICAvLyBJZiBhIGZpbGUgZG9lcyBoYXZlIHRlc3QgZGF0YSwg
dGhlbiB3ZSBjYW4ndCB1c2UgdGhlCisgICAgICAgICAgICAvLyBoaWdoZXItcHJlY2lzaW9uIGBy
dW4nIHRpbWVyLCBiZWNhdXNlIGBydW4nIHVzZXMgYSBmcmVzaAorICAgICAgICAgICAgLy8gZ2xv
YmFsIGVudmlyb25tZW50LCBzbyB3ZSBmYWxsIGJhY2sgdG8gYGxvYWQnLgorICAgICAgICAgICAg
dmFyIHN0YXJ0VGltZSA9IG5ldyBEYXRlOworICAgICAgICAgICAgbG9hZCh0ZXN0TmFtZSk7Cisg
ICAgICAgICAgICB0aW1lc1tqXSA9IG5ldyBEYXRlKCkgLSBzdGFydFRpbWU7CisgICAgICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIC8vIE5vIHRlc3QgZGF0YSwganVzdCB1c2UgYHJ1bicu
CisgICAgICAgICAgICB0aW1lc1tqXSA9IHJ1bih0ZXN0TmFtZSk7CisgICAgICAgIH0KKyAgICB9
CiAgICAgZ2MoKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>