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 i = values.length; while (--i >= 0) {  sum += values[i]; }

Test #8

var i = values.length; while (--i >= 0) {  add.call(values, values[i], i, values); }

Test #9

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