$A.util.isPlainObject

JavaScript performance comparison

Test case created by zerious

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  function isPlainObject1(o) {
    return Object.prototype.toString.call(o) === "[object Object]"
      && typeof o.constructor === "function"
      && Object.prototype.toString.call(o = o.constructor.prototype) === "[object Object]"
      && o.hasOwnProperty("isPrototypeOf");
  }
  
  function isPlainObject2(o) {
      return Object.prototype.toString.call(o) === "[object Object]"
          && (o.constructor === Object || (typeof o.constructor === "function" && o.constructor.name === "Object"));
  }
  
  function Component(data) {
      this.data = data;
  }
  
  var a = { a: 1 };
  var b = { b: 1 };
  var c = { c: 1 };
  var d = { d: 1 };
  var e = { e: 1 };
  var f = { f: 1 };
  var g = { g: 1 };
  var h = { h: 1 };
  var i = { i: 1 };
  var j = { j: 1 };
  var k = { k: 1 };
  var l = { l: 1 };
  var m = { m: 1 };
  var n = [ 1 ];
  var o = [ 2 ];
  var p = [ 3 ];
  var q = new Component();
  var r = 'r';
  
  if (!isPlainObject1(a)) throw new Error("Fail: v1 Object");
  if (isPlainObject1(n)) throw new Error("Fail: v1 Array");
  if (isPlainObject1(q)) throw new Error("Fail: v1 Component");
  if (isPlainObject1(r)) throw new Error("Fail: v1 String");
  
  if (!isPlainObject2(a)) throw new Error("Fail: v2 Object");
  if (isPlainObject2(n)) throw new Error("Fail: v2 Array");
  if (isPlainObject2(q)) throw new Error("Fail: v2 Component");
  if (isPlainObject2(r)) throw new Error("Fail: v2 String");

};
</script>

Test runner

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

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
v1
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
v=isPlainObject1(a);v=isPlainObject1(b);v=isPlainObject1(c);v=isPlainObject1(d);v=isPlainObject1(e);v=isPlainObject1(f);v=isPlainObject1(g);v=isPlainObject1(h);v=isPlainObject1(i);v=isPlainObject1(j);v=isPlainObject1(k);v=isPlainObject1(l);v=isPlainObject1(m);v=isPlainObject1(n);v=isPlainObject1(o);v=isPlainObject1(p);v=isPlainObject1(q);v=isPlainObject1(r);
pending…
v2
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
v=isPlainObject2(a);v=isPlainObject2(b);v=isPlainObject2(c);v=isPlainObject2(d);v=isPlainObject2(e);v=isPlainObject2(f);v=isPlainObject2(g);v=isPlainObject2(h);v=isPlainObject2(i);v=isPlainObject2(j);v=isPlainObject2(k);v=isPlainObject2(l);v=isPlainObject2(m);v=isPlainObject2(n);v=isPlainObject2(o);v=isPlainObject2(p);v=isPlainObject2(q);v=isPlainObject2(r);
pending…

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

0 Comments