type-inference-performance (v7)

Revision 7 of this benchmark created by Igor Santos on


Setup

var array_of_ints = [0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    var array_of_mixed = [0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, undefined];
    var array_of_int_strings = ['0.5', '1', '2',  '3',  '4',  '5',  '6',  '7',  '8',  '9',  '10'];
    
    function sum_of_ints() {
      var sum = 0;
      for (var i = 0; i < array_of_ints.length; i++) {
        sum += array_of_ints[i];
      }
    }
    
    function sum_of_mixed() {
      var sum = 0;
      for (var i = 0; i < array_of_mixed.length; i++) {
        sum += array_of_mixed[i];
      }
    }
    
    function sum_of_strings() {
      var sum = 0;
      for (var i = 0; i < array_of_mixed.length; i++) {
        sum += parseFloat(array_of_int_strings[i]);
      }
    }
    
    function sum_of_parsed_strings() {
      var sum = 0;
      var ints = [];
      for (var i = 0; i < array_of_mixed.length; i++) {
        ints[i] = parseFloat(array_of_int_strings[i]);
      }
      for (var i = 0; i < array_of_mixed.length; i++) {
        sum += ints[i];
      }
    }

Test runner

Ready to run.

Testing in
TestOps/sec
array of ints
sum_of_ints();
ready
array of mixed
sum_of_mixed();
ready
array of integer strings
sum_of_strings();
ready
array of parsed strings
sum_of_parsed_strings();
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.