Test case details

Preparation Code

<script>   var i, values = [],       sum = 0;   for (i = 0; i < 10000; i++) {    values[i] = i;   }     function add(val) {    sum += val;   } </script>

Test cases

Test #1

values.forEach(add);

Test #2

for (i = 0; i < values.length; i++) {  add(values[i]); }

Test #3

var len = values.length; for (i = 0; i < len; i++) {  add(values[i]); }

Test #4

for (i = values.length - 1; i >= 0; i--) {  add(values[i]); }

Test #5

var len = values.length; for (i = 0; i < len; i++) {  sum += values[i]; }

Test #6

var len = values.length; for (i = 0; i < len; i++) {  add.call(values, values[i], i, values); }

Test #7

var len = values.length; while(--len) {   add( values[len] ); }