<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" viewSourceURL="srcview/index.html">
<mx:VBox>
<mx:Button click="{testWithoutParams()}" label="testWithoutParams()"/>
<mx:Button click="{testWithParams()}" label="testWithParams()"/>
<mx:Button click="{testWithParamsIDef0()}" label="testWithParamsIDef0()"/>
<mx:Button click="{testStaticParams()}" label="testStaticParams()"/>
<mx:Label text="log"/>
<mx:TextArea width="400" height="200" id="log">
</mx:TextArea>
</mx:VBox>
<mx:Script>
<![CDATA[
public static var si:int;
public static var pi:Point;
public static var p1i:Point;
public function withParams(p:Point, p1:Point, i:int ) : void
{
p.x = 10;
p.y = 10;
p = localToGlobal(p);
p1 = globalToLocal(p);
for ( ;i<2;i++ )
{
p1.x = p.x;
}
}
public function withParamsIDef0(p:Point, p1:Point, i:int=0) : void
{
p.x = 10;
p.y = 10;
p = localToGlobal(p);
p1 = globalToLocal(p);
for ( ;i<2;i++ )
{
p1.x = p.x;
}
}
public function withOutParams() : void
{
var p : Point = new Point(10,10);
var p1 : Point;
p = localToGlobal(p);
p1 = globalToLocal( p );
var i:int = 0;
for ( ;i<2;i++ )
{
p1.x = p.x;
}
}
public function staticParams() : void
{
pi.x = 10;
pi.y = 10;
pi = localToGlobal(pi);
p1i = globalToLocal( pi );
si = 0;
for ( ;si<2;si++ )
{
p1i.x = pi.x;
}
}
public function testWithParams()
{
var p:Point = new Point();
var p1:Point = new Point();
var t : int = getTimer();
for(var i:int=0;i<count;i++)
{
withParams(p,p1,0);
}
t = getTimer()-t;
log.text+="testWithParams -> "+t+' ms\n';
}
public function testWithParamsIDef0()
{
var p:Point = new Point();
var p1:Point = new Point();
var t : int = getTimer();
for(var i:int=0;i<count;i++)
{
withParamsIDef0(p,p1);
}
t = getTimer()-t;
log.text+="testWithParamsIDef0 -> "+t+' ms\n';
}
public function testWithoutParams()
{
var t : int = getTimer();
for(var i:int=0;i<count;i++)
{
withOutParams();
}
t = getTimer()-t;
log.text+="testWithoutParams -> "+t+' ms\n';
}
public function testStaticParams()
{
var t : int = getTimer();
pi = new Point();
for(var i:int=0;i<count;i++)
{
staticParams();
}
t = getTimer()-t;
log.text+="testStaticParams -> "+t+' ms\n';
}
var count : int = 1000000
]]>
</mx:Script>
</mx:Application>