Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Chrome 97
Mac OS X 10.15.7
Desktop
3 years ago
Test name Executions per second
.map(callback) - 1 000 elements 539316.4 Ops/sec
.fill(value) - 1 000 elements 388123.2 Ops/sec
.map(callback) - 10 000 elements 56264.4 Ops/sec
.fill(value) - 10 000 elements 44010.7 Ops/sec
.map(callback) - 100 000 elements 2431.8 Ops/sec
.fill(value) - 100 000 elements 3026.8 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);