spread vs concat vs for

Benchmark created on


Setup

function generateRandomArray(length) {
  const arr = [];
  for (let i = 0; i < length; i++) {
    arr.push(Math.floor(Math.random() * 101));
  }
  return arr;
}
var array1 = generateRandomArray(1000000);
var array2 = generateRandomArray(1000000);

Test runner

Ready to run.

Testing in
TestOps/sec
spread
function merge(a, b) {
  return [...a, ...b];
}

merge(array1, array2)

ready
concat
function merge(a, b) {
  return a.concat(b);
}

merge(array1, array2)
ready
goof old for
function merge(a, b) {
  const merged= [];

  for (let i = 0; i < a.length; i++) merged.push(a[i]);

  for (let i = 0; i < b.length; i++) merged.push(b[i]);

  return merged;
}

merge(array1, array2)

ready

Revisions

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