Q:

AS3: which is faster, a for loop or the forEach() array function? 

I'm wondering which is faster in AS3:
array.forEach( function(v:Object, ...args):void
{ ... } );

Or
var l:int = array.length;
for ( var i:int = 0; i < l; i++ ) { ... }

A:

for i :)
var array:Array = [];
for (var i:int=0; i < 100000; i++)
{
    array[i] = i;
}
var time:uint = getTimer();
array.forEach( function(v:Object, ...args):void
                { v = 1; } );
trace(getTimer()-time); //trace 85

time = getTimer();
var l:int = array.length;
for ( i = 0; i < l; i++ ) { array[i] = 0; }
trace(getTimer()-time); //trace 3

A:

The above answers do not take into account that you mostly will be performing operations on the array elements in the loop
This code 
import flash.utils.getTimer;

var a:Array=[];
var time:int=0;

for(var i:int=0; i<10000; i++) {
    a.push(new Date());
}

time=getTimer();
for(var j:int=0; j<a.length; j++) {
    var dt:Date=a[j];
    dt.valueOf();
}
trace("for: " , getTimer()-time);

time=getTimer();
for each(var xt:Date in a) {
    xt.valueOf();
}
trace("for each: " , getTimer()-time);

time=getTimer();
a.forEach(nothing);
trace("a.forEach: " , getTimer()-time);

function nothing(d:Date, ...args):void {
    d.valueOf();
}

Returns the following:
for:  3
for each:  2
a.forEach:  13

For 100000 values, the results are starker still
for:  27
for each:  17
a.forEach:  138

Overall winner: the for each loop
for each(var d:myClass in myCollection) {
    //myCode
}

