Constructor Private Methods

JavaScript performance comparison

Test case created by Nicolas

Info

Using prototype private methods vs. initialize private methods in a function constructor.

Preparation code

<script>
  function ConstructorPrivateMethods() {
   function privateMethod1(n) {
    return 2 * n;
   }
 
   function privateMethod2(n) {
    return 3 * n;
   }
 
   this.publicMethod1 = function(n) {
    return privateMethod1(privateMethod2(n));
   };
  }
 
  function PrototypePrivateMethods() {}
 
  (function() {
 
   function privateMethod1(n) {
    return 2 * n;
   }
 
   function privateMethod2(n) {
    return 3 * n;
   }
 
   PrototypePrivateMethods.prototype = {
    publicMethod1: function(n) {
     return privateMethod1(privateMethod2(n));
    }
   };
 
  })();
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
instanciate constructor class
for (var i = 0; i < 1000; i++) {
 new ConstructorPrivateMethods();
}
pending…
instanciate prototype class
for (var i = 0; i < 1000; i++) {
 new PrototypePrivateMethods();
}
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment