I'm looking at benchmarking the 3 main browsers with regard to how quickly they can run JavaScript using a fairly trivial piece of code. My JS is:
<!DOCTYPE html>
<html>
<body>
<h1>JS Test page</h1>
<p>The button below will test the speeed of your browser</p>
<button onClick="testBrowser()">Test browser</button>
<p id="TimeArrayP"></p>
<script>
function testBrowser() {
var timeArray = new Array();
for (i = 0; i < 100; ++i) {
var start = new Date().getTime();
var number1;
var number2;
var number3;
var number4;
var result1;
var result2;
var result3;
var endresult;
for (e = 0; e < 50000; ++e) {
number1 = Math.floor((Math.random() * 100) + 1);
number2 = Math.floor((Math.random() * 100) + 7);
result1 = ((number1 + number2 / number1 * number2) * (number3 + number2) / number1);
result2 = ((number2 + number3 / number1 * number4) * (number3 + number1) / number4);
result3 = ((number3 + number4 / number4 * number2) * (number2 + number3) / number2);
endresult = ((result1 * result2 * result3) / (result1 + result2 * result3) + result1 / result2);
}
var end = new Date().getTime();
var time = end - start;
timeArray[i] = time;
}
timeArray.toString();
document.getElementById("TimeArrayP").innerHTML = timeArray;
}
</script>
</body>
</html>
On Chrome and IE, the run time starts higher than it ends, with every run past about the second one being a pretty consistent time, and lower than the first.
However, Firefox takes significantly longer to run this code (about 180 milliseconds on Firefox compared to roughly 30 on IE and Chrome), and does not see that same reduction in run time that IE and Chrome does.
What is the explanation for both Firefoxs lengthy runtime, and the reduction in the time it takes to iterate through IE and Chrome?
I am using IE9, Firefox 32.0.1 and Chrome 37.0.2062.120.