arguments to array (v31)

Revision 31 of this benchmark created by SgtPooki on


Preparation HTML

<script>
var f1 = function () {
  return [].slice.call(arguments);
};

var f2 = function () {
  return Array.prototype.slice.call(arguments);
};

var f3 = function () {
  var args = [];
  for (var i = 0, l = arguments.length; i < l; i++) {
    args.push(arguments[i]);
  }
  return args;
};

var f4 = function () {
  var args = [];
  for (var i = 0, l = arguments.length; i < l; i++) {
    args[i] = arguments[i];
  }
  return args;
};

var f5 = function () {
  var args = new Array(arguments.length);
  for (var i = 0, l = arguments.length; i < l; i++) {
    args[i] = arguments[i];
  }
  return args;
};

var f6 = function () {
  var args = [].concat(arguments);
  return args;
};

var f7 = function () {
  var args = new Array().concat(arguments);
  return args;
};

var f8 = function () {
  var args = new Array(arguments.length).concat(arguments);
  return args;
};

var f9 = function () {
  var args = Array.prototype.constructor.apply(Array, arguments);
  return args;
};
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
f1
f1(1, 2, 3, 4, 5);
ready
f2
f2(1, 2, 3, 4, 5);
ready
f3
f3(1, 2, 3, 4, 5);
ready
f4
f4(1, 2, 3, 4, 5);
ready
f5
f5(1, 2, 3, 4, 5);
ready
f6
f6(1, 2, 3, 4, 5);
ready
f7
f7(1, 2, 3, 4, 5);
ready
f8
f8(1, 2, 3, 4, 5);
ready
f9
f9(1, 2, 3, 4, 5);
ready

Revisions

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