Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Set vs Object vs Map doing stuff with clones using Object.assign()
(version: 1)
Comparing performance of:
Set vs Object vs Map
Created:
one year ago
by:
Guest
Jump to the latest result
Tests:
Set
const set = new Set(); for (let i = 0; i < 1000; ++i) { set.add(`key_${i}`); } let result = 0; for (let j = 0; j < 100; ++j) { const clone = new Set(set); for (let k = -500; k < 500; ++k) { result += clone.has(`key_${k}`); } } console.log(result);
Object
const obj = {}; for (let i = 0; i < 1000; ++i) { obj[`key_${i}`] = true; } let result = 0; for (let j = 0; j < 100; ++j) { const clone = Object.assign({}, obj); for (let k = -500; k < 500; ++k) { result += clone.hasOwnProperty(`key_${k}`); } } console.log(result);
Map
const map = new Map(); for (let i = 0; i < 1000; ++i) { map.set(`key_${i}`, true); } let result = 0; for (let j = 0; j < 100; ++j) { const clone = new Map(map); for (let k = -500; k < 500; ++k) { result += clone.get(`key_${k}`); } } console.log(result);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
Set
Object
Map
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Browser/OS:
Chrome 131 on Linux
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Set
190.2 Ops/sec
Object
29.2 Ops/sec
Map
90.1 Ops/sec
Related benchmarks:
Map vs Vanilla For vs For Of 1000
Map clone vs Object clone
Map.set() vs Object assignment in loops
Set vs Object vs Map doing stuff
Set vs Object vs Map doing stuff with clones
Object.assign vs copying object keys
Set Vs Map Vs Object
Map() vs Object() on write
map over Object (or Record in TS) vs Map clone
Comments
Confirm delete:
Do you really want to delete benchmark?