Javascript performance problems in Linux build

RESOLVED INVALID

Status

()

Core
JavaScript Engine
--
enhancement
RESOLVED INVALID
9 years ago
9 years ago

People

(Reporter: jbenjos, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

9 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4
Build Identifier: Firefox 3.0.4

Sunspider tests show that the native-builds of Firefox in Fedora and Ubuntu perform worse then Windows builds (even running within Wine).

Reproducible: Always

Steps to Reproduce:
1. Download Windows build of Firefox and run in Wine 
2. Download/use native build of Firefox
3. Test Javascript performance via Sunspider
Actual Results:  
The native build of Firefox executes the benchmarks in more then twice the time of the Windows build.

Expected Results:  
The native build would perform similarly or better then the Windows build running in Wine.

Chart comparing the performance of various web browser configurations:
----------------------------------------------------------------------
http://1.bp.blogspot.com/_A8yyx3PMRLo/SvM1tOAz3oI/AAAAAAAAAXM/LNqm2CLOY54/s1600-h/chart.png
First, I'm not sure that's a bug we can address, if it comes down to compiler performance or efficiencies in ABI, but nonetheless!  That gap is bigger than it should be.

I notice that you're on x86-64 -- are you using a build from Mozilla, or one from your distributor?  Linux distributors do often build with options that impact performance, but importantly in this case: a 64-bit build of Firefox 3.5 will not have JavaScript JIT support.  A 32-bit build there would be a better comparison, unless you're somehow comparing to a 64-bit build on Windows as well!

(If you're comparing the Chrome 4 beta, you might also want to compare either a trunk or 3.6 beta build, both of which have 64-bit JIT capabilities on Linux.)
(Reporter)

Comment 2

9 years ago
The native version is from the distributor (the Firefox bundled with Ubuntu), but this behavior also occurs on Fedora.

The version I tested is actually 3.5.4, the original bug report says 3.0.4

As aforementioned in the chart, the Windows version of Firefox running ontop of Wine performs almost identically to the Windows version running on top of Windows 7.

For comparison Chromium native builds run roughly the same on either platform. 

I will redo these tests with Firefox 3.6.
(Reporter)

Comment 3

9 years ago
Hello,

I have ran the Sunspider test on a relatively clean machine using the following
configurations:

Firefox 3.6 Beta 1 / Windows native build (Wine) on Ubuntu 9.10 [1]
Firefox 3.6 Beta 1 / Linux native build (downloaded from Mozilla) on Ubuntu
9.10 [2]

As you can see from the links, the performance has greatly improved in the case
of the Linux native build. I don't know if small difference is even statically
significant enough to count as a bug.

[1]:
http://www2.webkit.org/perf/sunspider-0.9/sunspider-results.html?%7B%223d-cube%22:%5B30,31,30,29,30%5D,%223d-morph%22:%5B43,42,42,43,42%5D,%223d-raytrace%22:%5B46,46,46,46,46%5D,%22access-binary-trees%22:%5B32,32,33,32,33%5D,%22access-fannkuch%22:%5B65,64,64,65,63%5D,%22access-nbody%22:%5B22,21,22,22,21%5D,%22access-nsieve%22:%5B9,9,9,9,8%5D,%22bitops-3bit-bits-in-byte%22:%5B1,1,1,1,1%5D,%22bitops-bits-in-byte%22:%5B8,9,8,8,8%5D,%22bitops-bitwise-and%22:%5B1,2,1,2,1%5D,%22bitops-nsieve-bits%22:%5B18,19,19,17,18%5D,%22controlflow-recursive%22:%5B36,35,36,35,35%5D,%22crypto-aes%22:%5B22,23,24,24,27%5D,%22crypto-md5%22:%5B9,9,9,9,9%5D,%22crypto-sha1%22:%5B6,6,6,8,6%5D,%22date-format-tofte%22:%5B61,58,60,59,59%5D,%22date-format-xparb%22:%5B72,74,73,73,73%5D,%22math-cordic%22:%5B27,28,27,27,28%5D,%22math-partial-sums%22:%5B12,11,11,12,12%5D,%22math-spectral-norm%22:%5B5,6,6,6,5%5D,%22regexp-dna%22:%5B45,47,45,44,46%5D,%22string-base64%22:%5B9,8,8,8,8%5D,%22string-fasta%22:%5B41,45,44,45,45%5D,%22string-tagcloud%22:%5B54,62,58,63,62%5D,%22string-unpack-code%22:%5B54,56,56,56,56%5D,%22string-validate-input%22:%5B29,24,21,29,25%5D%7D

[2]:
http://www2.webkit.org/perf/sunspider-0.9/sunspider-results.html?%7B%223d-cube%22:%5B41,40,41,41,41%5D,%223d-morph%22:%5B33,33,33,34,33%5D,%223d-raytrace%22:%5B55,54,54,54,54%5D,%22access-binary-trees%22:%5B39,39,39,38,39%5D,%22access-fannkuch%22:%5B96,102,97,98,96%5D,%22access-nbody%22:%5B30,34,31,30,31%5D,%22access-nsieve%22:%5B10,10,11,11,10%5D,%22bitops-3bit-bits-in-byte%22:%5B1,1,1,2,2%5D,%22bitops-bits-in-byte%22:%5B8,7,7,8,7%5D,%22bitops-bitwise-and%22:%5B1,2,1,2,1%5D,%22bitops-nsieve-bits%22:%5B22,23,22,22,22%5D,%22controlflow-recursive%22:%5B39,39,39,39,38%5D,%22crypto-aes%22:%5B29,28,30,29,29%5D,%22crypto-md5%22:%5B11,11,12,11,11%5D,%22crypto-sha1%22:%5B7,7,7,7,7%5D,%22date-format-tofte%22:%5B72,69,73,71,73%5D,%22date-format-xparb%22:%5B48,48,49,48,49%5D,%22math-cordic%22:%5B14,13,14,14,14%5D,%22math-partial-sums%22:%5B15,15,15,15,14%5D,%22math-spectral-norm%22:%5B6,6,6,5,5%5D,%22regexp-dna%22:%5B45,46,46,46,47%5D,%22string-base64%22:%5B11,11,11,11,11%5D,%22string-fasta%22:%5B65,66,65,66,66%5D,%22string-tagcloud%22:%5B77,77,76,79,77%5D,%22string-unpack-code%22:%5B83,81,82,82,82%5D,%22string-validate-input%22:%5B31,25,33,26,31%5D%7D
(In reply to comment #3)
> I have ran the Sunspider test on a relatively clean machine using the following
> configurations:
> 
> Firefox 3.6 Beta 1 / Windows native build (Wine) on Ubuntu 9.10 [1]
> Firefox 3.6 Beta 1 / Linux native build (downloaded from Mozilla) on Ubuntu
> 9.10 [2]
> 
> As you can see from the links, the performance has greatly improved in the case
> of the Linux native build. I don't know if small difference is even statically
> significant enough to count as a bug.

Yes, that's what I was hoping.  The Linux distributors build with the JIT off, because they want a 64-bit binary, and 3.5 didn't have a 64-bit JIT.

Whew!  Thanks for the report, though, we definitely want to know if that stuff happens in the future with comparable builds!
Status: UNCONFIRMED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.