Tests:
  • createElement

    AخA
     
    const list = [];
    let n = 0;
    while(true) {
        n++;
        const div = document.createElement('div');
        const p = document.createElement('p');
        p.classList.add('font-bold');
        p.textContent = 'Hello!';
        div.appendChild(p);
        list.push(div);
        if(n===100000) 
            break;
    }
  • cloneNode (deep)

     
    const list = [];
    let n = 0;
        const div = document.createElement('div');
        const p = document.createElement('p');
        p.classList.add('font-bold');
        p.textContent = 'Hello!';
        div.appendChild(p);
    while(true) {
        n++;
        list.push(div.cloneNode(true));
        if(n===100000) 
            break;
    }
  • innerHTML

     
    const list = [];
    let n = 0;
    while(true) {
        n++;
        const div = document.createElement('div');
        div.innerHTML = '<p class="font-bold">Hello!</p>';
        list.push(div);
        if(n===100000) 
            break;
    }
  • innerHTML single

     
    const list = [];
    let n = 0;
    const div = document.createElement('div');
    let s= '';
    while(true) {
        n++;
        s+='<p class="font-bold">Hello!</p>';
        if(n===100000) 
            break;
    }
    div.innerHTML = s;
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    createElement
    cloneNode (deep)
    innerHTML
    innerHTML single

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
Chrome 111 on Windows
View result in a separate tab
Test name Executions per second
createElement 3.4 Ops/sec
cloneNode (deep) 9.0 Ops/sec
innerHTML 1.9 Ops/sec
innerHTML single 6.5 Ops/sec