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
<script>
function Person(name) {
this.name = name;
}
Person.prototype.get_name = function() {
return this.name;
};
Person.prototype.set_name = function(name) {
this.name = name;
};
var getter = function() {return this.name;}
var setter = function(newName) {this.name = newName;}
var person = function(name) {
return {
'name': name,
'get_name': getter,
'set_name': setter
};
};
var personInline = function(name) {
return {
'get_name': function() {return name;},
'set_name': function(newName){ name = newName; }
};
};
var p1 = new Person('John');
var p2 = person('John');
var p3 = personInline('John');
ui.benchmarks[2].setup = function() {
var b = new Person('John');
};
ui.benchmarks[3].setup = function() {
var c = person('John');
};
ui.benchmarks[4].setup = ui.benchmarks[2].setup;
ui.benchmarks[5].setup = ui.benchmarks[3].setup;
ui.benchmarks[7].setup = function() {
var pi = personInline('John');
};
ui.benchmarks[8].setup = ui.benchmarks[7].setup;
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
Prototype init |
| ready |
Closure init |
| ready |
Prototype read |
| ready |
Closure read |
| ready |
Prototype write |
| ready |
Closure write |
| ready |
Closure Inline init |
| ready |
Closure Inline read |
| ready |
Closure Inline write |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.