var arr = new Array(99999);
for (var i=0; i<arr.length; i++) {}
for (var i=0, len=arr.length; i<len; i++) {}
var i = 0;
while (i<arr.length) {
i++;
}
var i=0, len=arr.length;
while (i<len) {
i++;
}
var i = arr.length; while (i--) {}
var x;
while (x = arr.pop()) {}
for (var i in arr) {}
var isInt = /(\^[0-9]$)|(\^[1-9][0-9]+$)/;
for (var i in arr) {
if(!isInt.test(i)){continue;}
}
for (var i=0; arr[i]; i++) {}
for (var i=0; arr[i]; i++) {
var x = arr[i];
}
for (var i=0, x; x = arr[i++];) {}
for (var i=0, len=arr.length; i<len; i++) {
var x = arr[i];
}
arr.forEach(function(x){});
var f=function(x){};
for (var i=0, len=arr.length; i<len; i++) {
f(arr[i]);
}
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
Basic for loop | |
For loop but caching the length | |
While loop that imitates a for loop | |
While loop that imitates a for loop caching len | |
While loop in reverse simplifying the test | |
While looping by popping values | |
for ... in loop | |
for ... in loop with integer test | |
For loop testing on existence rather than lengt | |
For loop testing on existence plus array lookup | |
For testing on existence rather than length array | |
For reference | |
Array.forEach() native implementation. | |
For reference against forEach() |
Test name | Executions per second |
---|---|
Basic for loop | 84.0 Ops/sec |
For loop but caching the length | 13243.2 Ops/sec |
While loop that imitates a for loop | 85.8 Ops/sec |
While loop that imitates a for loop caching len | 13581.0 Ops/sec |
While loop in reverse simplifying the test | 10952.1 Ops/sec |
While looping by popping values | 6555791.5 Ops/sec |
for ... in loop | 7380762.0 Ops/sec |
for ... in loop with integer test | 7075248.5 Ops/sec |
For loop testing on existence rather than lengt | 7797102.5 Ops/sec |
For loop testing on existence plus array lookup | 7862444.5 Ops/sec |
For testing on existence rather than length array | 7607980.5 Ops/sec |
For reference | 7715308.5 Ops/sec |
Array.forEach() native implementation. | 7491631.0 Ops/sec |
For reference against forEach() | 7991575.5 Ops/sec |
Let's get to the interesting part!
The provided data appears to be a collection of test results, likely from an automated testing framework. The tests seem to focus on various iteration mechanisms in programming languages.
Here are some observations and insights:
Some interesting points to consider:
Array.forEach()
native implementation test.These observations are based on a limited dataset and should be taken with caution. More data would be necessary to draw more definitive conclusions about the performance of each iteration mechanism.