Bug 19250
| Summary: | Sunspider gets progressively slower | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Gavin Sherlock <gsherloc> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | Normal | CC: | ap, barraclough, prashantnevase, puurtuur |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Mac | ||
| OS: | OS X 10.5 | ||
| URL: | http://webkit.org/perf/sunspider-0.9/sunspider.html | ||
Gavin Sherlock
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
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Gavin Sherlock
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
Alexey Proskuryakov
Progressing memory fragmentation is what comes to mind first, but ideally, this shouldn't happen, of course.
Alexey Proskuryakov
See also: bug 19369.
Gavin Barraclough
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.
Gavin Barraclough
*** Bug 19369 has been marked as a duplicate of this bug. ***
Gavin Barraclough
*** Bug 66457 has been marked as a duplicate of this bug. ***