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.firstChild) {
        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: 5 months ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
Chrome 130 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Remove firstChild 11330552.0 Ops/sec
Remove lastChild 11330780.0 Ops/sec
firstChild.remove 11191942.0 Ops/sec
lastChild.remove 11119986.0 Ops/sec
replaceChildren 4680685.5 Ops/sec