Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
cloneNode(true) vs innerHMTL - w/ Dom Destroy and Replace
Test speed of clone / append nodes vs replacing innerHTML.
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
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
Browser:
Chrome 134
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
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
HTML Preparation code:
<html> <body> <div id="container"> </div> <body> <html>
Script Preparation code:
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;