innerhtml vs removechild vs replacechildren
Date tested:
8 months ago
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.42
Test name
Executions per second
innerHTML
3023656.0 Ops/sec
removeChild
3966150.0 Ops/sec
replaceChildren
2673843.0 Ops/sec
Benchmark definition (click to collapse):
HTML Preparation code:
<div id="container"></div>
Script Preparation code:
var node = document.getElementById('container'); for(var i = 0; i < 1000; i++) node.appendChild(document.createElement('div'));
Tests:
innerHTML
var node = document.getElementById('container'); node.innerHTML = '';
removeChild
var node = document.getElementById('container'); while(node.firstChild) node.removeChild(node.firstChild)
replaceChildren
var node = document.getElementById('container'); node.replaceChildren();
Open this result on MeasureThat.net