Tests:
  • Functional

    AخA
     
    const arr1 = new Array(100).fill().map(()=>new Array(100).fill().map(()=>100));
  • New array

    x
     
    const arr3 = new Array(100);
    for (let i=0;i<100;i++) {
      arr3[i] = new Array(100);
      for (let j=0;j<100;j++) {
        arr3[i][j] = 100;
      }
    }
  • Uint8 array

     
    const arr4 = new Uint8Array(100);
    for (let i=0;i<100;i++) {
      arr4[i] = new Array(100);
      for (let j=0;j<100;j++) {
        arr4[i][j] = 100;
      }
    }
  • Push destructured row

     
    const arr5 = [];
    for (let i=0;i<100;i++) {
      const row = [];
      for (let j=0;j<100;j++) {
        row.push(100);
      }
      arr5.push([...row]);
    }
  • Push row (closure)

     
    const arr6 = [];
    for (let i=0;i<100;i++) {
      const row = [];
      for (let j=0;j<100;j++) {
        row.push(100);
      }
      arr6.push(row);
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Functional
    New array
    Uint8 array
    Push destructured row
    Push row (closure)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Chrome 110 on Windows
View result in a separate tab
Test name Executions per second
Functional 26676.0 Ops/sec
New array 38425.1 Ops/sec
Uint8 array 683.2 Ops/sec
Push destructured row 45076.6 Ops/sec
Push row (closure) 53618.3 Ops/sec