HTML Preparation code:
AخA
 
1
<html>
2
  <body>
3
    <div id="container">
4
    </div>
5
    <body>
6
  <html>
Script Preparation code:
x
 
var str = `<div>${Math.random().toString().slice(2)}</div>`;
var container = document.getElementById("container");
var temp = document.createElement('template')
var res = '';
for(i=0; i<30000; i++){
    res += str
}
temp.innerHTML = res;
var div = document.createElement('div')
container.appendChild(div);
div.innerHTML = res;
Tests:
  • cloneNode(true) - While -> Remove

     
    while (div.firstChild) {
      div.removeChild(div.firstChild);
    }
    div.append(temp.content.cloneNode(true)); 
  • innerHTML

     
    div.innerHTML = res;
  • cloneNode(true) - replaceChildren

     
    div.replaceChildren(temp.content.cloneNode(true)); 
  • cloneNode(true) - replace whole div

     
    const newDiv = div.cloneNode(false);
    newDiv.append(temp.content.cloneNode(true));
    div.parentNode.replaceChild(newDiv, div);
    div = newDiv;
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    cloneNode(true) - While -> Remove
    innerHTML
    cloneNode(true) - replaceChildren
    cloneNode(true) - replace whole div

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 10 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0
Chrome 134 on Windows
View result in a separate tab
Test name Executions per second
cloneNode(true) - While -> Remove 2.6 Ops/sec
innerHTML 9.4 Ops/sec
cloneNode(true) - replaceChildren 3.8 Ops/sec
cloneNode(true) - replace whole div 23.6 Ops/sec