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
function reduceKeys(obj, omitKey) {
return Object.keys(obj).reduce((result, key) => {
if(key !== omitKey) {
result[key] = obj[key];
}
return result;
}, {});
}
function filterReduce (obj, omitKey) {
return Object.keys(obj)
.filter(key => key != omitKey)
.reduce((result, key) => {
result[key] = obj[key];
return result;
}, {})
}
function assignDelete(obj, omitKey) {
const clone = Object.assign({}, obj);
delete clone[omitKey];
return clone;
}
function destructure(obj, omitKey) {
const {[omitKey]: _, ...rest} = obj;
return rest;
}
const obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
f: 6,
g: 7,
h: 8,
i: 9,
j: 10,
k: 11,
l: 12,
m: 13,
n: 14,
o: 15,
p: 16,
q: 17,
r: 18,
s: 19,
t: 20,
u: 21,
v: 22,
w: 23,
x: 24,
y: 25,
z: 26,
}
Ready to run.
Test | Ops/sec | |
---|---|---|
reduce |
| ready |
filter + reduce |
| ready |
Object.assign + delete |
| ready |
Destructuring |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.