HTML Preparation code:
AخA
 
1
<div id='messages'></div>
Script Preparation code:
 
let list = document.getElementById("messages");
for(i=0; i<1000; i++) {
    list.innerHTML += "<span>Text</span>"
}
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.firstChild);
    }
  • innerHTML

     
    document.getElementById("messages").innerHTML = "";
  • innerText

     
    document.getElementById("messages").innerText = "";
  • textContent

     
    document.getElementById("messages").textContent = "";
  • firstChild.remove

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

     
    var range = new Range();
    range.selectNodeContents(document.getElementById("messages"));
    range.deleteContents();
  • 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
    innerHTML
    innerText
    textContent
    firstChild.remove
    range
    replaceChildren

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
Chrome 122 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Remove firstChild 10291701.0 Ops/sec
Remove lastChild 10280178.0 Ops/sec
innerHTML 8593443.0 Ops/sec
innerText 7444265.0 Ops/sec
textContent 8397485.0 Ops/sec
firstChild.remove 10332918.0 Ops/sec
range 2685014.0 Ops/sec
replaceChildren 7788756.5 Ops/sec