Thinking Different




Luke Stackwalker 는 무료로 제공하는 프로파일링 도구로써 많은 이들이 사용하는 툴 중의 하나이다. 다른 무료 프로파일링 툴로써는 Very Sleepy 라는 툴도 있다.

상용 프로그램으로는 Memory Validator 가 있으며 30일동안 무료로 사용할 수 있는 쉐어웨어를 설치하여 사용해 볼 수 있다.


위키디피아 출처:

프로파일링(profiling, 프로그램 프로파일링/소프트웨어 프로파일링) 또는 성능 분석은 프로그램의 시간 복잡도 및 공간(메모리), 특정 명령어 이용, 함수 호출의 주기와 빈도 등을 측정하는 동적 프로그램 분석의 한 형태이다. 프로파일링 정보는 대개가 프로그램 최적화를 보조하기 위해 사용된다. 프로파일링은 프로파일러(profiler)라는 도구를 사용하여 프로그램 소스 코드나 이진 실행 파일을 계측 분석함으로써 수행한다.



1. Luke Stackwalker 사용 예제




2. Very Sleepy 사용 예제




3. 소감

개인적으로 사용하기 편한 프로그램은 Very Sleepy 가 더 편했다. 테스트 소스코드를 debug 모드로 실행만 한 상태에서 Very Sleepy 를 실행시킨다음 로드된 프로세스를 찾아서 더블클릭만 한번 해주면 프로파일링을 자동으로 시작한다.

하지만 UI 부분이나 직관성에서는 Luke Stackwalker 가 좀 더 보기에는 한눈에 확 들어오는점이 높은 점수를 줄만 하다고 생각한다.



테스트에 사용된 예제소스는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <tchar.h>
 
 
void test_1()
{
    for (int i = 0; i < 100; ++i)
    {
        __asm
        {
            nop;
        }
    }
}
 
void test_2()
{
    for (int i = 0; i < 500; ++i)
    {
        __asm
        {
            nop;
        }
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    while (1)
    {
        test_1();
        test_2();
    }
    
    return 0;
}