Script Preparation code:
x
 
var arr = [];
  for (var i = 0; i < 1000; i++) {
    arr[i] = i;
  }
  function someFn(ix) {
    return ix * 5;
  }
Tests:
  • for 3

     
    var l = arr.length;
    var result=0;
    for (var i = 0; i < l; i++) {
      result += arr[i] * 5;
    }
  • for 4

     
    var result=0;
    for (var i = 0; i < arr.length; i++) {
      result += arr[i] * 5;
    }
  • copy

     
    var arr = [];
      for (var i = 0; i < 1000; i++) {
        arr[i] = i;
      }
    var result=0;
    for (var i = 0; i < arr.length; i++) {
      result += arr[i] * 5;
    }
  • with

     
    var obj = {a:1,b:2};
    with(obj){
    var arr = [];
      for (var i = 0; i < 1000; i++) {
        arr[i] = i;
      }
    var result=0;
    for (var i = 0; i < arr.length; i++) {
      result += arr[i] * 5;
    }
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    for 3
    for 4
    copy
    with

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 7 years ago)
Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3053.3 Safari/537.36
Chrome 59 on Fedora
View result in a separate tab
Test name Executions per second
for 3 7294.5 Ops/sec
for 4 3908.8 Ops/sec
copy 111203.4 Ops/sec
with 457.1 Ops/sec