Array-ify object

Benchmark created by Vic on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/prototype/1.7/prototype.js">
</script>

Setup

Array.fy1 = function(o) {
    for (var p = Array.prototype, m = ["pop", "push", "reverse", "shift", "sort", "splice", "unshift", "concat", "join", "slice", "indexOf", "lastIndexOf", "filter", "forEach", "every", "map", "some", "reduce", "reduceRight"], i = m.length; i--;) {
      o[m[i]] = p[m[i]];
    }
    return o;
  };
  
  Array.fy2 = (function(p) {
    var m = ["pop", "push", "reverse", "shift", "sort", "splice", "unshift", "concat", "join", "slice", "indexOf", "lastIndexOf", "filter", "forEach", "every", "map", "some", "reduce", "reduceRight"],
        len = m.length;
    return function(o) {
      for (var i = len; i--;) {
        o[m[i]] = p[m[i]];
      }
      return o;
    };
  })(Array.prototype);

  Benchmark.prototype.setup = function() {
    var args = (function() {
      return arguments;
    })(1, 2, 3, 'a', 'b', 'c');
  };

Test runner

Ready to run.

Testing in
TestOps/sec
local var
var a = Array.fy1(args);
ready
closure var
var a = Array.fy2(args);
ready

Revisions

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