Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Test (while or forEach)
Test (while or forEach)
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15
Browser:
Safari 18
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
removeChild by while
60.9M/s
remove by while
60.5M/s
innerHTML
12.8M/s
remove by forEach
12.7M/s
replaceChildren
9.3M/s
View exact numbers
Test name
Executions per second
✓
removeChild by while
60,885,232 Ops/sec
remove by while
60,487,960 Ops/sec
innerHTML
12,751,295 Ops/sec
remove by forEach
12,744,576 Ops/sec
replaceChildren
9,276,551 Ops/sec
HTML Preparation code:
<div id="parent"></div>
Script Preparation code:
const node = document.getElementById('parent'); const child = document.createElement('div') child.classList.add('child') child.textContent = 'some text' for(var i = 0; i < 5000; i++) node.appendChild(child);
Tests:
innerHTML
const node = document.getElementById('parent'); node.innerHTML = '';
replaceChildren
const node = document.getElementById('parent'); node.replaceChildren();
remove by while
const node = document.getElementById('parent'); while(node.firstChild) node.firstChild.remove()
removeChild by while
const node = document.getElementById('parent'); while(node.firstChild) node.removeChild(node.firstChild)
remove by forEach
const node = document.querySelectorAll('.child'); for (const child of node) child.remove()