type-inference-performance

JavaScript performance comparison

Revision 3 of this test case created

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
 
<script>
Benchmark.prototype.setup = function() {
    var array_of_ints = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    var array_of_strings = ['1', '2', '3', '4', '5', '6', '7', '8', 9, '10']
    var array_of_mixed = [1, '2', '3', 4, 5, '6', '7', '8', 9, '10']
};
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
array of ints
var sum = 0
for (var i=0; i<array_of_ints.length; i++) {
  sum += array_of_ints[i];
}
pending…
array of ints with type conversion to int
var sum = 0
for (var i=0; i<array_of_ints.length; i++) {
  sum += parseInt(array_of_ints[i]);
}
pending…
array of mixed with type conversion to int
var sum = 0
for (var i=0; i<array_of_mixed.length; i++) {
  sum += parseInt(array_of_mixed[i]);
}
 
pending…
array of strings
var sum = '';
for (var i=0; i<array_of_strings.length; i++) {
  sum += array_of_strings[i];
}
pending…
array of mixed with type coercion to string
var sum = 0
for (var i=0; i<array_of_mixed.length; i++) {
  sum += array_of_mixed[i];
}
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment