Script Preparation code:
x
 
window.BaseLinkElement = document.createElement('a');
BaseLinkElement.target = "_blank";
window.LinkTemplate = document.createElement('template');
LinkTemplate.innerHTML = "<a target='_blank'></a>";
Tests:
  • Create new element from scratch

     
    let a = document.createElement('a');
    a.href = "my_custom_link";
    a.textContent = "my_custom_text";
  • Clone element and change

     
    let a = window.BaseLinkElement.cloneNode(true);
    a.href = "my_custom_link";
    a.textContent = "my_custom_text";
  • Clone template content and change

     
    let a = window.LinkTemplate.content.cloneNode(true);
    a.href = "my_custom_link";
    a.textContent = "my_custom_text";
  • Clone template and use its content

     
    let a = window.LinkTemplate.cloneNode(true).content;
    a.href = "my_custom_link";
    a.textContent = "my_custom_text";
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Create new element from scratch
    Clone element and change
    Clone template content and change
    Clone template and use its content

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.35
Chrome 107 on Windows
View result in a separate tab
Test name Executions per second
Create new element from scratch 697686.6 Ops/sec
Clone element and change 648275.9 Ops/sec
Clone template content and change 687582.2 Ops/sec
Clone template and use its content 538037.5 Ops/sec