accessor speed

by CoremindJP
♥0 | Line 39 | Modified 2009-10-12 00:28:23 | MIT License
play

ActionScript3 source code

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

// forked from hamuhamu's flash on 2009-10-11
package {
    import flash.utils.getTimer;
    import flash.text.TextField;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            var
                loop:Number = 5000000,
                time:Number,
                tf:TextField = new TextField(),
                test:Test = new Test( 500000, 500000 );
                
            addChild( tf );
            tf.text = loop + "ループ\n";
            
            time = getTimer();
            for (var i:int = 0; i < loop; i++) 
                test.b = test.b / 2;
            tf.appendText( "prop = " + String( getTimer() - time ) + "\n" );
            
            time = getTimer();
            for (i = 0; i < loop; i++) 
                test.a = test.a / 2;
            tf.appendText( "accessor = " + String( getTimer() - time ) );
            
        }
    }
}

import flash.display.Sprite;

class Test
{
    public var
        b:Number;
        
    private var
        d:Number;
        
    public function Test( a:Number, _b:Number )
    {
        d = a;
        b = _b;
    }
    
    public function get a():Number{ return d; }
    public function set a(value:Number):void{ d = value; }
}