Script Preparation code:
x
 
function rest(...args) {
  return function(fn) {
    return args.map(fn);
  };
}
function argsToArray() {
  const len = arguments.length;
  const args = Array(len);
  for (let i = 0; i < len; i++) {
    args[i] = arguments[i];
  }
  return function(fn) {
    return args.map(fn);
  };
}
Tests:
  • rest with 10 args

     
    rest(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)(n => 2 * n);
  • rest with 1 arg

     
    rest(1)(n => 2 * n);
  • argsToArray with 10 args

     
    argsToArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)(n => 2 * n);
  • argsToArray with 1 arg

     
    argsToArray(1)(n => 2 * n);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    rest with 10 args
    rest with 1 arg
    argsToArray with 10 args
    argsToArray with 1 arg

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:83.0) Gecko/20100101 Firefox/83.0
Firefox 83 on Mac OS X 10.16
View result in a separate tab
Test name Executions per second
rest with 10 args 7593549.5 Ops/sec
rest with 1 arg 15670709.0 Ops/sec
argsToArray with 10 args 4001228.5 Ops/sec
argsToArray with 1 arg 8999644.0 Ops/sec