Test name | Executions per second |
---|---|
Set | 190.2 Ops/sec |
Object | 29.2 Ops/sec |
Map | 90.1 Ops/sec |
const set = new Set();
for (let i = 0; i < 1000; ++i) {
set.add(`key_${i}`);
}
let result = 0;
for (let j = 0; j < 100; ++j) {
const clone = new Set(set);
for (let k = -500; k < 500; ++k) {
result += clone.has(`key_${k}`);
}
}
console.log(result);
const obj = {};
for (let i = 0; i < 1000; ++i) {
obj[`key_${i}`] = true;
}
let result = 0;
for (let j = 0; j < 100; ++j) {
const clone = Object.assign({}, obj);
for (let k = -500; k < 500; ++k) {
result += clone.hasOwnProperty(`key_${k}`);
}
}
console.log(result);
const map = new Map();
for (let i = 0; i < 1000; ++i) {
map.set(`key_${i}`, true);
}
let result = 0;
for (let j = 0; j < 100; ++j) {
const clone = new Map(map);
for (let k = -500; k < 500; ++k) {
result += clone.get(`key_${k}`);
}
}
console.log(result);