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
Basically, if you're going to do $(this)
inside an .each
loop, you should consider using the jQuery each2 plugin instead, because it's specifically optimized for this extremely common use case!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<!-- the plugin -->
<script src="http://github.com/cowboy/jquery-misc/raw/master/jquery.ba-each2.js"></script>
<script>
(function(a){var b=a([1]);a.fn.each2=function(d){var c=-1;while((b.context=b[0]=this[++c])&&d.call(b[0],c,b)!==false){}return this}})(jQuery);
// Create a whole bunch of elements for iteration.
var elems = $('<div/>').append(Array(1000).join('<span/>')).children();
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
jQuery each2 plugin |
| ready |
jQuery core .each method |
| ready |
jQuery core .each, $(this) x 2 |
| ready |
jQuery core .each, $(this) x 4 |
| ready |
jQuery core .each, $(this) x 10 |
| ready |
Putting things into perspective... |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.