Test name | Executions per second |
---|---|
Set | 471.4 Ops/sec |
Object | 332.8 Ops/sec |
Map | 450.0 Ops/sec |
const set = new Set();
for (let i = 0; i < 10000; ++i) {
set.add(`key_${i}`);
}
for (let j = 0; j < 10000; ++j) {
set.add(`key_${j}`);
}
let result = 0;
for (let k = 0; k < 20000; ++k) {
result += set.has(`key_${k}`);
}
console.log(result);
const obj = {};
for (let i = 0; i < 10000; ++i) {
obj[`key_${i}`] = true;
}
for (let j = 0; j < 10000; ++j) {
obj[`key_${j}`] = 1;
}
let result = 0;
for (let k = 0; k < 20000; ++k) {
result += obj.hasOwnProperty(`key_${k}`);
}
console.log(result);
const map = new Map();
for (let i = 0; i < 10000; ++i) {
map.set(`key_${i}`, true);
}
for (let j = 0; j < 10000; ++j) {
map.set(`key_${j}`, 1);
}
let result = 0;
for (let k = 0; k < 20000; ++k) {
result += map.get(`key_${k}`);
}
console.log(result);