Assigning values to several types of variables

by Fumio
♥0 | Line 51 | Modified 2010-12-20 23:01:26 | 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/ood8
 */

package {
    import flash.display.Sprite;
    import flash.utils.getTimer;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    [SWF(width = "240",height = "180")]
	public class AssigningToVariables extends Sprite {
		private const MAX_NUMBER:int = 500000000;
		private var started:int;
		private var my_txt:TextField = new TextField();
		private var label_txt:TextField = new TextField();
		private var typedMember:int;
		public function AssigningToVariables() {
			// Creating a TextField for display
			createTextField();
			// Starting test
			assignToUntypedLocal();
			assignToTypedLocal();
			assignToTypedMember()
		}
		private function assignToUntypedLocal():void {
			started = getTimer();
			for (var i:int = 0; i < MAX_NUMBER; i++) {
				var untypedLocal = i;
			}
			xTrace(getTimer() - started);
		}
		private function assignToTypedLocal():void {
			started = getTimer();
			for (var i:int; i < MAX_NUMBER; i++) {
				var typedLocal:int = i;
			}
			xTrace(getTimer() - started);
		}
		private function assignToTypedMember():void {
			started = getTimer();
			for (var i:int; i < MAX_NUMBER; i++) {
				typedMember = i;
			}
			xTrace(getTimer() - started);
		}
		private function createTextField():void {
			addChild(my_txt);
			addChild(label_txt);
			my_txt.autoSize = TextFieldAutoSize.RIGHT;
			label_txt.autoSize = TextFieldAutoSize.LEFT;
			label_txt.text = "untyped local:\ntyped local:\ntyped member:";
		}
		private function xTrace(n:int):void {
			my_txt.appendText(String(n) + "\n");
		}
	}
}