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
I'm testing whether it's faster to use the Array.length and HTMLColection.length or it's better to save them in variables and look in the variables.
var elm_array = document.getElementsByTagName("*");
var selectBox = document.createElement("select");
var array2 = [];
var short_array = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24];
for(var i=0,l=elm_array.length;i<l; i++) {
array2.push(Math.random());
selectBox.appendChild(document.createElement("option"));
}
Ready to run.
Test | Ops/sec | |
---|---|---|
Normal for loop (array) |
| ready |
For loop with length in variable (array) |
| ready |
Normal for loop (HTMLCollection) |
| ready |
For loop with length in variable (HTMLColection) |
| ready |
Normal for loop (Selectbox options) |
| ready |
For loop with length in variable (Selectbox options) |
| ready |
Normal for loop (short array) |
| ready |
For loop with length in variable (short array) |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.