blob: 4d611e3d0791ac32f8f105ac7a64f32b87282485 [file] [log] [blame]
<!DOCTYPE html>
<script src="../resources/runner.js"></script>
<!-- This is a micro benchmark to catch an unintentional regression.
If the reason of a regression is clear, it is okay.
We do not have to optimize the result of the benchmark. -->
<div id="wrapper">
<div id="host"></div>
</div>
<script>
'use strict';
const numChildOfHost = 50;
const numDivsInShadow = 20;
const loops = 20;
const slot1 = document.createElement('slot');
slot1.setAttribute('name', 'slot1');
const slot2 = document.createElement('slot');
slot2.setAttribute('name', 'slot2');
const shadowRoot = host.attachShadow({mode: 'open'});
shadowRoot.appendChild(slot1);
shadowRoot.appendChild(slot2);
for (let i = 0; i < numDivsInShadow; ++i) {
let div = document.createElement('div');
shadowRoot.appendChild(div);
}
function run() {
for (let i = 0; i < loops; ++i) {
for (let j = 0; j < numChildOfHost; ++j) {
let div1 = document.createElement('div');
div1.setAttribute('slot', 'slot1');
host.appendChild(div1);
let div2 = document.createElement('div');
div2.setAttribute('slot', 'slot2');
host.appendChild(div2);
}
host.innerHTML = '';
}
}
PerfTestRunner.measureTime({
description: "Measure v1 distribution performance",
run: run,
done: () => {
wrapper.innerHTML = '';
}
});
</script>