Bind vs Self closure (v10)

Revision 10 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.1/dojo/dojo.js"></script>

<script>
function test(){
 this.a = 0;
}
test.prototype.exec1 = function() {
var self = this;
 exec(function(){
self.foo();
})
};

test.prototype.exec2 = function(){
exec(this.foo.bind(this));
}

test.prototype.foo = function(){
  this.a = 1;
  this.b=4;
};


var mine = new test();
var exec = function(fn) {
fn();
}

</script>

Setup

require(["dojo/_base/lang"], function(lang) {
      test.prototype.exec3 = function() {
        exec(lang.hitch(this, this.foo));
      }
    });

Test runner

Ready to run.

Testing in
TestOps/sec
binded
mine.exec2()
ready
closured
mine.exec1()
ready
dojo hitch
mine.exec3();
ready

Revisions

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