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/135.0.0.0 Safari/537.36
Browser:
Chrome 135
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Benchmark engine:
Benchmark.js
Iterate + delete
93.3M/s
Iterate + clear
15.7M/s
View exact numbers
Test name
Executions per second
✓
Iterate + delete
93,250,992 Ops/sec
Iterate + clear
15,683,039 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); }