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>
function someFn(ix) {
try {
ix += 1;
if (ix < 0) {
throw new Error('e');
}
} catch (e){
alert(e);
}
return ix * 5 + 1 / 3 * 8;
}
</script>
// Populate the base array
var arr = [],
a, i, len, arr2 = [];
for (i = 0; i < 1000; i++) {
arr[i] = i + 1;
}
Array.prototype.each = function(c) {
var l = this.length;
for (var i = 0; i < l; i++) {
c(this[i], i, this);
}
};
Array.prototype.each2 = function(c) {
var l = this.length;
for (var i = 0; i < l; i++) {
c(this[i], i);
}
};
Ready to run.
Test | Ops/sec | |
---|---|---|
For loop, basic |
| ready |
While loop, basic |
| ready |
For loop, cached |
| ready |
For loop, i-- |
| ready |
Do-while loop, i-- |
| ready |
Do-while loop, --i |
| ready |
For..in loop |
| ready |
forEach |
| ready |
While ! Undefined |
| ready |
Order w/ array copy |
| ready |
While length-- |
| ready |
Pop w/ copy |
| ready |
shift() |
| ready |
Forloop ! Null |
| ready |
Reverse For-loop |
| ready |
Map |
| ready |
custom each |
| ready |
custom each2 |
| ready |
shift() v2 |
| ready |
For ++i |
| ready |
for cached ++i |
| ready |
for --i |
| ready |
for i-- |
| ready |
shit() with push |
| ready |
filter |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.