Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
createElement vs innerHTML for creating elements in DOM vs DocumentFragment
Speed of inserting DOM elements by various methods
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Browser:
Chrome 141
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
6 months ago
Test name
Executions per second
createElement
767.9 Ops/sec
innerHTML
2.6 Ops/sec
innerHTML append
3317.2 Ops/sec
DocumentFragment
733.8 Ops/sec
HTML Preparation code:
<div id="container"></div>
Tests:
createElement
const container = document.getElementById('container'); container.innerHTML = ''; for (let i = 0; i < 1000; i++) { const div = document.createElement('div'); const p = document.createElement('d'); p.classList.add('font-bold'); p.textContent = 'Hello'+i+'!'; div.appendChild(p); container.appendChild(div); } /*cleanup*/ container.innerHTML = '';
innerHTML
const container = document.getElementById('container'); container.innerHTML = ''; for (let i = 0; i < 1000; i++) { container.innerHTML += '<div><p class="font-bold">Hello'+i+'!</p></div>'; } /*cleanup*/ container.innerHTML = '';
innerHTML append
const container = document.getElementById('container'); container.innerHTML = ''; for (let i = 0; i < 1000; i++) { container.append('<div><p class="font-bold">Hello'+i+'!</p></div>'); } /*cleanup*/ container.innerHTML = '';
DocumentFragment
const container = document.getElementById('container'); container.innerHTML = ''; const fragment=document.createDocumentFragment(); for (let i = 0; i < 1000; i++) { const div = document.createElement('div'); const p = document.createElement('d'); p.classList.add('font-bold'); p.textContent = 'Hello'+i+'!'; div.appendChild(p); fragment.appendChild(div); } container.appendChild(fragment); /*cleanup*/ container.innerHTML = '';