an array - loop vs reduce

Benchmark created by hiperonii on


Setup

var field1 = {
      fid: 1,
      len: 1,
      name: "1",
      ripple: "1",
      txt: "1",
      type: 1
    }
    
    var value1 = {
      h: 1,
      v: 1
    }
    
    var fields = [{
      field: {
        fid: 1,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 21,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 3,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 4,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 15,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 61,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 121,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 891,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 5221,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 91,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 13,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 51,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 541,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 661,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 71,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 871,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 9121,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 5821,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 46321,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }, {
      field: {
        fid: 546431,
        len: 1,
        name: "1",
        ripple: "1",
        txt: "1",
        type: 1
      },
      value: value1
    }];
    
    var formated1 = {
      data: 100,
      hint: 1,
      raw: 100
    }
    
    var formated = [
    
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1,
      formated1
    ];
    
    var response = {
      fields: fields,
      formated: formated,
      ric: "ABC"
    };

Test runner

Ready to run.

Testing in
TestOps/sec
reduce
var res = response.fields.reduce(function(a, e, i) {
  a[e.field.fid] = response.formated[i];
  return a
}, {});
ready
loop
    var res = [];
    for (var i = 0; i < response.fields.length; ++i) {

      res[response.fields[i].field.fid] = response.formated[i];
    }
ready

Revisions

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

  • Revision 1: published by hiperonii on