Array.prototype.map vs manual map

Benchmark created by Ariel Mashraki on


Setup

var arr1 = [1,2,3,4,5,6,7,8,9,10];
    var arr2 = [{a:1}, {a:3}, {a:4}, {a:5}];
    var arr3 = [true, false, false, true];
    
    function map(array, fb) {
      return array.map(fb);
    }
    
    function manualMap(array, fb) {
      var ret = []
      for(var i = 0; i < array.length; i++) {
        ret[i] = fb(array[i], i);
      }
      return ret;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
map
map(arr1, function(el, i) {
  return el + i;
});

map(arr2, function(el, i) {
  return el['a']
});

map(arr3, function(el, i) {
  return !el
});
ready
manualMap
manualMap(arr1, function(el, i) {
  return el + i;
});

manualMap(arr2, function(el, i) {
  return el['a']
});

manualMap(arr3, function(el, i) {
  return !el
});
ready

Revisions

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

  • Revision 1: published by Ariel Mashraki on