Script Preparation code:
x
 
const targetElem = document.createElement( 'DIV' );
targetElem.id = 'target';
targetElem.innerHTML = `
    <div>
        <span>Child 1</span>
    </div>
    <div>
        <span>Child 2</span>
    </div>
    <div>
        <span>Child 3</span>
    </div>
`;
document.body.appendChild( targetElem );
Tests:
  • innerHTML

     
    document.getElementById('target').innerHTML = `
        <div>
            <span>Child 4</span>
        </div>
    `;
  • replaceChildren + insertAdjacentHTML

     
    const target = document.getElementById('target')
    target.replaceChildren();
    target.insertAdjacentHTML( 'beforeend', `
        <div>
            <span>Child 4</span>
        </div>
    ` );
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    innerHTML
    replaceChildren + insertAdjacentHTML

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 months ago)
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36
Chrome Mobile 133 on Android
View result in a separate tab
Test name Executions per second
innerHTML 28640.8 Ops/sec
replaceChildren + insertAdjacentHTML 21128.2 Ops/sec