Test name | Executions per second |
---|---|
batch clone | 8531.8 Ops/sec |
singular clone | 7707.4 Ops/sec |
querySelectorAll | 8017.5 Ops/sec |
const DIV = document.createElement('div')
const SPN = document.createElement('span')
const BTN = document.createElement('button')
const INP = document.createElement('input')
const H2 = document.createElement('h2')
const H4 = document.createElement('h4')
const AX = document.createElement('a')
const UL = document.createElement('ul')
const LI = document.createElement('li')
let u0 = UL.cloneNode(true)
let l0 = LI.cloneNode(true)
let l1 = LI.cloneNode(true)
let l2 = LI.cloneNode(true)
u0.appendChild(l0)
u0.appendChild(l1)
u0.appendChild(l2)
for (let i = 0; i < 200; ++i) {
let ui = u0.cloneNode(true)
let uj = ui.firstElementChild;
let uk = uj.nextElementSibling;
let ul = uk.nextElementSibling;
}
for (let i = 0; i < 200; ++i) {
let u0 = UL.cloneNode(true)
let l0 = LI.cloneNode(true)
let l1 = LI.cloneNode(true)
let l2 = LI.cloneNode(true)
u0.appendChild(l0)
u0.appendChild(l1)
u0.appendChild(l2)
}
let u0 = UL.cloneNode(true)
let l0 = LI.cloneNode(true)
let l1 = LI.cloneNode(true)
let l2 = LI.cloneNode(true)
u0.appendChild(l0)
u0.appendChild(l1)
u0.appendChild(l2)
l0.dataset.f00='1';
l1.dataset.f00='2';
l2.dataset.f00='3';
for (let i = 0; i < 200; ++i) {
let ui = u0.cloneNode(true)
let uj = ui.querySelectorAll('[data-f00]');
}