у меня статический получается медленнее.
Debug, FP v 10
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.getTimer;
public class Main extends Sprite
{
private var _Math:MathA;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
//
_Math=new MathA();
stage.addEventListener(MouseEvent.CLICK, onMouseClick);
}
private function onMouseClick(me:MouseEvent):void
{
var begin:uint=0;
begin=getTimer();
for(var i:uint=0;i<1000000;i++)
{
// _Math.calculate(5,7); // 393 401 397
//MathB.calculate(5,7); // 468 466 466
}
var res:uint=getTimer()-begin;
trace(res);
}
}//class
}//pack
Код AS3:
package{
public class MathA{
public function MathA()
{
}
public function calculate(a:int,b:int):void
{
(a*b)+(a*b)+(a*b)/(a+b)*(a-b);
}
}
}
Код AS3:
package{
public class MathB{
public static function calculate(a:int,b:int):void
{
(a*b)+(a*b)+(a*b)/(a+b)*(a-b);
}
}
}