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
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script src="//documentcloud.github.com/underscore/underscore-min.js">
</script>
<script>
var pi = Math.PI
var a = new Array(100000),
e;
var ArrayIterator = function(array) {
this.array = array;
this.index = -1;
};
ArrayIterator.prototype.next = function() {
return this.index < (this.array.length - 1);
};
ArrayIterator.prototype.current = function() {
this.index += 1;
return this.array[this.index];
};
function each(array, func)
{
for(var i = 0, l = array.length; i < l; i++)
{
if (func.call(this, i, array[i]) === false) return;
}
return true;
}
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
jQuery.each |
| ready |
good old for loop |
| ready |
underscore.each |
| ready |
good old for loop (decrementing) |
| ready |
another loop |
| ready |
Iterator pattern |
| ready |
call in loop |
| ready |
indirect call in loop |
| ready |
apply in loop |
| ready |
Simpler each |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.