Closed Bug 663450 Opened 13 years ago Closed 13 years ago

TI: In-browser Kraken Gaussian Blur regression

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tim_vdeynde, Unassigned)

References

()

Details

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0a1) Gecko/20110610 Firefox/7.0a1 Build Identifier: The in-browser Gaussian Blur test found at the attached URL performs way slower than JM/TM in Firefox 4, numbers are 7s vs 800ms on my machine. This is rather surprising, as AWFY (and running the Kraken benchmark itself without the visuals for that matter) shows much better results. Reproducible: Always
Interesting. This version of gaussian-blur uses typed arrays, which are currently disabled (bug 643842).
Status: UNCONFIRMED → NEW
Ever confirmed: true
(In reply to comment #1) > which are currently disabled (bug 643842). Ehm only the ICs are diabled of course ;)
No longer blocks: 643842
Depends on: 643842
Are they actually the same benchmarks even? (looking at the source, it seems so, but I wouldn't be surprised to be wrong) I just noticed the desaturate test runs 10 times *quicker* on http://krakenbenchmark.mozilla.org/explanations/desaturate.html than in the benchmark suite itself. If they're equal, why aren't we getting these numbers there?
(In reply to comment #3) > Are they actually the same benchmarks even? (looking at the source, it seems > so, but I wouldn't be surprised to be wrong) Sorry, forgot to answer your question. Kraken initially used typed arrays, but the benchmark was changed to use normal arrays (becuase not every browser supports typed arrays). The typed array patches improved this a lot, but still a bit slower than TM: FF 5 : 764 ms JM+TI : 965 ms FF 5 JM-only : 7025 ms The loop has a number of common subexpressions such as "4 * ((y + j) * width + (x + i))" and "Math.abs(j)". This is hard to optimize in JM but IonMonkey's GVN optimization should help here. Hopefully we can also use this optimization (or Ion's LICM) for the typed array slots, so that we don't have to load the slots for every access (JM+TI's LICM is unable to optimize this loop).
Is the regression still valid? Here ( http://arewefastyet.com/?machine=9&view=breakdown ) I see JM+TI performing better than TM+JM.
AWFY runs in the shell, not in the browser. Do you see the same behavior in-browser?
This bug is for this browser version of gaussian-blur: http://krakenbenchmark.mozilla.org/explanations/gaussian-blur.html This version uses typed arrays; the gaussian-blur in Kraken uses normal arrays. I get about 800 ms with the latest nightly, 760 ms with FF 6. As explained in comment 4 we need Ion to beat the tracer here. 40 ms slower is a lot better than 7 seconds (comment 0), so I think we can close this.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.