var instance1:MyClass = new MyClass();
var instance2:MyClass = new MyClass();
var instance3:MyClass = new MyClass();

var myArray:Array = [instance1, instance2, instance3];

// QUESTION A: CASTING WITH ARRAYS

var i:int = myArray.length;
while (i--)
{
    // [A1] - Does Flash have to do a look up here?
    var myClass:MyClass = myArray[i];

    // [A2] - Does casting it like this boost performance
    var myClass:MyClass = MyClass(myArray[i]);

    // [A3] - I know using "as" is slower than direct casting
    var myClass:MyClass = myArray[i] as MyClass;
}

// QUESTION B: CASTING WITH VECTORS

var myVector:Vector.<MyClass> = Vector.<MyClass>(myArray);

var i:int = myVector.length;

while (i--)
{
    // [V1] - Will this avoid the lookup?
    var myClass:MyClass = myVector[i];

    // [V2] - Or do I need to cast here even though it's a Vector?
    var myClass:MyClass = MyClass(myVector[i]);

    // [V3] - And if so, can I do this without a lookup?
    myVector[i].someMethod();

    // [V4] - Or do I need to do this?
    MyClass(myVector[i]).someMethod();
}


Thanks in advance for anyone who can shed some light here. I believe A2/V2 is "fastest" but I'm not certain, and I also don't know if it's required for Vector.
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to