HTML Preparation code:
AخA
 
1
<div id="viewer"></div>
Tests:
  • innerHTML

    x
     
    const lines = 50000;
    let data = '';
    for(let i = 0; i<=lines; i++) {
      data += `<div class="row"><span id="line-${i}">${i}</span><span>Foo Bar ${i}</span></div>`
    }
    const el = document.getElementById('viewer');
    el.innerHTML = data;
  • DocumentFragment

     
    const lines = 50000;
    let data = '';
    for(let i = 0; i<=lines; i++) {
      data += `<div class="row"><span id="line-${lines[i]}">${lines[i]}</span><span>Foo Bar ${lines[i]}</span></div>`
    }
    const fragment = document.createDocumentFragment();
    const wrapper = document.createElement('div');
    const el = document.getElementById('viewer');
    wrapper.innerHTML = data.html;
    fragment.appendChild(wrapper);
    el.appendChild(fragment);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    innerHTML
    DocumentFragment

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0
Firefox 91 on Mac OS X 10.15
View result in a separate tab
Test name Executions per second
innerHTML 3.3 Ops/sec
DocumentFragment 33.4 Ops/sec