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 jQuery .one (add event listener + callback, remove after triggered) vs. my best attempts at doing the same thing with vanilla JavaScript.
Hey, I'm a graphic design student with no 'real' coding education. So, take these tests with a grain of salt, as they say.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<div id="img_wrap">
<img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />
<img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />
<img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />
<img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />
<img src="http://www.windows2universe.org/earth/images/earth_globe_256pix.jpg" />
</div>
<p id="p_status">
0%
</p>
var p_status = document.getElementById('p_status'),
img_wrap = document.getElementById('img_wrap'),
img = img_wrap.getElementsByTagName('img'),
img_amount = img.length,
load_each = 100 / img_amount,
Add_Load, jQuery_Round;
if (p_status.addEventListener) {
Add_Load = function(i) {
var Math_Round = function() {
load_percent += load_each;
p_status.textContent = Math.round(load_percent) + "%";
i.removeEventListener('load', Math_Round, false);
};
i.addEventListener('load', Math_Round, false);
};
jQuery_Round = function() {
load_percent += load_each;
p_status.textContent = Math.round(load_percent) + "%";
};
} else {
Add_Load = function(i) {
var Math_Round = function() {
load_percent += load_each;
p_status.innerText = Math.round(load_percent) + "%";
i.detachEvent('onload', Math_Round);
};
i.attachEvent('onload', Math_Round(i));
};
jQuery_Round = function() {
load_percent += load_each;
p_status.innerText = Math.round(load_percent) + "%";
};
}
Ready to run.
Test | Ops/sec | |
---|---|---|
addEventListener or attachEvent THEN remove event |
| ready |
jQuery - .one('load') |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.