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
The performance difference between copying an array by hand and copying it by slicing it (completely). This is for short arrays.
updated
In previous revision, the For loop test did not have pre-set length like the While loop did. This might contribute to while loop being more performant for the wrong reasons :-)
This discrepancy is fixed in current revision.
updated
Added a function version of the For test. Even it runs faster than slice (at least on my version of Chrome)
<script>
function copy_for (list) {
var n = list.length;
var copy = new Array(n);
for( var i = 0; i < n; i ++ ) {
copy[ i ] = list[ i ];
}
return copy;
}
</script>
var list = [];
for (i=0; i<256; i++)
list[i] = ''+i;
Ready to run.
Test | Ops/sec | |
---|---|---|
Slice |
| ready |
For |
| ready |
While |
| ready |
While Reversed |
| ready |
Pointless Pushing |
| ready |
Custom Copy Function (For) |
| ready |
naive for |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.