mc_create2Darray_100x100

Benchmark created on


Setup

const rows = 100;
const cols = 100;

Test runner

Ready to run.

Testing in
TestOps/sec
arr2b
const arr2b = new Array(rows).fill().map(() => new Array(cols).fill(0));
ready
arr2c
const arr2c = [...Array(rows)].map(() => Array(cols).fill(0));
ready
arr3a
const arr3a = Array.from({ length: rows }, () => new Array(cols).fill(0));
ready
arr3b
const arr3b = Array.from({ length: rows }, () => Array.from({ length: cols }, () => 0));
ready
arr4a
const arr4a = [];
for (let i = 0; i < rows; i++) {
  arr4a[i] = [];
  for (let j = 0; j < cols; j++) {
    arr4a[i][j] = 0;
  }
}
ready
arr4b
const arr4b = [];
for (let i = 0; i < rows; i++) {
  arr4b[i] = [];
  for (let j = 0; j < cols; j++) {
    arr4b[i].push(0);
  }
}
ready
arr4c
const arr4c = new Array(rows);
for (let i = 0; i < rows; i++) {
  arr4c[i] = new Array(cols);
  for (let j = 0; j < cols; j++) {
    arr4c[i][j] = 0;
  }
}
ready
arr4d
const arr4d = new Array(rows);
for (let i = 0; i < rows; i++) {
  arr4d[i] = new Array(cols).fill(0);
}
ready
arr5a
const arr5a = [];
let i = 0;
while (i < rows) {
  arr5a[i] = [];
  let j = 0;
  while (j < cols) {
    arr5a[i][j] = 0;
    j++;
  }
  i++;
}
ready
arr5b
const arr5b = [];
let i = 0;
while (i < rows) {
  arr5b[i] = [];
  let j = 0;
  while (j < cols) {
    arr5b[i].push(0);
    j++;
  }
  i++;
}
ready
arr5c
const arr5c = new Array(rows);
let i = 0;
while (i < rows) {
  arr5c[i] = new Array(cols);
  let j = 0;
  while (j < cols) {
    arr5c[i][j] = 0;
    j++;
  }
  i++;
}
ready
arr5d
const arr5d = [];
let i = 0;
while (i < rows) {
  let row = [];
  let j = 0;
  while (j < cols) {
    row.push(0);
    j++;
  }
  arr5d.push(row);
  i++;
}
ready
arr6
const arr6 = [...Array(rows)].reduce((acc) => {
  acc.push(Array(cols).fill(0));
  return acc;
}, []);
ready
bad4
const row = new Array(cols).fill(0);
const bad4 = JSON.parse(JSON.stringify(new Array(rows).fill(row)));
ready

Revisions

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