Firefox 3.5 RC2 Linux vs Windows Performance

With the release of Firefox 3.5 right around the corner and the inclusion of the new Tracemonkey javascript engine, I thought I'd do a quick javascript performance comparison between the Linux and Windows versions. The hardware specs for the test machine are: Intel Core 2 Duo T7200 2.00GHz 4 GB DDR2-667 Memory 320 GB Western Digital 5400 RPM Hard Drive The Operating Systems used for the test are: Ubuntu 9.04 32-bit Windows XP SP3 32-bit I used the SunSpider JavaScript Benchmark. Here are the results:

Firefox 3.5 RC2 Linux

============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 2371.2ms +/- 5.0%
--------------------------------------------
3d: 323.0ms +/- 13.0%
cube: 89.4ms +/- 22.9%
morph: 83.8ms +/- 18.8%
raytrace: 149.8ms +/- 17.4%
access: 373.4ms +/- 7.9%
binary-trees: 104.6ms +/- 15.5%
fannkuch: 142.6ms +/- 10.3%
nbody: 93.0ms +/- 24.7%
nsieve: 33.2ms +/- 3.1%
bitops: 97.0ms +/- 9.7%
3bit-bits-in-byte: 3.6ms +/- 18.9%
bits-in-byte: 17.4ms +/- 31.0%
bitwise-and: 5.4ms +/- 12.6%
nsieve-bits: 70.6ms +/- 17.2%
controlflow: 80.8ms +/- 24.7%
recursive: 80.8ms +/- 24.7%
crypto: 156.4ms +/- 16.2%
aes: 91.6ms +/- 31.0%
md5: 41.6ms +/- 32.5%
sha1: 23.2ms +/- 30.6%
date: 315.4ms +/- 12.2%
format-tofte: 179.4ms +/- 8.1%
format-xparb: 136.0ms +/- 24.7%
math: 177.4ms +/- 11.0%
cordic: 98.2ms +/- 10.8%
partial-sums: 58.2ms +/- 23.1%
spectral-norm: 21.0ms +/- 29.9%
regexp: 132.6ms +/- 20.1%
dna: 132.6ms +/- 20.1%
string: 715.2ms +/- 3.4%
base64: 46.8ms +/- 32.0%
fasta: 166.0ms +/- 17.7%
tagcloud: 190.8ms +/- 8.2%
unpack-code: 216.0ms +/- 5.5%
validate-input: 95.6ms +/- 17.8%

Firefox 3.5 RC2 Windows

============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 2076.4ms +/- 5.2%
--------------------------------------------
3d: 243.2ms +/- 8.9%
cube: 61.6ms +/- 20.1%
morph: 70.8ms +/- 7.8%
raytrace: 110.8ms +/- 15.5%
access: 249.6ms +/- 9.9%
binary-trees: 74.6ms +/- 28.1%
fannkuch: 99.0ms +/- 27.0%
nbody: 50.6ms +/- 15.2%
nsieve: 25.4ms +/- 28.7%
bitops: 74.2ms +/- 33.3%
3bit-bits-in-byte: 4.4ms +/- 92.9%
bits-in-byte: 16.6ms +/- 63.9%
bitwise-and: 4.2ms +/- 117.3%
nsieve-bits: 49.0ms +/- 34.1%
controlflow: 51.6ms +/- 12.1%
recursive: 51.6ms +/- 12.1%
crypto: 91.4ms +/- 12.9%
aes: 50.0ms +/- 11.4%
md5: 27.0ms +/- 21.4%
sha1: 14.4ms +/- 24.9%
date: 283.4ms +/- 10.0%
format-tofte: 131.0ms +/- 10.3%
format-xparb: 152.4ms +/- 14.6%
math: 86.6ms +/- 24.2%
cordic: 51.0ms +/- 43.0%
partial-sums: 25.0ms +/- 24.4%
spectral-norm: 10.6ms +/- 13.4%
regexp: 323.2ms +/- 13.2%
dna: 323.2ms +/- 13.2%
string: 673.2ms +/- 10.6%
base64: 33.2ms +/- 37.4%
fasta: 124.8ms +/- 15.5%
tagcloud: 202.0ms +/- 9.5%
unpack-code: 207.2ms +/- 16.6%
validate-input: 106.0ms +/- 36.4%

This is a dramatic boost from version 3.0.11 which clocked in with a total time of 4786.9ms on the version that ships with Ubuntu 9.04. However, the Windows version is faster than the Linux version which seems to be par for the course for Mozilla. Hopefully there will be more tweaking before the final release to bring the two versions closer in performance, but I wouldn't hold my breath. Maybe someday the Linux version of Firefox won't be treated as a second class citizen, especially considering it's by far the most popular browser on the platform.