Script Preparation code:
x
 
function generateRandomNumbers(m) {
  const array = new Uint32Array(m);
  window.crypto.getRandomValues(array);
  return Array.prototype.map.call(array, val => val);
}
function generateRandomArrays(n, m) {
  const array = [];
  for (let i = 0; i < n; i++) {
    array.push(generateRandomNumbers(m))
  }
  return array;
}
var array = generateRandomArrays(1e4, 1e1);
Tests:
  • Array.prototype.concat

     
    const b = array.reduce((accumulator, value) => accumulator.concat(value));
  • Spread operator

     
    const c = array.reduce((accumulator, value) => [...accumulator, ...value]);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array.prototype.concat
    Spread operator

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36
Chrome 87 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Array.prototype.concat 0.7 Ops/sec
Spread operator 0.2 Ops/sec