Declaring Vectors

by Fumio
This code is a little modified from the one by JacksonDum.
http://jacksondunstan.com/articles/702
♥0 | Line 67 | Modified 2010-06-18 01:59:54 | MIT License
play

ActionScript3 source code

/**
 * Copyright Fumio ( http://wonderfl.net/user/Fumio )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/4aBs
 */

// This code is a little modified from the one by JacksonDum.
// http://jacksondunstan.com/articles/702

package
{
    import flash.text.*;
    import flash.utils.*;
    import flash.display.*;
 
    public class DeclaringVectors extends Sprite
    {
        public function DeclaringVectors()
        {
            var logger:TextField = new TextField();
            logger.autoSize = TextFieldAutoSize.LEFT;
            addChild(logger);
            function log(msg:*): void { logger.appendText(msg + "\n"); }
 
            var beforeTime:int;
            var afterTime:int;
            var i:int;
            var v:Vector.<int>;
            const REPS:int = 1000000;
 
            beforeTime = getTimer();
            for (i = 0; i < REPS; ++i)
            {
                v = Vector.<int>([100,101,102,103,104]);
            }
            afterTime = getTimer();
            log("cast: " + (afterTime-beforeTime));
 
            beforeTime = getTimer();
            for (i = 0; i < REPS; ++i)
            {
                v = new <int>[100,101,102,103,104];
            }
            afterTime = getTimer();
            log("new: " + (afterTime-beforeTime));
 
            beforeTime = getTimer();
            for (i = 0; i < REPS; ++i)
            {
                v = new Vector.<int>();
                v.push(100);
                v.push(101);
                v.push(102);
                v.push(103);
                v.push(104);
            }
            afterTime = getTimer();
            log("scratch single: " + (afterTime-beforeTime));
 
            beforeTime = getTimer();
            for (i = 0; i < REPS; ++i)
            {
                v = new Vector.<int>();
                v.push(100,101,102,103,104);
            }
            afterTime = getTimer();
            log("scratch many: " + (afterTime-beforeTime));
 
            beforeTime = getTimer();
            for (i = 0; i < REPS; ++i)
            {
                v = new Vector.<int>(5);
                v[0] = 100;
                v[1] = 101;
                v[2] = 102;
                v[3] = 103;
                v[4] = 104;
            }
            afterTime = getTimer();
            log("scratch index: " + (afterTime-beforeTime));
        }
    }
}