forked from: forked from: Vector class versus Array class 2

by nanasi forked from forked from: Vector class versus Array class 2 (diff: 3)
♥0 | Line 71 | Modified 2012-09-16 03:26:30 | MIT License
play

ActionScript3 source code

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

// forked from Fumio's Vector class versus Array class 2
package {
    import flash.display.Sprite;
    import flash.utils.getTimer;
    import flash.text.TextField;
    [SWF(width = "240",height = "180")]
    public class Vector_vs_Array extends Sprite {
    private const MAX_NUMBER:int = 1000000;
    private var my_array:Array = new Array();
    private var myLength_array:Array = new Array(MAX_NUMBER);
    private var myVector:Vector.<int> = new Vector.<int>();
    private var myVectorLength:Vector.<int> = new Vector.<int>(MAX_NUMBER,false);
    private var myVectorFixed:Vector.<int> = new Vector.<int>(MAX_NUMBER,true);
    private var i:int;
    private var started:int;
    private var my_txt:TextField = new TextField();
    private var label_txt:TextField = new TextField();
    public function Vector_vs_Array() {
            myVector.length = MAX_NUMBER;
        // Creating a TextField for display
            createTextField();
            // Starting Test
            testArray();
            testArrayLength();
            testVector();
            testVectorLength();
            testVectorFixed();
        }
        private function testArray():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                my_array[i] = i;
            }
            xTrace(getTimer() - started);
        }
        private function testArrayLength():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                myLength_array[i] = i;
            }
            xTrace(getTimer() - started);
        }
        private function testVector():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                myVector[i] = i;
            }
            xTrace(getTimer() - started);
        }
        private function testVectorLength():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                myVectorLength[i] = i;
            }
            xTrace(getTimer() - started);
        }
        private function testVectorFixed():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                myVectorFixed[i] = i;
            }
            xTrace(getTimer() - started);
        }
        private function createTextField():void {
            addChild(my_txt);
            addChild(label_txt);
            my_txt.x +=  80;
            label_txt.text = "Array:\nArray (length):\nVector:\nVector (length):\nVector (fixed):";
        }
        private function xTrace(n:int):void {
            my_txt.appendText(String(n) + "\n");
        }
    }
}