Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
Chrome 106
Mac OS X 10.15.7
Desktop
2 years ago
Test name Executions per second
.map(callback) - 1 000 elements 281314.7 Ops/sec
.fill(value) - 1 000 elements 243703.1 Ops/sec
.map(callback) - 10 000 elements 28070.2 Ops/sec
.fill(value) - 10 000 elements 21543.1 Ops/sec
.map(callback) - 100 000 elements 767.9 Ops/sec
.fill(value) - 100 000 elements 1157.0 Ops/sec
Script Preparation code:
AخA
 
var array1000 = (new Array(1000)).map((e, i) => ({a: i, b: i, c: i, d: i, e: i, f: i, g: i, test: 'object'+ i}));
var array10000 = (new Array(10000)).map((e, i) => ({a: i, b: i, c: i, d: i, e: i, f: i, g: i, test: 'object'+ i}));
var array100000 = (new Array(100000)).map((e, i) => ({a: i, b: i, c: i, d: i, e: i, f: i, g: i, test: 'object'+ i}));
Tests:
  • .map(callback) - 1 000 elements

     
    const result = array1000.map(() => true);
  • .fill(value) - 1 000 elements

     
    const result = new Array(array1000.length).fill(true);
  • .map(callback) - 10 000 elements

     
    const result = array10000.map(() => true);
  • .fill(value) - 10 000 elements

     
    const result = new Array(array10000.length).fill(true);
  • .map(callback) - 100 000 elements

     
    const result = array100000.map(() => true);
  • .fill(value) - 100 000 elements

     
    const result = new Array(array100000.length).fill(true);