Test name | Executions per second |
---|---|
conditional array.push | 10360063.0 Ops/sec |
set.add | 34609856.0 Ops/sec |
map.set overwrite | 32412726.0 Ops/sec |
var array = [];
var set = new Set();
var map = new Map();
var existingItem1 = {};
var existingItem2 = {};
var existingItem3 = {};
var newItem1 = {};
var newItem2 = {};
var newItem3 = {};
for (let i = 0, item; i < 100; i++) {
item = {index: i};
array.push(item);
set.add(item);
map.set(item, 0);
}
array.push(existingItem1, existingItem2, existingItem3);
set.add(existingItem1); set.add(existingItem2); set.add(existingItem3);
map.set(existingItem1, 0); map.set(existingItem2, 0); map.set(existingItem3, 0);
if (!array.includes(existingItem1)) {
array.push(existingItem1);
}
if (!array.includes(newItem1)) {
array.push(newItem1);
}
if (!array.includes(existingItem2)) {
array.push(existingItem2);
}
if (!array.includes(newItem2)) {
array.push(newItem2);
}
if (!array.includes(existingItem3)) {
array.push(existingItem3);
}
if (!array.includes(newItem3)) {
array.push(newItem3);
}
set.add(existingItem1);
set.add(newItem1);
set.add(existingItem2);
set.add(newItem2);
set.add(existingItem3);
set.add(newItem3);
map.set(existingItem1, 0);
map.set(newItem1, 0);
map.set(existingItem2, 0);
map.set(newItem2, 0);
map.set(existingItem3, 0);
map.set(newItem3, 0);