Prototype vs Module pattern performance

JavaScript performance comparison

Revision 76 of this test case created

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    function context() {
       var ins = {};
       ins.prop1 = 'asdasd';
       ins.prop2 = 'asdsad';
       ins.prop3 = 'asdasd';
       ins.prop4 = 'asdasd';
       ins.prop5 = 'sdasd';
       ins.testMethod = function() {
          return ins.prop1;
       }
       return ins;
    }
   
    function Context() {
       var ins = this;
       ins.prop1 = 'asdasd';
       ins.prop2 = 'asdsad';
       ins.prop3 = 'asdasd';
       ins.prop4 = 'asdasd';
       ins.prop5 = 'sdasd';
       ins.testMethod = function() {
          return ins.prop1;
       }
    }
   
   
    function context2() {
       var ins = {
       prop1: 'asdasd',
       prop2:  'asdsad',
       prop3:  'asdasd',
       prop4:  'asdasd',
       prop5: 'sdasd',
       testMethod: function() {
           return prop1;
        }
       };
       return ins;
    }
};
</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
Prototypal
var a = context();
a.testMethod();
pending…
Module pattern
var b = new Context();
b.testMethod();
pending…
asdsadasd
var c = context2();
c.testMethod();
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