벤치마킹

벤치마킹 응용 프로그램에 사용할 수 있는 여러 가지 도구가 있습니다. Flash 커뮤니티 구성원이 개발한 Stats 클래스 및 PerformanceTest 클래스를 사용할 수 있습니다. 또한 Adobe® Flash® Builder™ 및 FlexPMD 도구에서 프로파일러를 사용할 수도 있습니다.

Stats 클래스

외부 도구 없이 런타임의 릴리스 버전을 사용하여 런타임에 코드를 프로파일링하려면 Flash 커뮤니티의 mr. doob가 개발한 Stats 클래스를 사용할 수 있습니다. Stats 클래스는 https://github.com/mrdoob/Hi-ReS-Stats 에서 다운로드할 수 있습니다.

Stats 클래스를 사용하여 다음과 같은 사항을 추적할 수 있습니다.
  • 초당 렌더링되는 프레임 수(숫자가 높을수록 성능이 높음)

  • 프레임을 렌더링하는 데 사용되는 밀리초(숫자가 낮을수록 성능이 높음)

  • 코드에서 사용하는 메모리 양. 각 프레임에서 사용하는 메모리가 증가하는 경우 응용 프로그램에서 메모리 누수가 발생할 수 있습니다. 가능한 메모리 누수를 조사하는 것이 중요합니다.

  • 응용 프로그램에서 사용한 최대 메모리 양

다운로드한 후에는 Stats 클래스를 다음과 같은 압축 코드와 함께 사용할 수 있습니다.

import net.hires.debug.*; 
addChild( new Stats() );

Adobe® Flash® Professional 또는 Flash Builder에서 조건부 컴파일을 사용하여 Stats 객체를 활성화할 수 있습니다.

CONFIG::DEBUG 
{ 
    import net.hires.debug.*; 
    addChild( new Stats() ); 
}

DEBUG 상수의 값을 전환하여 Stats 객체의 컴파일을 활성화 또는 비활성화할 수 있습니다. 동일한 방식을 사용하여 응용 프로그램에서 컴파일하지 않을 모든 코드 논리를 바꿀 수 있습니다.

PerformanceTest 클래스

ActionScript 코드 실행을 프로파일링하기 위해 Grant Skinner는 단위 테스팅 작업 과정에 통합될 수 있는 도구를 개발했습니다. 코드에 대한 일련의 테스트를 수행하는 PerformanceTest 클래스에 사용자 정의 클래스를 전달합니다. 이 PerformanceTest 클래스를 사용하면 여러 가지 방식을 쉽게 벤치마킹할 수 있습니다. PerformanceTest 클래스는 http://www.gskinner.com/blog/archives/2009/04/as3_performance.html 에서 다운로드할 수 있습니다.

Flash Builder 프로파일러

Flash Builder에는 매우 자세히 코드를 벤치마킹할 수 있는 프로파일러가 함께 제공됩니다.

참고: 디버거 버전의 Flash Player를 사용하여 프로파일러에 액세스하십시오. 그러지 않으면 오류 메시지가 표시됩니다.

프로파일러를 Adobe Flash Professional에서 만든 내용에 사용할 수도 있습니다. 이렇게 하려면 ActionScript 또는 Flex 프로젝트에서 Flash Builder로 컴파일된 SWF 파일을 로드하십시오. 그러면 해당 파일에 대해 프로파일러를 실행할 수 있습니다. 프로파일러에 대한 자세한 내용은 Using Flash Builder 4 의 "Profiling Flex applications"를 참조하십시오.

FlexPMD

Adobe Technical Services에서는 ActionScript 3.0 코드의 품질을 감사할 수 있는 FlexPMD라는 도구를 출시했습니다. FlexPMD는 JavaPMD와 비슷한 ActionScript 도구입니다. FlexPMD는 ActionScript 3.0 또는 Flex 소스 디렉토리를 감사하여 코드 품질을 향상시킵니다. 이 도구는 사용되지 않는 코드, 지나치게 복잡한 코드, 지나치게 긴 코드, Flex 구성 요소 수명 주기의 잘못된 사용 등 문제가 될 수 있는 코딩 방식을 감지합니다.

FlexPMD는 Adobe 오픈 소스 프로젝트이며, http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD 에서 사용할 수 있습니다. Eclipse 플러그인도 http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin 에서 사용할 수 있습니다.

FlexPMD를 사용하면 코드를 보다 쉽게 감사할 수 있으며, 문제 없이 최적화된 상태로 코드를 유지할 수 있습니다. FlexPMD의 가장 강력한 장점은 확장성입니다. 개발자는 고유한 규칙 집합을 만들어 모든 코드를 감사할 수 있습니다. 예를 들어 과도한 필터 사용이나 포착하려는 잘못된 코딩 방식을 감지하는 규칙 집합을 만들 수 있습니다.