In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

new Date().timeの高速化

new Date().timeと独自関数のスピードを比較して見ました。自分の環境で2.5倍ちょいくらい速いです。インスタンスを作らない分GCにも優しいですが、最大1msの誤差は発生します。
Get Adobe Flash player
by kacchan6 03 Oct 2011
package {
    import flash.utils.getTimer;
    import flash.text.TextField;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            var tf:TextField = new TextField();
            tf.width = 465;
            tf.height = 465;
            tf.multiline = true;
            addChild(tf);
            
            var times:uint = 1000000;
            
            var t:uint = getTimer();
            for(var i:int = 0; i < times; i++){
                new Date().time;
            }
            tf.appendText("new Date().time -> " + (getTimer() - t) + "\n");
            
            t = getTimer();
            for(i = 0; i < times; i++){
                now();
            }
            tf.appendText("now() -> " + (getTimer() - t) + "\n");
        }
    }
}

import flash.utils.getTimer;

//初期化時点での経過ミリ秒
var start:uint = getTimer();

//システムタイム
var time:Number = new Date().time;

function now():Number{
    //システムタイムに経過時間の差分を加算して返す
    return time + getTimer() - start;    
}