array.length property access

Benchmark created by Justin Slattery on


Description

Checking to see if [].length is slower than var blah = [].length when accessing inside a loop.

Preparation HTML

<script>
  var bigArray = [];
  var arraySize = 1000000;
  
  for (var i = 0; i <= arraySize; i++) {
    bigArray[i] = i;
  }
  
  var storedLength = bigArray.length;
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Direct Access
for (var x1 = 0; x1 <= bigArray.length; x1++) {
  var bar = bigArray[x1];
  var foo = bigArray.length; 
}
ready
Stored Length
for (var x1 = 0; x1 <= storedLength; x1++) {
  var bar = bigArray[x1];
  var foo = storedLength;
}
ready
Direct Access, Assignment Only
for (var x1 = 0; x1 <= bigArray.length; x1++) {
  var bar = bigArray[x1];
}
ready
Stored Length, Assignment Only
for (var x1 = 0; x1 <= storedLength; x1++) {
  var bar = bigArray[x1];
}
ready

Revisions

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

  • Revision 1: published by Justin Slattery on