Native bind vs jQuery.proxy vs Underscore bind vs custom bind (v22)

Revision 22 of this benchmark created by x on


Description

checking the option of a user defined bind, very much like the no bind option

Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script src="//underscorejs.org/underscore-min.js">
</script>

Setup

function myBind(func, val) {
      return function(x) {
        return func.call(val, x);
      }
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Native bind
var foo = (function(x) {
  return this + x;
}).bind(1);
foo(1);
ready
jQuery.proxy
var foo = jQuery.proxy(function(x) {
  return this + x;
}, 1);
foo(1);
ready
Underscore.js bind
var foo = _.bind(function(x) {
  return this + x;
}, 1);
foo(1)
ready
Without bind
var bar = function(x) {
    return this + x;
    };
var foo = function(x) {
    bar.call(1, x);
    }
    
    
    
foo(1);
ready
custom bind func
var bar = function(x) {
    return this + x;
    };
var foo = myBind(bar, 1);
foo(1);
ready

Revisions

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