Proxy

JavaScript performance comparison

Test case created

Info

jQuery's proxy, vs a function wrapping .apply()

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
var  interval,
     count = 0,
     scoped = {count:0};

function add(nb, string) {
  this.count+=nb;
}

function proxy(fn, context, args) {
  return function() { return fn.apply(context, Array.prototype.slice.call(arguments, 2));}
};
</script>
<script>
Benchmark.prototype.teardown = function() {
    if(count > 0) {
      console.log("proxy isn't working as it should!");
    }
};
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
jQuery's proxy
$.proxy(add, scoped, 1, "jproxy")();
pending…
Apply
proxy(add, scoped, 1, "sproxy")();
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment