Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
TreeWalker vs querySelectorAll vs NodeIterator + filter HTMLElement
(version: 7)
Comparing performance of:
TreeWalker vs querySelectorAll vs NodeIterator
Created:
4 years ago
by:
Registered User
Jump to the latest result
HTML Preparation code:
<!-- article out start --> <article> <!-- article in start --> <h1>Lorem ipsum</h1> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque, nostrum.</p> <!-- article in end --> </article> <!-- article out end --> <!-- article out start --> <article> <!-- article in start --> <h1>Lorem ipsum</h1> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque, nostrum.</p> <!-- article in end --> </article> <!-- article out end --> <!-- article out start --> <article> <!-- article in start --> <h1>Lorem ipsum</h1> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque, nostrum.</p> <!-- article in end --> </article> <!-- article out end -->
Tests:
TreeWalker
const treeWalker = document.createTreeWalker( document.body, NodeFilter.SHOW_ELEMENT, ); const list = []; let element; while (element = treeWalker.nextNode()) { list.push(element); } const elements = list.filter(el => el instanceof HTMLElement);
querySelectorAll
const elements = Array.from(document.body.querySelectorAll('*')).filter(node => node instanceof HTMLElement);
NodeIterator
const nodeIterator = document.createNodeIterator( document.body, NodeFilter.SHOW_ELEMENT, ); const list = []; let element; while (element = nodeIterator.nextNode()) { list.push(element); } const elements = list.filter(el => el instanceof HTMLElement);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
TreeWalker
querySelectorAll
NodeIterator
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
5 months ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Browser/OS:
Chrome 142 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
TreeWalker
1421613.4 Ops/sec
querySelectorAll
632164.2 Ops/sec
NodeIterator
1008794.5 Ops/sec
Related benchmarks:
treeWalker param vs treefalker with filter function vs querySelectorAll
treeWalker param vs treefalker with filter function vs querySelectorAll edit
Traverse function vs NodeIterator vs TreeWalker vs TreeWalker manual filter
TreeWalker vs querySelectorAll vs NodeIterator filters
Comments
Confirm delete:
Do you really want to delete benchmark?