StringとtoStringとas Stringの処理速度比較

by darman
♥0 | Line 47 | Modified 2011-02-03 13:24:34 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.utils.getTimer;
    import flash.text.TextField;
    public class FlashTest extends Sprite {
        
        private static var my_txt:TextField = new TextField();
        private static var label_txt:TextField = new TextField();
        private const MAX_NUMBER:int = 5000000;
        //private const MAX_NUMBER:int = 50;
        private var stringList:Array = new Array();
        private var toStringList:Array = new Array();
        private var i:int;
        private var started:int;
        
        
        public function FlashTest() {
            // write as3 code here..
            testString();
            testToString();
            testAsString();
                        // TextField for display
            addChild(my_txt);
            addChild(label_txt);
            my_txt.x += 80;
            label_txt.text = "String:\ntoString:\nas String:";
        }
        
        private function testString():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                stringList[i] = String(i);
            }
            xTrace(getTimer() - started);
        }
        
        private function testToString():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                toStringList[i] = i.toString();
            }
            xTrace(getTimer() - started);
        }
        
        private function testAsString():void {
            started = getTimer();
            for (i = 0; i < MAX_NUMBER; i++) {
                toStringList[i] = i as String;
            }
            xTrace(getTimer() - started);
        }
        
        
        private static function xTrace(n:int):void {
            my_txt.appendText(String(n) + "\n");
        }
    }
}