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 (Macintosh; Intel Mac OS X 10.15; rv:134.0) Gecko/20100101 Firefox/134.0
Browser:
Firefox 134
Operating system:
Mac OS X 10.15
Device Platform:
Desktop
Date tested:
one year ago
Benchmark engine:
Benchmark.js
Iterate + delete
25.4M/s
Iterate + clear
20.8M/s
View exact numbers
Test name
Executions per second
✓
Iterate + delete
25,416,440 Ops/sec
Iterate + clear
20,802,818 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); }