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 numbersNan = [];
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);
numbersNan.push(i%2 ? Number.NaN: 1);
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 |
| numbersNan == | | ready |
| numbersNan === | | ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.