Did anybody tested this yet.
With caching
for (var i = 0, len = Array.length; i < len; i++) {
}
Without caching
for (var i = 0; i < Array.length; i++) {
}
With caching
for (var i = 0, len = Array.length; i < len; i++) {
}
Without caching
for (var i = 0; i < Array.length; i++) {
}
The results are the same. The C# List source code shows that it contains a private int field for size, so the only overhead is an additional method call, which on modern computers border on nothing.