jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
I want to see the performance difference between querySelectorAll and TreeWalkers
<script>
function qsa (selector) {
var a = document.createTreeWalker(document, NodeFilter.SHOW_ELEMENT, function(element){
var matchesSelector = element.webkitMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.msMatchesSelector || element.matchesSelector;
return matchesSelector.call(element, selector) || 3;
}, true), b, c = [];
while (b = a.nextNode()) c[c.length] = b;
return c
}
</script>
<div id="my_div">
<p>Hello World!</p>
<ul class="list">
<li><span>meow</span></li>
<li><b some-attribute="something">Boolean</b></li>
</ul>
</div>
var selector1 = "#my_div"
var selector2 = "#my_div p"
var selector3 = ".list"
var selector4 = "li b"
var selector5 = "li span"
var selector6 = "div ul li"
var selector7 = "b[some-attribute='something']"
delete selector1
delete selector2
delete selector3
delete selector4
delete selector5
delete selector6
delete selector7
Ready to run.
Test | Ops/sec | |
---|---|---|
querySelectorAll |
| ready |
TreeWalker |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.