Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Map() delete while iterating vs clear
When iterating over a Map and clearing after iteration is required, is it faster to remove items at each iteration step or is it faster to iterate and then clear() the entire Map afterwards?
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/137.0.0.0 Safari/537.36
Browser:
Chrome 137
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Benchmark engine:
Benchmark.js
Iterate + delete
190.8M/s
Iterate + clear
37.0M/s
View exact numbers
Test name
Executions per second
✓
Iterate + delete
190,805,312 Ops/sec
Iterate + clear
36,986,164 Ops/sec
Script Preparation code:
var dummy = 0; var map = new Map(new Array(100).fill(null).map((_, i) => [ function(incrementBy) { dummy += incrementBy; }, { incrementBy: i } ]));
Tests:
Iterate + clear
for (const [fn, obj] of map) { fn(obj.incrementBy); } map.clear();
Iterate + delete
for (const [fn, obj] of map) { fn(obj.incrementBy); map.delete(fn); }