Test name | Executions per second |
---|---|
Object lookup | 225.1 Ops/sec |
Map lookup | 233.0 Ops/sec |
Set lookup | 274.3 Ops/sec |
var objList= [
{ name: "Lorem" },
{ name: "ipsum" },
{ name: "dolor" },
{ name: "sit" },
{ name: "amet" },
{ name: "consectetur" },
{ name: "adipisicing" },
{ name: "elit." },
{ name: "Ullam" },
{ name: "nesciunt" },
{ name: "debitis," },
{ name: "facilis" },
{ name: "qui" },
{ name: "possimus" },
{ name: "minus" },
{ name: "rerum" },
{ name: "velit" },
{ name: "saepe" },
{ name: "magnam," },
{ name: "voluptatum" },
{ name: "quos" },
{ name: "eveniet" },
{ name: "ducimus" },
{ name: "facere" },
{ name: "harum" },
{ name: "itaque" },
{ name: "atque" },
{ name: "assumenda" },
{ name: "reiciendis" },
{ name: "exercitationem" }
]
for(let i = 0; i < 100000; i++)
objList.unshift({ name: ""+i })
var object = objList.reduce((acc, team) => {
acc[team.name] = team
return acc;
}, {});
var b = object["consectetur"]
var map = objList.reduce((acc, team) => {
acc.set(team.name, team);
return acc;
}, new Map());
for(let i = 0; i < 100000; i++)
var b = map.has("consectetur")
var set = objList.reduce((acc, team) => {
acc.add(team.name);
return acc;
}, new Set());
for(let i = 0; i < 100000; i++)
var b = set.has("consectetur")