element_vs_arguments

Benchmark created on


Preparation HTML

<script>
  function argumentsToArray1(args) {
   var arr = [];
   for (
   var
   i = (arguments.length > 1) ? arguments[1] : 0, len = args.length;
   i < len;
   i++) {
    arr[arr.length] = args[i];
   }
  
   return arr;
  }
  
  function argumentsToArray() {
   var arr = [];
   for (
   var
   i = (arguments.length > 1) ? arguments[1] : 0, args = arguments[0], len = args.length;
   i < len;
   i++) {
    arr[arr.length] = args[i];
   }
  
   return arr;
  }
  
  function addAll(dest, src) {
   for (var i = 0, len = src.length; i < len; i++) {
    dest.push(src[i]);
   }
  }
  
  function addAll_arguments() {
   for (
   var
   i = 0, dest = arguments[0], src = arguments[1], len = src.length;
   i < len; i++) {
    dest.push(src[i]);
   }
  }
  
  function addAll_touch(dest, src) {
   var a = arguments[2];
   for (var i = 0, len = src.length; i < len; i++) {
    dest.push(src[i]);
   }
  }
  
  function addAll_arguments_touch() {
   var a = arguments[2];
   for (
   var
   i = 0, dest = arguments[0], src = arguments[1], len = src.length;
   i < len; i++) {
    dest.push(src[i]);
   }
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
passing in args
var arr2 = addAll_touch([1, 2, 3, 4, 5], [1, 2]);
ready
passing in args alt
var arr2 = addAll_arguments_touch([1, 2, 3, 4, 5], [1, 2]);
ready
arguments
 
ready
arguments alt
 
ready
addAll( dest, src )
 
ready
addAll_arguments()
 
ready

Revisions

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