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
Comparing the performance of using prototype.toJSON vs an analogous replacer function used in the JSON.stringify method.
var MyClass = function MyClass() {
this.property = 'something';
}
var MyClassToJSON = function MyClassToJSON() {
this.property = 'something';
}
MyClassToJSON.prototype.toJSON = function toJSON() {
this.property = 'else';
return this;
}
function replacer(prop, value) {
if(value instanceof MyClass) {
value.property = 'else';
}
return value;
}
var arrReplacer = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"];
var my = new MyClass();
var my2json = new MyClassToJSON();
var temp1 = {
one: 1,
two: "two",
three: true,
four: null,
five: new MyClassToJSON(),
six: new MyClassToJSON(),
seven: new MyClassToJSON(),
eight: new MyClassToJSON(),
nine: new MyClassToJSON(),
ten: new MyClassToJSON(),
};
var temp2 = {
one: 1,
two: "two",
three: true,
four: null,
five: new MyClass(),
six: new MyClass(),
seven: new MyClass(),
eight: new MyClass(),
nine: new MyClass(),
ten: new MyClass(),
};
Ready to run.
Test | Ops/sec | |
---|---|---|
w/ toJSON |
| ready |
w/ replacer |
| ready |
w/ neither |
| ready |
w/ array replacer |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.