push() vs [...] for large arrays

Comparing the various ways to append to a large array
5 months ago
User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Test name Executions per second
Push 219023.0 Ops/sec
Spread 27234.5 Ops/sec
Script Preparation code:
AخA
 
window.top.tests = {push:[], spread:[]};
window.test = (new Array(10)).fill(null);
window.cutoff = 5000;
Tests:
  • Push

     
    for (let element of window.test) {
      window.top.tests.push.push(element);
    }
    if (window.top.tests.push.length > window.cutoff) { window.top.tests.push = []; console.log('reset push'); }
  • Spread

     
    for (let element of window.test) {
      window.top.tests.spread = [...window.top.tests.spread, element];
    }
    if (window.top.tests.spread.length > window.cutoff) { window.top.tests.spread = []; console.log('reset spread'); }
Open this result on MeasureThat.net