Array reduce vs for loop (v3)

Revision 3 of this benchmark created on


Setup

var sm = [10, 23, 41, 13],
        md = [1, 7, 13, 22, 36, 42, 55, 60, 72, 88, 90, 103, 123, 158, 200, 222, 323, 443, 501, 545, 610, 728, 880, 891, 903, 919, 1001, 2011]
         lg = (function() {
        var result = [];
        for (var i = 0; i < 20000; i++) {
          result.push(~~ (Math.random() * 1000));
        }
        return result;
      }());

Test runner

Ready to run.

Testing in
TestOps/sec
Reduce
sm.reduce(function(a, b) {
  return a + b;
});
md.reduce(function(a, b) {
  return a + b;
});
lg.reduce(function(a, b) {
  return a + b;
});
ready
For loop
var sumSm = 0;
for (var i = sm.length - 1; i >= 0; i--) {
  sumSm += sm[i];
}

var sumMd = 0;
for (var i = md.length - 1; i >= 0; i--) {
  sumMd += md[i];
}

var sumLg = 0;
for (var i = lg.length - 1; i >= 0; i--) {
  sumLg += lg[i];
}
ready

Revisions

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