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
<div class="super cali frag ilist ic expi ali docious tinker tailor soldier sailor richman poorman beggarman Thief" id="someElement"></div><script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
var el = document.getElementById('someElement');
function hasClassIteration(el, selector)
{
for(var i = 0, j = 0, cls = el.className, c = cls.length, s = selector.length, code; i < c; i++)
{
code = cls.charCodeAt(i);
if (code == selector.charCodeAt(j))
{
j++;
}
else
{
if (j == s && code == 32)
{
return true;
}
else
{
j = 0;
}
}
}
return (j == s) ? true : false;
}
function hasClass(el, selector) {
return (" " + el.className + " ").indexOf(" " + selector + " ") > -1
}
function hasClassRegex(el, selector) {
return (el.className && new RegExp("(^|\\s)" + selector + "(\\s|$)").test(el.className));
}
function classListContains(el, selector){
return el.classList.contains(selector);
}
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
jQuery |
| ready |
Pure JS - indexOf |
| ready |
With classic Iteration |
| ready |
DOM |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.