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
Testing if access through Array.indexOf or Object's in Operator is faster.
var guid = (function() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return function() {
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
};
})();
var arr = [];
var obj = {};
for (var i = 0; i < 10000; i++) {
var g = guid();
arr.push(g);
obj[g] = true;
}
var first = arr[0];
var last = arr[arr.length - 1];
Ready to run.
Test | Ops/sec | |
---|---|---|
Array - Find first element |
| ready |
Object - Find first element |
| ready |
Array - Find last element |
| ready |
Object - Find last element |
| ready |
Object - Find first element (typeof) |
| ready |
Object - Find last element (typeof) |
| ready |
Object - Find first element (undefined) |
| ready |
Object - Find last element (undefined) |
| ready |
Object - Find first element (truthy) |
| ready |
Object - Find last element (truthy) |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.