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
Testing selector matching on library "jQuery" vs "QSA Selector Engine"
<script>
// disable native qSA
if ( document.querySelectorAll ) {
document.querySelectorAll = null;
}
if ( window.Element && window.Element.prototype ) {
window.Element.prototype.querySelectorAll = null;
}
if ( window.Document && window.Document.prototype ) {
window.Document.prototype.querySelectorAll = null;
}
// disable native matchesSelector on HTML Element
var docEl = document.documentElement;
docEl.matchesSelector = docEl.oMatchesSelector = docEl.mozMatchesSelector = docEl.webkitMatchesSelector = docEl.msMatchesSelector = null;
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="https://raw.github.com/devote/QSA/master/qsa.js"></script>
<div class="level1">
<div class="level2">
<div class="level3">
<div class="level4">
<div class="level5" id="foo">
</div>
<div class="level5">
</div>
<div class="level5">
</div>
</div>
</div>
</div>
</div>
<script>
var $element = jQuery(jQuery('.level1 .level2 .level3 .level4 .level5')[0]); // Get first result and add wrap with jQuery object
var domEl = $element[0];
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
Using $.fn.is |
| ready |
Using QSA matchesSelector |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.