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; rv:149.0) Gecko/20100101 Firefox/149.0
Browser:
Firefox 149
Operating system:
Linux
Device Platform:
Desktop
Date tested:
5 months ago
Benchmark engine:
Benchmark.js
Iterate + delete
25.6M/s
Iterate + clear
21.6M/s
View exact numbers
Test name
Executions per second
✓
Iterate + delete
25,586,444 Ops/sec
Iterate + clear
21,628,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); }