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
var a = 1,
b = true,
c = "c",
d = [],
e = {},
u;
function isUndefinedA(thing) {
return typeof thing === 'undefined';
}
function isUndefinedB(thing) {
return thing === undefined;
}
var _undefined;
function isUndefinedC(thing) {
return thing === _undefined;
}
function isUndefinedD(thing) {
return thing === void 0;
}
function isUndefinedE(thing) {
return thing === void null;
}
var cachedUndefined = void 0;
function isUndefinedF(thing) {
return thing === cachedUndefined;
}
// tests
var funcs = [isUndefinedA, isUndefinedB, isUndefinedC, isUndefinedD, isUndefinedE];
var vars = [a, b, c, d, e, u];
for (var f = 0; f < funcs.length; f++) {
var func = funcs[f];
for (var v = 0; v < vars.length; v++) {
var val = vars[v];
var isUndefined = func(val);
var expect;
if (v === 5) {
expect = true;
} else {
expect = false;
}
if (isUndefined !== expect) {
throw new Error('assert failure');
}
}
}
Ready to run.
Test | Ops/sec | |
---|---|---|
typeof undefined |
| ready |
=== undefined |
| ready |
=== undefined(local) |
| ready |
void 0 |
| ready |
void null |
| ready |
cached void 0 |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.