'플래시 안드로이드 프로그래밍'에 나온 함수의 성능테스트를 할 수 있는, 함수의 실행 시간을 재는 함수를 따라 만들고 테스트해보다.

14/12/5 금

함수 성능 테스트용 타이머 함수 소스:

function checkTime(fnc:Function){ //함수의 만번 실행시간 표시
	var startTme = getTimer();
	for(var i=0; i<10000; i++){
		fnc();
	}
	trace("실행시간: ", getTimer()-startTime);
}

아래는 ActionScript 3.0 관련해 이전에 알아냈던 내용들 다시 나열 정리.

1. 배열과 함수를 매개변수로 받아서 배열내 모든 요소들에 매개변수로 받은 함수를 적용하는 예제. 배열내 요소 test, 1, 둘을 각각 출력한다.

function forEach(array, func){
     for(var i=0; i < array.length; i++){
	 		func(array[i]);
			//아래는 action(array[i]);와 똑같은 결과를 나타낸다.
			//arguments[1](arguments[0][i]); 
     }
}
2. trace() 함수를 잔뜩 쓰다가 trace() 함수를 이용해 플래시 OUTPUT창에 내보내는 정보들을 텍스트 필드쪽으로도 동시에 내보낼 수 있으면 좋지 않을까 하는 생각이 들어 아래와 같은 trace2()라는 함수를 대충 만들어 넣고 trace() 함수 대신 trace2() 함수를 사용해 봤는데 이게 제대로 작동한다.
매개변수 7개까지는 제대로 작동할 듯.
처음엔 텍스트필드에 +=로 계속 내용을 덧붙이는 방식을 썼었는데 그것 보다는 appendText() 메서드를 이용하는게 속도면에서 유리하다는 플래시의 충고대로 코드를 수정하다.

* 화면상에 텍스트 필드를 Dynamic Text 방식으로 만들고 output이라는 이름을 정해줬다.
* trace2() 함수의 사용법은 trace() 함수와 동일하지만 화면상에 미리 이름이 output인 Dynamic Text 형태의 텍스트 필드를 만들어 둬야 한다.

function trace2(a,b="",c='',d="",e="",f="",g=""){
     trace(a,b,c,d,e,f,g);
     output.appendText(a+b+c+d+e+f+g+"\n");
     //output.text+=a+b+c+d+e+f+g+"\n";
}