물론 같은 상황에서 쓰는 녀석들은 아니다... 그냥 재미로 보자...


1.
var txt:TextField = new TextField();

var i:uint;
var cnt:uint = 1000000;

var st:uint = getTimer();
while(i < cnt)
{
var tf:TextFormat = txt.defaultTextFormat;
i++;
}
trace(getTimer() - st)

2.
var txt:TextField = new TextField();

var i:uint;
var cnt:uint = 1000000;

var st:uint = getTimer();
while(i < cnt)
{
var tf:TextFormat = new TextFormat();
i++;
}
trace(getTimer() - st)




자, 오늘의 문제... 어떤 코드가 빠를까?




1번 코드 : 2295
2번 코드 : 878

new TextFormat() 가 두배 이상 빠르다... new 로 객체를 생성하니 당연히 TextFormat 이 느릴 줄 알았는데.... 아니였다

아무래도 new 보다는 속성값을 읽는게 빠를 거라 생각했는데...  이 천재가 틀리다니!!!!!



p.s. defaultTextFormat 는 아무래도 내부적으로 new TextFormat() 후에 속성의 복사까지 하는 것이 아닐까 싶다는...


Posted by 미나토

댓글을 달아 주세요

  1. hinoo 2009.07.06 13:41 Address Modify/Delete Reply

    그렇네요 getTextFormat 도 해보니 2번보단 쪼금 느리고 1번보단 한참 빠르네요