Prototype vs. this (v27)

Revision 27 of this benchmark created on


Setup

function T() {
    }
    
    T.prototype.myMethod = function(i) {
      if (i == 20000) {
        console.log('Hey T!');
      }
    };
    
    T.prototype.myMethod1 = function(i) {
      if (i == 20000) {
        console.log('Hey T!');
      }
    };
    
    T.prototype.myMethod2 = function(i) {
      if (i == 20000) {
        console.log('Hey T!');
      }
    };
    
    T.prototype.myMethod3 = function(i) {
      if (i == 20000) {
        console.log('Hey T!');
      }
    };
    
    T.prototype.myMethod4 = function(i) {
      if (i == 20000) {
        console.log('Hey T!');
      }
    };
    
    
    
    function Tt() {
      this.myMethod = function(i) {
        if (i == 20000) {
          console.log('Hey Tt!');
        }
      };
    
      this.myMethod1 = function(i) {
        if (i == 20000) {
          console.log('Hey Tt!');
        }
      };
    
      this.myMethod2 = function(i) {
        if (i == 20000) {
          console.log('Hey Tt!');
        }
      };
    
      this.myMethod3 = function(i) {
        if (i == 20000) {
          console.log('Hey Tt!');
        }
      };
    
      this.myMethod4 = function(i) {
        if (i == 20000) {
          console.log('Hey Tt!');
        }
      };
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Using prototype
var x = new T();
for (var i = 1; i <= 20000; i++) {
  x.myMethod(i);
}
ready
Using this
var x = new Tt();
for (var i = 1; i <= 20000; i++) {
  x.myMethod(i);
}
ready

Revisions

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