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
To test the performance of these operations
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<div class="parent1">
<div class="parent2">
</div>
<div class="parent2">
<div class="parent3" id="parent3">
<div class="parent4">
</div>
<div class="parent4">
<div class="parent5">
<div class="parent6">
<div class="parent7">
</div>
<div class="parent7">
<div class="parent8">
<div class="parent9">
<div class="parent10">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="parent3">
</div>
</div>
</div>
</div>
<script>
var p9 = jQuery('.parent9');
var parents = jQuery('.parent9').parents();
</script>
function getFirstParentWithClassName(elem, className) {
var cur = elem.parentNode;
while (cur) {
if (cur.classList && cur.classList.contains(className)) {
return cur;
}
cur = cur.parentNode;
}
return null;
}
Ready to run.
Test | Ops/sec | |
---|---|---|
parents and hasClass |
| ready |
closest |
| ready |
parents |
| ready |
is |
| ready |
filter |
| ready |
filter (cached) |
| ready |
closest (with id) |
| ready |
closest (with class) |
| ready |
no external libraries |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.