uncurryThis

JavaScript performance comparison

Revision 4 of this test case created

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var uncurryThis1 = Function.bind.bind(Function.call);
   
    var uncurryThis2 = function(f) {
      var call = Function.call;
      return function() {
        return call.apply(f, arguments);
      };
    };
   
    var uncurryThis3 = function(f) {
      var call = Function.call;
      return function() {
        return call.call(f);
      };
    };
   
   
    var uncurryThis4 = function() {
      var call = Function.call;
      var slice = Array.prototype.slice;
      var defaults = slice.call(arguments);
      return function() {
        return call.apply(call, defaults.concat(slice.call(arguments)));
      };
    };
   
    var toString = ({}).toString;
    window.object_toString1 = uncurryThis1(toString);
    window.object_toString2 = uncurryThis2(toString);
    window.object_toString3 = uncurryThis3(toString);
    window.object_toString4 = uncurryThis4(toString);
};
</script>

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
object_toString1
return object_toString1(window);
pending…
object_toString2
return object_toString2(window);
pending…
object_toString3
return object_toString3(window);
pending…
object_toString4
return object_toString4(window);
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