Показать сообщение отдельно
Старый 09.04.2014, 19:00
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned

Регистрация: Mar 2013
Сообщений: 1,864
Сделал так -
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.TimerEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.utils.Timer;
 
 
	public class Main extends Sprite 
	{
		private var textField:TextField;
		private var speedTest:TestSpeed;
		private var timer:Timer;
		private var num:int;
		public function Main() 
		{
			speedTest = new TestSpeed(print);
 
			timer = new Timer(2, 1);
			timer.addEventListener(TimerEvent.TIMER_COMPLETE, timer_timerCompleteHandler);
			timer.start();
		}
 
		private function timer_timerCompleteHandler(event:TimerEvent):void 
		{
			for (var i:int = 0; i < 1000; i++) 
			{
				num += 1;
			}
 
			speedTest.execute();
		}
 
		private var offsetY:int;
		private var allRepetitions:int = 5;
		private var repetitionsPerformed:int;
		private function print():void
		{
			textField = new TextField();
			textField.autoSize = TextFieldAutoSize.LEFT;
			super.addChild(textField);
			textField.text = "Кол-во выполений - " + ++repetitionsPerformed + " из " + allRepetitions + ", время выполнения - " + speedTest.runtime + ".";
			textField.y = offsetY += 30;
 
			if (repetitionsPerformed != allRepetitions)
					timer.start();
		}
	}
 
}
Код AS3:
package
{
	import flash.utils.getTimer;
	public class TestSpeed
	{
		private var time:Number = 0;
		public var runtime:Number;
		private var callback:Function;
 
		public function TestSpeed(callback:Function)
		{
			this.callback = callback;
		}
 
		public function execute():void
		{
			var value:ValueClass = new ValueClass();
			var valueValue:int = value.value;
 
			runtime = 0;
			time = getTimer();
			for (var j:int = 0; j < 1000000; j++)
			{
				var length:int = 500;
				while (length--)
				{
					///
				}
			}
			runtime = getTimer() - time;
 
			this.callback();
		}
	}
 
}
На "присвоить значение" - 5350 локальная переменная, против 5000 свойства объекта.
На "получить значение" - 5900 против 5000...