Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
event delegation (with parent identification) vs local handlers
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 EdgA/131.0.0.0
Browser:
Chrome Mobile 131
Operating system:
Android
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
manyDel
4842.5 Ops/sec
manyLoc
25112.0 Ops/sec
HTML Preparation code:
<ul class='one'> </ul> <ul class='manyDel'> </ul> <ul class='manyLoc'> </ul> <template class='content'> <li data-x='2'> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <a class='link'></a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </li> </template>
Script Preparation code:
var templ = document.querySelector(`.content`); var manyDel = document.querySelector(`.manyDel`); var manyDelLinks = []; var manyLoc = document.querySelector(`.manyLoc`); var manyLocLinks = []; var x = 0; function handleEvent(li) { x += (li.dataset.x|0); } function delHandleEvent(ev) { let li = ev.target; while (li.tagName !== `LI`) {li = li.parentElement;}; handleEvent(li); } var n = 1000; for (let i = 0; i < n; ++i) { let frag = templ.cloneNode(true).content; manyDelLinks.push(frag.querySelector(`.link`)); manyDel.append(frag); frag = templ.cloneNode(true).content; let li = frag.firstElementChild; frag.querySelector(`.link`).addEventListener(`test`, () => handleEvent(li)); manyLocLinks.push(frag.querySelector(`.link`)); manyLoc.append(frag); } manyDel.addEventListener(`test`, handleEvent);
Tests:
manyDel
manyDelLinks[(Math.random() * n)|0].dispatchEvent(new CustomEvent(`test`, {bubbles : true}));
manyLoc
manyLocLinks[(Math.random() * n)|0].dispatchEvent(new CustomEvent(`test`, {bubbles : true}));