Functions and spread operator

Benchmark created by pouya-eghbali on


Setup

var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

Test runner

Ready to run.

Testing in
TestOps/sec
Spread + Apply
function sum(...numbers) {
  let s = 0;
  for (var i = 0; i < numbers.length; i++) {
    s += numbers[i]
  }
  return s;
}

sum.apply(null, numbers);
ready
Spread + Spread
function sum(...numbers) {
  let s = 0;
  for (var i = 0; i < numbers.length; i++) {
    s += numbers[i]
  }
  return s;
}

sum(...numbers);
ready
No Spread + Apply
function sum() {
  let s = 0;
  for (var i = 0; i < arguments.length; i++) {
    s += arguments[i]
  }
  return s;
}

sum.apply(null, numbers);
ready
No Spread + Spread
function sum() {
  let s = 0;
  for (var i = 0; i < arguments.length; i++) {
    s += arguments[i]
  }
  return s;
}

sum(...numbers);
ready

Revisions

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

  • Revision 1: published by pouya-eghbali on