innerHTML vs removeChild (v415)

Revision 415 of this benchmark created by Anthony Weber on


Preparation HTML

<div id='box1'></div>
<div id='box2'></div>
<div id='box3'></div>

Setup

var testPattern = '<div>hello<div style="background-color: #000000;">ttt</div></div>';
  var i, testString;
  for(i = 0; i < 1000; i++) {
    testString += testPattern;
  }
  
  var box1 = document.getElementById('box1');
  var box2 = document.getElementById('box2');
  var box3 = document.getElementById('box3');
  
  box1.innerHTML = testString;
  box2.innerHTML = testString;
  box3.innerHTML = testString;

Test runner

Ready to run.

Testing in
TestOps/sec
innerHTML
box2.innerHTML = '';
ready
removeChild using for loop
for (let childId = 0; i < box3.childElementCount; i++) {
  box3.removeChild(box3.children[childId]);
}
ready
removeChild using firstChild
while (box1.firstChild) {
  box1.removeChild(box1.firstChild);
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.