2009-10-12 5 views
3

PassMark AppTimer이라는 무료 도구가 있습니다. 그러나 나는 그것이 내 요구에 적합하지 않다고 생각한다.응용 프로그램의 시작 시간 또는 성능을 테스트하는 방법

Windows는 xperf이라는 도구를 제공합니다.이 도구를 사용하여 응용 프로그램 시작 시간을 테스트/벤치마킹 할 수 있습니까?

+1

응용 프로그램을 테스트하는 자체 앱 (즉, 소스 코드 있음) 또는 도구를 측정하는 것에 대해 이야기하고 있습니까? –

+0

도구는 일반적인 성능 테스트/벤치 마크 테스트를 수행 할 수 있습니다. 정확한 테스트가 필요합니다. – Ali

답변

1

앱을 개발하는 데 도움이되고 시작 (또는 다른 단계)에서 너무 느려지는 경우 I just do this.

성능 문제를 찾는 데는 다양한 루틴의 성능을 측정하는 것이 일반적입니다.

나는 다른 방법을 사용한다 - 내가 가장 신경 쓰면 얼마나 많은 시간이 걸릴지 대략 예상 할 수있다. Here's an example of how it works.

내가 찾은 것들의 종류는 다음과 같습니다. 1) 리소스에있는 리소스를 국제화 할 수 있지만 실제로 국제화 할 필요가없는 리소스를 가져 와서 변환하거나 2) UI 컨트롤을 설정하는 과정에서 진짜 이유가없는 깊은 데이터 구조를 삭제 (직렬화와 함께)합니다.

당신이 추측 할 수있는 것들은 거의 발견 할 수 없으므로 추측하는 것은 실수입니다. 프로세스가 당신에게 무엇을 말하고 있는지보십시오.

재미있는 점은 프로파일 러가 쉽게 알려줄 수있는 문제가 거의 없다는 것입니다. 문제는 거의 항상 호출 스택의 중간에있는 무언가 보이는 함수 또는 메서드 호출입니다. 이는 1) 로트가이고 2) 으로 보았을 때 무엇이 ​​인지 알 수 있습니다. 하고 , 당신은 그것이없이 할 수있는 것을 볼 수 있습니다. 그것을 없애면 스택에 있던 시간만큼 절약 할 수 있습니다.

+0

Windows에서 실행중인 C++ 응용 프로그램 인 xperf가 MS 공용 기호 서버에 연결하면 느린 부분의 근본 원인을 분석 할 수 있으므로 디버깅이 좋아집니다. 귀하의 방법에 감사드립니다. – Ali

+0

@Ali : IDE에서 "일시 중지"버튼을 눌렀을 때 사람들이 구입하고, 설치하고, 배우고, 사용하고, 프로파일 러의 출력을 통해 퍼즐을 풀어야한다고 생각한 시간을 계산할 수 없습니다. 몇 번이고 빙고! 모든 사람들이 볼 수있는 문제가 있었고 PC는 Windows에 있었지만 오류는 우리 코드에서 중간 스택이었습니다. 매번 발생합니다. 매번. –

관련 문제