Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Set vs Map vs Object for lookups (1000 entries)
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Browser:
Chrome 133
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Object lookup
68292672.0 Ops/sec
Map lookup
125513184.0 Ops/sec
Set lookup
118184440.0 Ops/sec
Array lookup
74234400.0 Ops/sec
Script Preparation code:
var list = [ "Lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipisicing", "elit.", "Ullam", "nesciunt", "debitis", "facilis", "qui", "possimus", "minus", "rerum", "velit", "saepe", "magnam", "voluptatum", "quos", "eveniet", "ducimus", "facere", "harum", "itaque", "atque", "assumenda", "reiciendis", "exercitationem" ]; // Generate 970 unique random words while (list.length < 1000) { let word = Math.random().toString(36).substring(2, 10); // Generate a random word if (!list.includes(word)) { list.push(word); } } var set = new Set(list); var map = new Map(); list.forEach(word => map.set(word, true)); var object = {}; list.forEach(word => object[word] = true);
Tests:
Object lookup
var b = object["consectetur"]
Map lookup
var b = map.has("consectetur")
Set lookup
var b = set.has("consectetur")
Array lookup
var b = list.find(e => e == "consectetur")