HTML Preparation code:
AخA
 
1
<div id='messages'></div>
Script Preparation code:
 
const html = [];
for(i=0; i<1000; i++) {
    html.push("<span>Text</span>");
}
document.getElementById("messages").insertAdjacentHTML('beforeend', html)
Tests:
  • Remove firstChild

     
    let list = document.getElementById("messages");
    while (list.firstChild) {
        list.removeChild(list.firstChild);
    }
  • Remove lastChild

     
    let list = document.getElementById("messages");
    while (list.lastChild) {
        list.removeChild(list.lastChild);
    }
  • firstChild.remove

     
    let list = document.getElementById("messages");
    while (list.firstChild) {
        list.firstChild.remove();
    }
  • lastChild.remove

     
    let list = document.getElementById("messages");
    while (list.lastChild) {
        list.lastChild.remove();
    }
  • replaceChildren

     
    let list = document.getElementById("messages");
    list.replaceChildren();
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Remove firstChild
    Remove lastChild
    firstChild.remove
    lastChild.remove
    replaceChildren

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 13 days ago)
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
Safari 18 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Remove firstChild 60353228.0 Ops/sec
Remove lastChild 58729848.0 Ops/sec
firstChild.remove 40299172.0 Ops/sec
lastChild.remove 21240908.0 Ops/sec
replaceChildren 1614000.4 Ops/sec