Run details:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36
Chrome 93
Linux
Desktop
3 years ago
Test name Executions per second
direct call 218883.7 Ops/sec
bind 235705.0 Ops/sec
call 220957.3 Ops/sec
apply 214406.4 Ops/sec
method call 202191.0 Ops/sec
Script Preparation code:
AخA
 
function test(msg) {
  console.log(this, msg);
}
function test1(self, msg) {
  console.log(self, msg);
}
function test2(msg) {
  console.log(this, msg);
}
function test3(msg) {
  console.log(this, msg);
}
function test4(msg) {
  console.log(this, msg);
}
String.prototype.test5 = function(msg) {
  console.log(this, msg)
}
Tests:
  • direct call

     
    test1("World", "Hello");
  • bind

     
    test2.bind("World", "Hello")();
  • call

     
    test3.call("World", "Hello");
  • apply

     
    test4.apply("World", ["Hello"]);
  • method call

     
    "World".test5("Hello")