Bug 19250 - Sunspider gets progressively slower
Summary: Sunspider gets progressively slower
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Nobody
URL: http://webkit.org/perf/sunspider-0.9/...
Keywords:
: 19369 66457 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-05-25 22:57 PDT by Gavin Sherlock
Modified: 2012-09-07 00:26 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gavin Sherlock 2008-05-25 22:57:23 PDT
Steps to reproduce:

1.  Launch webkit
2.  Go to bug URL
3.  Run Sunspider - make note of results, and results' URL
4.  Re-run it several times

Expected results:
Performance should be similar across runs

Actual results:
Performance is worse after each run - the overall time was always worse.

Results of a comparison between the first run and the fifth run pasted below:

TEST                   COMPARISON            FROM                 TO             DETAILS

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

** TOTAL **:           *1.05x as slow*   1836.8ms +/- 0.8%   1927.0ms +/- 0.3%     significant

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

  3d:                  *1.07x as slow*    243.2ms +/- 2.1%    259.6ms +/- 0.7%     significant
    cube:              *1.13x as slow*     77.4ms +/- 4.2%     87.6ms +/- 0.8%     significant
    morph:             ??                  80.4ms +/- 2.6%     81.0ms +/- 1.1%     not conclusive: might be *1.01x as slow*
    raytrace:          *1.07x as slow*     85.4ms +/- 0.8%     91.0ms +/- 1.7%     significant

  access:              *1.08x as slow*    293.0ms +/- 1.7%    316.6ms +/- 0.8%     significant
    binary-trees:      *1.27x as slow*     32.0ms +/- 2.7%     40.8ms +/- 4.0%     significant
    fannkuch:          -                  112.2ms +/- 2.9%    111.0ms +/- 0.0% 
    nbody:             *1.16x as slow*    117.2ms +/- 0.5%    135.6ms +/- 0.5%     significant
    nsieve:            -                   31.6ms +/- 8.6%     29.2ms +/- 1.9% 

  bitops:              -                  197.0ms +/- 1.3%    196.8ms +/- 0.9% 
    3bit-bits-in-byte: -                   31.2ms +/- 1.8%     31.0ms +/- 2.8% 
    bits-in-byte:      -                   37.4ms +/- 1.8%     37.2ms +/- 1.5% 
    bitwise-and:       -                   55.8ms +/- 1.9%     55.8ms +/- 1.9% 
    nsieve-bits:       ??                  72.6ms +/- 3.1%     72.8ms +/- 0.8%     not conclusive: might be *1.00x as slow*

  controlflow:         -                   21.2ms +/- 2.6%     21.2ms +/- 2.6% 
    recursive:         -                   21.2ms +/- 2.6%     21.2ms +/- 2.6% 

  crypto:              *1.04x as slow*    120.2ms +/- 0.5%    125.4ms +/- 1.1%     significant
    aes:               ??                  48.4ms +/- 1.4%     48.6ms +/- 2.3%     not conclusive: might be *1.00x as slow*
    md5:               *1.04x as slow*     35.8ms +/- 1.6%     37.2ms +/- 1.5%     significant
    sha1:              *1.10x as slow*     36.0ms +/- 0.0%     39.6ms +/- 1.7%     significant

  date:                *1.03x as slow*    162.2ms +/- 0.8%    167.6ms +/- 0.4%     significant
    format-tofte:      *1.03x as slow*     99.6ms +/- 0.7%    102.6ms +/- 0.7%     significant
    format-xparb:      *1.04x as slow*     62.6ms +/- 1.1%     65.0ms +/- 1.4%     significant

  math:                *1.12x as slow*    190.0ms +/- 0.7%    212.4ms +/- 0.9%     significant
    cordic:            *1.14x as slow*     63.4ms +/- 1.8%     72.0ms +/- 2.7%     significant
    partial-sums:      *1.10x as slow*     86.6ms +/- 1.3%     95.6ms +/- 0.7%     significant
    spectral-norm:     *1.12x as slow*     40.0ms +/- 0.0%     44.8ms +/- 2.3%     significant

  regexp:              *1.01x as slow*    175.6ms +/- 0.6%    177.2ms +/- 0.9%     significant
    dna:               *1.01x as slow*    175.6ms +/- 0.6%    177.2ms +/- 0.9%     significant

  string:              *1.04x as slow*    434.4ms +/- 0.9%    450.2ms +/- 1.0%     significant
    base64:            *1.03x as slow*     70.4ms +/- 1.0%     72.4ms +/- 0.9%     significant
    fasta:             ??                  80.8ms +/- 1.3%     81.4ms +/- 1.4%     not conclusive: might be *1.01x as slow*
    tagcloud:          *1.04x as slow*    102.8ms +/- 3.1%    106.8ms +/- 1.5%     significant
    unpack-code:       *1.02x as slow*    107.6ms +/- 0.6%    110.2ms +/- 0.9%     significant
    validate-input:    *1.09x as slow*     72.8ms +/- 1.4%     79.4ms +/- 3.6%     significant

tested with r34130 on 10.5.2 on a MacPro
Comment 1 Gavin Sherlock 2008-05-27 06:21:50 PDT
Note, this behavior is also observed under 3.1.1 (5525.18).  The slow down as a percentage and in terms of milliseconds is not as extreme, though I don't know whether that qualifies this as a regression.  A comparison of the 1st and 5th runs under 3.1.1, on the same machine as I used for r34130, is below:

TEST                   COMPARISON            FROM                 TO             DETAILS

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

** TOTAL **:           *1.02x as slow*   2858.6ms +/- 0.3%   2923.8ms +/- 0.3%     significant

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

  3d:                  *1.04x as slow*    350.4ms +/- 0.8%    364.2ms +/- 0.8%     significant
    cube:              *1.09x as slow*    115.8ms +/- 2.1%    125.8ms +/- 0.8%     significant
    morph:             -                  120.4ms +/- 1.6%    119.2ms +/- 1.4% 
    raytrace:          *1.04x as slow*    114.2ms +/- 0.9%    119.2ms +/- 0.9%     significant

  access:              *1.03x as slow*    444.4ms +/- 0.7%    456.8ms +/- 0.2%     significant
    binary-trees:      *1.03x as slow*     60.4ms +/- 2.3%     62.4ms +/- 1.1%     significant
    fannkuch:          ??                 201.6ms +/- 1.5%    203.8ms +/- 0.7%     not conclusive: might be *1.01x as slow*
    nbody:             *1.07x as slow*    129.4ms +/- 1.1%    138.2ms +/- 0.4%     significant
    nsieve:            -                   53.0ms +/- 4.1%     52.4ms +/- 1.3% 

  bitops:              ??                 388.2ms +/- 1.2%    388.8ms +/- 0.7%     not conclusive: might be *1.00x as slow*
    3bit-bits-in-byte: -                   57.6ms +/- 1.2%     57.0ms +/- 2.2% 
    bits-in-byte:      ??                  85.4ms +/- 2.4%     85.6ms +/- 1.3%     not conclusive: might be *1.00x as slow*
    bitwise-and:       -                  146.4ms +/- 1.5%    145.8ms +/- 2.1% 
    nsieve-bits:       *1.02x as slow*     98.8ms +/- 1.1%    100.4ms +/- 0.7%     significant

  controlflow:         ??                  75.2ms +/- 0.7%     75.6ms +/- 0.9%     not conclusive: might be *1.01x as slow*
    recursive:         ??                  75.2ms +/- 0.7%     75.6ms +/- 0.9%     not conclusive: might be *1.01x as slow*

  crypto:              *1.02x as slow*    202.0ms +/- 0.4%    205.8ms +/- 0.5%     significant
    aes:               *1.02x as slow*     66.8ms +/- 0.8%     68.0ms +/- 0.0%     significant
    md5:               *1.02x as slow*     67.4ms +/- 1.0%     69.0ms +/- 0.0%     significant
    sha1:              *1.01x as slow*     67.8ms +/- 0.8%     68.8ms +/- 1.5%     significant

  date:                *1.02x as slow*    254.8ms +/- 0.2%    259.0ms +/- 0.5%     significant
    format-tofte:      *1.01x as slow*    116.8ms +/- 0.5%    118.2ms +/- 0.9%     significant
    format-xparb:      *1.02x as slow*    138.0ms +/- 0.0%    140.8ms +/- 0.4%     significant

  math:                *1.04x as slow*    391.4ms +/- 1.1%    407.4ms +/- 0.6%     significant
    cordic:            *1.04x as slow*    152.0ms +/- 1.6%    157.4ms +/- 0.7%     significant
    partial-sums:      *1.04x as slow*    167.0ms +/- 1.1%    173.4ms +/- 0.8%     significant
    spectral-norm:     *1.06x as slow*     72.4ms +/- 0.9%     76.6ms +/- 0.9%     significant

  regexp:              -                  185.0ms +/- 0.8%    184.2ms +/- 0.6% 
    dna:               -                  185.0ms +/- 0.8%    184.2ms +/- 0.6% 

  string:              *1.03x as slow*    567.2ms +/- 0.2%    582.0ms +/- 0.6%     significant
    base64:            *1.04x as slow*     84.6ms +/- 1.7%     87.8ms +/- 1.2%     significant
    fasta:             *1.01x as slow*    153.4ms +/- 0.4%    154.6ms +/- 0.7%     significant
    tagcloud:          *1.04x as slow*    113.6ms +/- 0.6%    118.0ms +/- 0.7%     significant
    unpack-code:       *1.01x as slow*    114.4ms +/- 1.2%    116.0ms +/- 0.8%     significant
    validate-input:    *1.04x as slow*    101.2ms +/- 0.5%    105.6ms +/- 2.4%     significant
Comment 2 Alexey Proskuryakov 2008-05-27 09:46:13 PDT
Progressing memory fragmentation is what comes to mind first, but ideally, this shouldn't happen, of course.
Comment 3 Alexey Proskuryakov 2008-06-03 05:27:22 PDT
See also: bug 19369.
Comment 4 Gavin Barraclough 2012-09-06 18:02:06 PDT
I ran SunSpider 10 times and got these results:

190.5
190.4
191.4
187.9
189.7
187.4
192.9
187.9
190.4
187.1

I can't repro a pattern of a regression over time.
Comment 5 Gavin Barraclough 2012-09-06 18:03:35 PDT
*** Bug 19369 has been marked as a duplicate of this bug. ***
Comment 6 Gavin Barraclough 2012-09-07 00:26:40 PDT
*** Bug 66457 has been marked as a duplicate of this bug. ***