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
const numbers = [];
const booleans = [];
const strings = [];
const objs = [];
const objsMega = [];
const coercion = [];
const coercionMega = [];
const mix = [];
const mixSelector = [numbers, booleans, strings, objs]
for(let i=0; i<1000; i++) {
numbers.push(i);
booleans.push(i%2 == 0);
strings.push('' + i);
coercion.push({valueOf: () => "" + i});
objs.push({});
objsMega.push({
['_' + i]: i
});
coercionMega.push({
['_' + i]: i,
valueOf: () => "" + i
});
const array = mixSelector[i%mixSelector.length];
mix.push(array[i]);
}
Ready to run.
Test | Ops/sec | |
---|---|---|
numbers == |
| ready |
numbers === |
| ready |
strings == |
| ready |
strings === |
| ready |
mix == |
| ready |
mix === |
| ready |
coercion == |
| ready |
coercion === |
| ready |
coercion Object.is |
| ready |
objs == |
| ready |
objs === |
| ready |
objsMega == |
| ready |
coercionMega == |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.