Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 YaBrowser/21.6.0.1108 Yowser/2.5 Safari/537.36
Yandex Browser 21
Mac OS X 10.15.7
Desktop
3 years ago
Test name Executions per second
bind 3570207.5 Ops/sec
arrow 3675623.2 Ops/sec
Script Preparation code:
x
 
class A {
  execute() {
    
  }
  
  callback1() {}
  
  callback2() {}
}
window.a = new A();
Tests:
  • bind

     
    a.execute = function () {
      let bound1 = this.callback1.bind(this);
      let bound2 = this.callback2.bind(this);
        
      bound1();
      bound2();
    }
    a.execute();
  • arrow

     
    a.execute = function () {
      let bound1 = () => this.callback1();
      let bound2 = () => this.callback2();
        
      bound1();
      bound2();
    }
    a.execute();