Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15
Safari 16
Mac OS X 10.15.7
Desktop
2 years ago
Test name Executions per second
.map(callback) - 1 000 elements 910669.8 Ops/sec
.fill(value) - 1 000 elements 836777.8 Ops/sec
.map(callback) - 10 000 elements 108215.9 Ops/sec
.fill(value) - 10 000 elements 123191.9 Ops/sec
.map(callback) - 100 000 elements 12787.9 Ops/sec
.fill(value) - 100 000 elements 11765.7 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);