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 id="nav1">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
</div>
<div id="nav2">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Aw Yeaaa</a>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
function delegateHandler (e) {
var event = event || window.event;
var target = event.target || event.srcElement;
switch(target.nodeName){
case "A":
eventHandler(e);
break;
}
}
function eventHandler (e) {
//e.preventDefault();
console.log('xxx');
return false;
}
function triggerClix($links)
{
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
Array.prototype.forEach.call($links, function( el ){
for (var i = 100; i > 0; i--) {
el.dispatchEvent(event);
}
});
}
var $nav2 = document.getElementById('nav2');
var $links2 = $nav2.getElementsByTagName('a');
$nav2.addEventListener("click", delegateHandler, false);
var $nav1 = document.getElementById('nav1');
var $links1 = $nav1.getElementsByTagName('a');
Array.prototype.forEach.call($links1, function( el ){
el.addEventListener("click", eventHandler, false);
});
Ready to run.
Test | Ops/sec | |
---|---|---|
bind |
| ready |
delegate |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.