compress vs. deflate

by jozefchutka
♥0 | Line 38 | Modified 2011-08-05 18:30:57 | MIT License
play

ActionScript3 source code

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

package
{
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.geom.Rectangle;
    import flash.text.TextField;
    import flash.utils.ByteArray;
    
    public class TestAS extends Sprite
    {
        private var tf:TextField = new TextField;
        
        public function TestAS()
        {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            
            tf.width = stage.stageWidth;
            tf.height = stage.stageHeight;
            addChild(tf);
            
            var W:int = 1024;
            var H:int = 1024;
            var bitmapData:BitmapData = new BitmapData(W, H);
            bitmapData.noise(100);
            
            var bytes1:ByteArray = bitmapData.getPixels(new Rectangle(0, 0, W, H));
            var bytes2:ByteArray = new ByteArray;
            bytes1.position = 0;
            bytes1.readBytes(bytes2, 0, bytes1.length);
            var length:int = bytes1.length;
            
            var d0:Date = new Date;
            bytes1.compress();
            var d1:Date = new Date;
            
            bytes2.deflate();
            var d2:Date = new Date;
            
            tf.appendText("compress: " + (d1.time - d0.time) + "ms (" + bytes1.length + "b)\n");
            tf.appendText("deflate: " + (d2.time - d1.time) + "ms (" + bytes2.length + "b)");
        }
    }
}