Constructor private vars

Benchmark created by Nicolas on


Description

Checking the performance of initializers with private variables and public methods using those private variables.

Preparation HTML

<script>
  function ConstructorPrivateProperties() {
   var privateProperty1 = 1,
       privateProperty2 = 2,
       privateProperty3 = 3,
       privateProperty4 = 4,
       privateProperty5 = 5,
       privateProperty6 = 6,
       privateProperty7 = 7,
       privateProperty8 = 8,
       privateProperty9 = 9,
       privateProperty10 = 10;
  
   this.publicMethod1 = function() {
    return privateProperty1 + privateProperty2 + privateProperty3 + privateProperty4 + privateProperty5 + privateProperty6 + privateProperty7 + privateProperty8 + privateProperty9 + privateProperty10;
   };
  }
  
  function PrototypePrivateProperties() {}
  
  PrototypePrivateProperties.prototype = {
   _privateProperty1: 1,
   _privateProperty2: 2,
   _privateProperty3: 3,
   _privateProperty4: 4,
   _privateProperty5: 5,
   _privateProperty6: 6,
   _privateProperty7: 7,
   _privateProperty8: 8,
   _privateProperty9: 9,
   _privateProperty10: 10,
  
   publicMethod1: function() {
    return this._privateProperty1 + this._privateProperty2 + this._privateProperty3 + this._privateProperty4 + this._privateProperty5 + this._privateProperty6 + this._privateProperty7 + this._privateProperty8 + this._privateProperty9 + this._privateProperty10;
   }
  };
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
initialize constructor
for (var i = 0; i < 1000; i++) {
 new ConstructorPrivateProperties();
}
ready
initialize prototype
for (var i = 0; i < 1000; i++) {
 new PrototypePrivateProperties();
}
ready

Revisions

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

  • Revision 1: published by Nicolas on