Test name | Executions per second |
---|---|
Map Insert | 1229.8 Ops/sec |
Object Insert | 1052.9 Ops/sec |
Object2 Insert | 1053.2 Ops/sec |
Map Delete | 5714.5 Ops/sec |
Object Delete | 1046.2 Ops/sec |
Object2 Delete | 1353.9 Ops/sec |
Map Copy | 0.2 Ops/sec |
Object Copy | 875.2 Ops/sec |
Object2 Copy | 880.7 Ops/sec |
Map to Object | 0.1 Ops/sec |
var map = new Map();
var obj = {};
var obj2 = Object.create(null);
for (let i = 0; i < 10000; i++) {
map.set(`a${i}`, i);
}
for (let i = 0; i < 10000; i++) {
obj[`a${i}`] = i;
}
for (let i = 0; i < 10000; i++) {
obj2[`a${i}`] = i;
}
let map = new Map();
for (let i = 0; i < 10000; i++) {
map.delete(`a${i}`);
}
for (let i = 0; i < 10000; i++) {
delete obj[`a${i}`];
}
for (let i = 0; i < 10000; i++) {
delete obj2[`a${i}`];
}
for (let i = 0; i < 10000; i++) {
const map2 = new Map(map);
}
for (let i = 0; i < 10000; i++) {
const objCopy = {obj};
}
for (let i = 0; i < 10000; i++) {
const objCopy = {obj2};
}
for (let i = 0; i < 10000; i++) {
const newObj = Object.fromEntries(map.entries());
}