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

forked from: Vector index casting

Get Adobe Flash player
by pleclech 01 Nov 2010
    Embed
/**
 * Copyright pleclech ( http://wonderfl.net/user/pleclech )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/jJu7m
 */

// forked from inspirit's Vector index casting
package {
    import flash.utils.getTimer;
    import flash.text.TextField;
    import flash.events.*;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        
        public var _txt:TextField;
        public function FlashTest() {
            
            _txt = new TextField();
            _txt.width = 300;
            _txt.autoSize = 'left';
            
            addChild(_txt);
            stage.addEventListener(MouseEvent.CLICK, test);
        }
        
        public function test(e:Event = null):void
        {
            var n:uint = 1000000;
            var i:uint;
            var vec:Vector.<Number> = new Vector.<Number>(n, true);
            _txt.text = '';
            var t:int = getTimer();
            for(i = 0; i < n; ++i)
            {
                vec[i+0.0] = 1.0;
            }
            _txt.appendText('no cast: ' + (getTimer()-t) + 'ms\n');
            //
            t = getTimer();
            for(i = 0; i < n; ++i)
            {
                vec[(i+0.0)|0] = 1.0;
            }
            _txt.appendText('bit cast: ' + (getTimer()-t) + 'ms\n');
            //
            t = getTimer();
            for(i = 0; i < n; ++i)
            {
                vec[int(i+0.0)] = 1.0;
            }
            _txt.appendText('int cast: ' + (getTimer()-t) + 'ms\n');
            //
            t = getTimer();
            for(i = 0; i < n; ++i)
            {
                vec[uint(i+0.0)] = 1.0;
            }
            _txt.appendText('uint cast: ' + (getTimer()-t) + 'ms\n');
        }

    }
}