Object.create() vs. constructor vs. object literal

JavaScript performance comparison

Revision 89 of this test case created

Preparation code

<script>
var myPrototype = {methodA: function () {},methodB: function () {},
    methodC: function () {}};

Obj = function() {this.p = 1;}
//superclass method
Obj.prototype.methodA= function () {};
Obj.prototype.methodB= function () {};
Obj.prototype.methodC= function () {};

function factory( func ) {
  var obj = {};
  var args = [];
  for (var i=1, l=arguments.length; i<l; i++) args[i-1] = arguments[i];
  func.apply( obj, args );
  obj.constructor = func;
  return obj;
}

  propObj = {
   p: {
    value: 1
   }
  };
</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
Object.create() using in-place property object
o = Object.create(myPrototype);
pending…
Object.create() using pre-defined property object
o = factory(Obj);
pending…
Constructor function
o = new Obj();
 
pending…
Object literal
o = {
 p: 1,
methodA:myPrototype.methodA,
methodA:myPrototype.methodB,
methodA:myPrototype.methodC

};
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