anonymous vs named function passing vs loop (v3)

Revision 3 of this benchmark created by Andrew Fedoniouk on


Setup

function average3(array) {
      var total = 0;
      for( var i = array.length - 1; i >= 0; --i ) 
        total += array[i];
      return total / array.length;
    }
    
    function average2(array) {
      function plus(a, b) {
        return a + b;
      }
      return array.reduce(plus) / array.length;
    }
    
    function average1(array) {
      return array.reduce(function(a, b) {
        return a + b;
      }) / array.length;
    }
    
    var array = [1, 2, 3, 4, 6, 7, 8];

Test runner

Ready to run.

Testing in
TestOps/sec
anonymous function
average1(array);
ready
named function
average2(array)
ready
plain loop
average3(array)
ready

Revisions

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

  • Revision 2: published by gael on
  • Revision 3: published by Andrew Fedoniouk on