Closed
Bug 1079952
Opened 10 years ago
Closed 8 years ago
Default browser on Android is 230% faster in sunspider
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: speciesx, Unassigned)
References
Details
Tested on Galaxy S4 with Android 4.4.2
Firefox nightly
https://www.webkit.org/perf/sunspider-1.0.2/sunspider-1.0.2/results.html?%7B%22v%22:%20%22sunspider-1.0.2%22,%20%223d-cube%22:%5B117,104,115,86,144,86,96,88,92,104%5D,%223d-morph%22:%5B41,40,29,27,29,36,30,31,28,41%5D,%223d-raytrace%22:%5B104,146,99,108,98,121,98,116,86,106%5D,%22access-binary-trees%22:%5B21,16,23,16,16,17,15,18,14,16%5D,%22access-fannkuch%22:%5B46,42,33,37,33,37,32,33,26,42%5D,%22access-nbody%22:%5B20,18,23,17,18,19,17,16,16,40%5D,%22access-nsieve%22:%5B16,13,14,12,11,13,11,11,12,16%5D,%22bitops-3bit-bits-in-byte%22:%5B6,9,6,7,6,6,5,7,5,7%5D,%22bitops-bits-in-byte%22:%5B9,10,9,8,8,12,8,17,8,10%5D,%22bitops-bitwise-and%22:%5B10,6,7,6,6,10,11,8,6,10%5D,%22bitops-nsieve-bits%22:%5B73,21,21,19,20,24,33,21,19,22%5D,%22controlflow-recursive%22:%5B16,12,11,10,11,16,14,10,13,19%5D,%22crypto-aes%22:%5B83,71,52,77,71,76,53,43,76,73%5D,%22crypto-md5%22:%5B35,32,28,29,30,28,46,34,30,32%5D,%22crypto-sha1%22:%5B24,21,21,27,23,21,36,22,20,20%5D,%22date-format-tofte%22:%5B114,73,87,77,91,92,106,71,72,97%5D,%22date-format-xparb%22:%5B104,88,143,103,112,97,104,124,122,133%5D,%22math-cordic%22:%5B20,14,30,27,25,24,16,18,18,26%5D,%22math-partial-sums%22:%5B39,35,31,40,39,36,47,32,36,53%5D,%22math-spectral-norm%22:%5B13,10,19,11,18,10,15,10,17,10%5D,%22regexp-dna%22:%5B44,24,34,26,45,26,30,24,28,28%5D,%22string-base64%22:%5B41,35,54,31,50,50,54,30,47,32%5D,%22string-fasta%22:%5B67,39,41,33,42,62,44,34,40,35%5D,%22string-tagcloud%22:%5B150,192,154,119,137,124,127,118,154,147%5D,%22string-unpack-code%22:%5B234,195,215,160,211,181,144,113,129,161%5D,%22string-validate-input%22:%5B85,49,73,63,53,49,45,37,67,43%5D%7D
Default Browser
https://www.webkit.org/perf/sunspider-1.0.2/sunspider-1.0.2/results.html?{%22v%22:%20%22sunspider-1.0.2%22,%20%223d-cube%22:%5B20,20,20,21,21,21,21,22,21,23%5D,%223d-morph%22:%5B23,21,21,25,21,21,21,21,25,23%5D,%223d-raytrace%22:%5B30,32,30,32,32,32,31,31,32,32%5D,%22access-binary-trees%22:%5B5,5,4,5,5,5,5,5,5,4%5D,%22access-fannkuch%22:%5B11,11,13,12,12,13,11,10,10,11%5D,%22access-nbody%22:%5B7,8,8,7,7,7,7,8,7,8%5D,%22access-nsieve%22:%5B8,7,8,7,7,8,9,9,7,8%5D,%22bitops-3bit-bits-in-byte%22:%5B2,1,1,2,2,2,1,2,2,1%5D,%22bitops-bits-in-byte%22:%5B7,5,8,6,7,7,8,6,5,7%5D,%22bitops-bitwise-and%22:%5B11,9,10,10,10,10,10,10,11,10%5D,%22bitops-nsieve-bits%22:%5B17,16,17,15,16,16,15,16,15,16%5D,%22controlflow-recursive%22:%5B5,10,5,5,8,8,5,5,6,5%5D,%22crypto-aes%22:%5B18,16,14,16,15,15,15,18,16,18%5D,%22crypto-md5%22:%5B8,8,8,9,10,9,8,8,8,8%5D,%22crypto-sha1%22:%5B17,16,17,17,17,17,18,16,19,19%5D,%22date-format-tofte%22:%5B51,51,54,52,54,53,53,58,73,51%5D,%22date-format-xparb%22:%5B49,52,50,48,49,50,49,49,50,50%5D,%22math-cordic%22:%5B14,12,12,12,12,14,12,12,12,12%5D,%22math-partial-sums%22:%5B21,18,17,18,18,17,18,19,18,18%5D,%22math-spectral-norm%22:%5B7,5,4,6,4,6,3,6,7,4%5D,%22regexp-dna%22:%5B20,20,19,20,19,20,20,21,20,20%5D,%22string-base64%22:%5B14,10,10,10,9,13,9,9,10,11%5D,%22string-fasta%22:%5B45,47,47,48,49,45,46,47,49,47%5D,%22string-tagcloud%22:%5B48,43,43,43,43,43,46,43,44,44%5D,%22string-unpack-code%22:%5B78,80,82,81,83,83,83,80,84,79%5D,%22string-validate-input%22:%5B18,20,19,17,18,19,18,18,17,19%5D}
TEST COMPARISON FROM TO DETAILS
===============================================================================
** TOTAL **: 2.34x as fast 1284.2ms +/- 6.9% 549.6ms +/- 1.2% significant
===============================================================================
3d: 3.28x as fast 244.6ms +/- 7.3% 74.6ms +/- 2.4% significant
cube: 4.91x as fast 103.2ms +/- 12.6% 21.0ms +/- 3.2% significant
morph: 1.50x as fast 33.2ms +/- 12.3% 22.2ms +/- 5.4% significant
raytrace: 3.45x as fast 108.2ms +/- 10.9% 31.4ms +/- 1.9% significant
access: 2.76x as fast 86.6ms +/- 11.4% 31.4ms +/- 2.7% significant
binary-trees: 3.58x as fast 17.2ms +/- 11.6% 4.8ms +/- 6.3% significant
fannkuch: 3.17x as fast 36.1ms +/- 11.7% 11.4ms +/- 6.7% significant
nbody: 2.76x as fast 20.4ms +/- 25.2% 7.4ms +/- 5.0% significant
nsieve: 1.65x as fast 12.9ms +/- 10.6% 7.8ms +/- 7.2% significant
bitops: 1.51x as fast 51.6ms +/- 24.2% 34.2ms +/- 3.5% significant
3bit-bits-in-byte: 4.00x as fast 6.4ms +/- 13.1% 1.6ms +/- 23.1% significant
bits-in-byte: 1.50x as fast 9.9ms +/- 20.3% 6.6ms +/- 11.6% significant
bitwise-and: *1.26x as slow* 8.0ms +/- 18.4% 10.1ms +/- 4.0% significant
nsieve-bits: 1.72x as fast 27.3ms +/- 43.4% 15.9ms +/- 3.3% significant
controlflow: 2.13x as fast 13.2ms +/- 16.3% 6.2ms +/- 20.9% significant
recursive: 2.13x as fast 13.2ms +/- 16.3% 6.2ms +/- 20.9% significant
crypto: 2.95x as fast 123.4ms +/- 7.9% 41.8ms +/- 2.9% significant
aes: 4.19x as fast 67.5ms +/- 14.0% 16.1ms +/- 6.4% significant
md5: 3.86x as fast 32.4ms +/- 11.8% 8.4ms +/- 5.9% significant
sha1: 1.36x as fast 23.5ms +/- 14.8% 17.3ms +/- 4.4% significant
date: 1.92x as fast 201.0ms +/- 7.8% 104.6ms +/- 4.6% significant
format-tofte: 1.60x as fast 88.0ms +/- 12.1% 55.0ms +/- 8.7% significant
format-xparb: 2.28x as fast 113.0ms +/- 10.8% 49.6ms +/- 1.5% significant
math: 2.06x as fast 73.9ms +/- 9.2% 35.8ms +/- 5.4% significant
cordic: 1.76x as fast 21.8ms +/- 17.4% 12.4ms +/- 4.9% significant
partial-sums: 2.13x as fast 38.8ms +/- 12.4% 18.2ms +/- 4.5% significant
spectral-norm: 2.56x as fast 13.3ms +/- 19.6% 5.2ms +/- 19.2% significant
regexp: 1.55x as fast 30.9ms +/- 17.9% 19.9ms +/- 2.0% significant
dna: 1.55x as fast 30.9ms +/- 17.9% 19.9ms +/- 2.0% significant
string: 2.28x as fast 459.0ms +/- 11.2% 201.1ms +/- 0.8% significant
base64: 4.04x as fast 42.4ms +/- 16.4% 10.5ms +/- 11.7% significant
fasta: ?? 43.7ms +/- 18.9% 47.0ms +/- 2.2% not conclusive: might be *1.076x as slow*
tagcloud: 3.23x as fast 142.2ms +/- 11.3% 44.0ms +/- 2.8% significant
unpack-code: 2.14x as fast 174.3ms +/- 16.3% 81.3ms +/- 1.8% significant
validate-input: 3.08x as fast 56.4ms +/- 19.2% 18.3ms +/- 3.7% significant
Updated•10 years ago
|
Component: JavaScript Engine → JavaScript Engine: JIT
Comment 1•10 years ago
|
||
Hannes what is the V8 browser we're testing on the Android 4.3 Flame device on AWFY? Chrome? Any idea why this doesn't match the results in comment 0?
Flags: needinfo?(hv1989)
Comment 2•10 years ago
|
||
All tested on the flame running android 4.3
- SS:
> Default browser: 1249.5ms
> Chrome Nightly: ChromeShell: 1814.9ms
> ContentShell: 1872.1ms
> Nightly: 1622.3ms
> Chrome Beta: 1742.8ms
> * lower is better
I use ChromeShell to measure performance on AWFY. Which seems to correspond to actual chrome performance. If we look to beta, it is a bit faster, but this corresponds to chrome degrading performance of ss every release.
Here we also see that the Default browser is much faster on SS. Note that SS doesn't run long enough for the JIT's to help a lot. It is always a balancing to not regress SS with new performance optimizations. So if the Default browser doesn't do fancy tricks as jit compiler etc. It might be faster on SS, but it should be way slower on Octane ...
Which is also the case:
> Richards Deltablue Crypto Raytrace
> Default browser: 1186 1455 1993 1284
> ChromeShell: 2485 3699 2436 3739
> Nightly: 3237 3779 2438 4076
> * higher is better
Note: I only used the first few benchmarks. Since I got the unresponsive dialog on the "Default browser". So the numbers during that popup will definitely be slower. So I only used the first 4 scripts before the unresponsive dialog.
Sunspider isn't really a good benchmark to measure performance. One of the reasons we have these newer ones, like kraken and octane. Chrome and Nightly are both starting to optimize code, which takes time. As a result we are slower on SS. The Default browser doesn't optimize so takes less time, because it isn't optimizing its code.
Flags: needinfo?(hv1989)
Default browser is also faster in Octane and Kraken (but only 3-4% faster).
Default browser vs Nightly
Score 3098 2861
Richards 4981 6591
Deltablue 2583 2061
Crypto 5055 5049
Raytrace 3619 5715
EarleyBoyer 4611 4890
Regsp 604 376
Splay 2027 864
SplayLatency 6297 890
NavierStokes 8310 9863
Pdf.js 2034 1629
Mandreel 2708 2601
MandreelLatency 2140 2801
GB Emulator 3986 6755
CodeLoad 2740 2572
Box2DWeb 1925 2914
zlib 4079 9231
Typescript 3178 1902
Comment 4•10 years ago
|
||
(In reply to SpeciesX from comment #3)
> Default browser is also faster in Octane and Kraken (but only 3-4% faster).
>
> Default browser vs Nightly
> Score 3098 2861
>
> Richards 4981 6591
> Deltablue 2583 2061
> Crypto 5055 5049
> Raytrace 3619 5715
> EarleyBoyer 4611 4890
> Regsp 604 376
> Splay 2027 864
> SplayLatency 6297 890
> NavierStokes 8310 9863
> Pdf.js 2034 1629
> Mandreel 2708 2601
> MandreelLatency 2140 2801
> GB Emulator 3986 6755
> CodeLoad 2740 2572
> Box2DWeb 1925 2914
> zlib 4079 9231
> Typescript 3178 1902
That would make me assume this browser is actually chrome (and not stock browser). Which is possible, since on more and more phones the stack browser is replaced by chrome. (Why is the SS score that much better :0)
Can you find out which browser is the stock browser on your device?
(In reply to Hannes Verschore [:h4writer] from comment #4)
> That would make me assume this browser is actually chrome (and not stock
> browser). Which is possible, since on more and more phones the stack browser
> is replaced by chrome. (Why is the SS score that much better :0)
>
> Can you find out which browser is the stock browser on your device?
It's not Chrome, the name of the Browser App is "Internet" Version 1.5.28
Comment 6•10 years ago
|
||
That seems to be "com.sec.android.app.sbrowser". Not sure what it is based on yet. And I'll try to get that on the flame to see. And also try to find out what the roots of this "stock browser" is and how it comes it is so good at SS and octane.
Updated•10 years ago
|
Flags: needinfo?(hv1989)
Comment 7•10 years ago
|
||
Chromium/Blink has become the engine running the WebView in Android 4.4, which is what the "Internet" browser uses. So it's most likely running Chromium 30, since that was the version it used for 4.4.2.
yea, it is based on chrome.
Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG GT-I9505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36
{ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG GT-I9505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36", "browser": { "name": "Chrome", "version": "28.0.1500.94", "major": "28" }, "engine": { "name": "WebKit", "version": "537.36" }, "os": { "name": "Android", "version": "4.4.2" }, "device": { "model": "GT-I9505", "vendor": "Samsung", "type": "mobile" }, "cpu": {} }
Comment 9•10 years ago
|
||
Oh that means chrome 28, released on 2013-07-10. Looking at AWFY that is a sweetspot for chrome on SS. Afterwards they started degrading the SS score a lot.
Btw. can you run octane a few times. I think you might see a big variation. (Due to octane-splay). Which would make nightly atleast sometimes be faster than chrome on that benchmark. (This issue is being tracked).
Flags: needinfo?(hv1989)
Reporter | ||
Comment 10•10 years ago
|
||
(In reply to Hannes Verschore [:h4writer] from comment #9)
> Btw. can you run octane a few times. I think you might see a big variation.
> (Due to octane-splay). Which would make nightly atleast sometimes be faster
> than chrome on that benchmark. (This issue is being tracked).
After 10 runs i get in average 2700-2900 and only once 3300.
Comment 11•8 years ago
|
||
We (V8 and SM) have been regressing (not on purpose) sunspider every release when improve performance on longer running benchmarks. The stock browser on android was just a very old "V8" version, just before v8 started regressing SS. That is the reason of the performance difference.
Closing since this is a know fact and I don't think the stock browser is still used on android?
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•