Script Preparation code:
AخA
 
var arr = [];
for (var i = 0; i < 100; i++) {
  arr.push(i);
}
Tests:
  • moving array

    x
     
    var range = [];
    for (var i = 0; i < arr.length; i++) {
      range.push(arr[i]);
      if (range.length > 9) {
        range.splice(0, 1);
      }
      
      if (i > 8)
      {var avg = range.reduce(function(accu, next){ return accu + next ;}) / 9;}
    }
  • slice

     
    for (var i = 0; i < arr.length; i++) {
      if (i < 9) continue;
      var range = arr.slice(i, i + 9);
      
      var avg = range.reduce(function(accu, next){ return accu + next ;}) / 9;
    }
  • reduce

     
    var sum = 0;
    for (var i = 0; i < arr.length; i++) {
      sum += arr[i];
      if (i > 8) {
        sum -= arr[i - 9];
      }
      
      if (i > 8)
      {var avg = sum / 9;}
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    moving array
    slice
    reduce

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
Chrome 130 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
moving array 255156.3 Ops/sec
slice 459625.5 Ops/sec
reduce 2826066.8 Ops/sec