Performance impact of accessing .length in for loop

Benchmark created by Krinkle on


Preparation HTML

<script>
  var x, my = {
    deep: {
      level: {
        array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
      }
    }
  };
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
for() loop
for (var i = 0; i < my.deep.level.array.length; i++) {
  x = my.deep.level.array[i];
}
ready
for() loop, cached length
var i, len = my.deep.level.array.length;
for (i = 0; i < len; i++) {
  x = my.deep.level.array[i];
}
ready
for() loop, cached object
var i, array = my.deep.level.array;
for (i = 0; i < array.length; i++) {
  x = array[i];
}
ready
for() loop, cached object + length
var i, array = my.deep.level.array,
    len = array.length;
for (i = 0; i < len; i++) {
  x = array[i];
}
ready

Revisions

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

  • Revision 1: published by Krinkle on