jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
Demonstrating two different methods of inheritance. Brought about by this article in hacker news:
Wanted to examine it based on my own coding usage (a couple levels of single inheritance).
I was using crockford's method (so called "real" prototypical inheritance), but according to Ashkenas this is a frowned upon model these days. The claim is that its much slower. In my test below it seems to be faster, but I'm fairly sure I'm missing something.
Both tests are building an end object with two prototype methods from two different parents.
<script>
MY = {};
// Used for crockford inheritance
MY.create = function(o) {
function F() {};
F.prototype = o;
return new F();
};
// setup for Crockford inheritance
MY.realbase = {
monkey: function() {
console.log("monkey")
}
}
// setup for Ashkenas Inheritance
MY.base = function() {};
MY.base.prototype.monkey = function() {
console.log("monkey")
}
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
Crockford Inheritance |
| ready |
Ashkenas Inheritance |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.