Проверим…
for each: 9
for: 26
while: 24
for in: 149
P.S.
Если вместо Array использовать Vector, то результаты будут таковы:
for each: 9
for: 7
while: 11
for in: 199
var arr:Array = new Array();
for (var i:uint = 0; i < 100000; i++) arr.push(i);
var ln:uint = arr.length;
/**
* for each
*/
var count:uint = 0;
var t:uint = getTimer();
for each(var n:uint in arr)
{
count += n;
}
trace("for each:", getTimer() - t);
/**
* for
*/
count = 0;
t = getTimer();
for (i = 0; i < ln; i++)
{
count += arr[i];
}
trace("for:", getTimer() - t);
/**
* while
*/
count = 0;
i = 0;
t = getTimer();
while (i < ln)
{
count += arr[i];
i++;
}
trace("while:", getTimer() - t);
/**
* for in
*/
count = 0;
t = getTimer();
for (var key:String in arr)
{
count += arr[key];
}
trace("for in:", getTimer() - t);
Результаты:
for each: 9for: 26
while: 24
for in: 149
P.S.
Если вместо Array использовать Vector, то результаты будут таковы:
for each: 9for: 7
while: 11
for in: 199