Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Persisting Set object vs recreating Set objects while maintaining a deduplicated ordered array
(version: 1)
Comparing performance of:
Reusing Set objects Creating a new Set object every Iteration vs Reusing Set object
Created:
one year ago
by:
Guest
Jump to the latest result
Script Preparation code:
// create an array of the numbers 1-1000, with each entry doubled, so: // [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, ... , 999, 999, 1000, 1000] const doubledNumbers = []; for (let i = 1; i <= 1000; i++) { doubledNumbers.push(i, i); } let dedupedAndSortedNumbers_1 = [] let dedupedAndSortedNumbers_2 = []
Tests:
Reusing Set objects Creating a new Set object every Iteration
for (const number of doubledNumbers) { const next = new Set(dedupedAndSortedNumbers_1); next.add(number); dedupedAndSortedNumbers_1 = Array.from(next).sort((a, b) => a - b); }
Reusing Set object
const set = new Set(dedupedAndSortedNumbers_2); for (const number of doubledNumbers) { set.add(number); dedupedAndSortedNumbers_2 = Array.from(set).sort((a, b) => a - b); }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Reusing Set objects Creating a new Set object every Iteration
Reusing Set object
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Browser/OS:
Chrome 133 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Reusing Set objects Creating a new Set object every Iteration
18.3 Ops/sec
Reusing Set object
47.7 Ops/sec
Related benchmarks:
Set vs Object iteration
Set.has vs Array.includes Large Collections
comparison of object vs number
Has Objects vs Sets
set + array.from + map vs map + set
Object destructuring performance
{} vs Map with set
{} vs Map with set and DELETE
{} vs Map with set and UPDATE value
Comments
Confirm delete:
Do you really want to delete benchmark?