vTune 사용법

2009.01.13 02:49

단장 조회 수:3234 추천:42

초간단 VTune 세팅법 #
프로젝트설정에서 다음을 확인한다.
- 프로젝트/속성/CC++/일반/디버깅정보형식 -> 프로그램 데이터베이스(/Zi) (/Zi이상이면 된다.)
- 프로젝트/속성/링커/디버깅/디버그정보생성 -> 예(/DEBUG)
- 프로젝트/속성/링커/디버깅/프로그램데이터베이스파일생성 -> $(?OutDir)/$(targetName).pdb
- 프로젝트/속성/링커/명령줄 -> /fixed:no 를 추가



VTune 사용법 #


VTune 돌리기위한 준비


pdb생성 - VTune에서 함수이름을 알아내기 위해서 pdb가 필요하다.
release 프로젝트에서 pbd생성
프로젝트/속성/CC++/일반/디버깅정보형식 -> 프로그램 데이터벵스(/Zi)
프로젝트/속성/링커/디버깅/디버그정보생성 -> 예(/DEBUG)
프로젝트/속성/링커/디버깅/프로그램데이터베이스파일생성 -> $(?OutDir)/$(targetName).pdb


debug 프로젝트는 이미 위의 것들이 설정되어 있다.
하지만 debug설정으로 profile할 일은 없겠지.



라이브러리 경로 및 이름 확인
프로젝트/속성/링커/입력/추가종속성 -> 입력될라이브러리들이 VTune을 위해서 컴파일 된것인지 확인
프로젝트/속성/링커/일반/추가라이브러리디렉토리 -> 라이브러리경로가 VTune을 위한 라이브러리가 존재하는 곳인지 확인



링커 옵션
프로젝트/속성/링커/명령줄 -> /fixed:no 를 추가



참고
mk:@MSITStore:?C:\Program%20Files\Intel\VTune\Help\SymbolInfo.chm::/Micorsoft__Developer_Studio_7.0.htm



측정종류 3가지
- sampling
: 모든 프로세스, 디바이스드라이버, 시스템 모듈들의 이벤트들을 측정한다. (별로 쓸일 없을듯, '이벤트'에 대한 조사가 더 필요하다.)

- counter monitor
: 특정 응용프로그램과는 관계없이 원하는 시간동안 cpu, memory, network io, 등의 수치를 모니터링한다. (별로 쓸일 없을듯)

- call graph
: 특정 프로그램을 수행해서 함수호출관계그래프를 그리고 함수별 부하를 모니터링한다.



용어설명

callee - 호출당하는 함수
site - 코드덩어리(함수)
call site - callee를 호출하는 지점
self time - 함수에서 call site부분의 실행시간을 제외한 순수 실행시간. 즉, callee의 실행시간을 포함하지 않는다.
total time - 함수의 총 실행시간, 함수의 Self time과 모든 callee들의 Total time의 합과 같다.
edge calls - 이 함수의 외부에서 이 함수를 호출하는 것. 즉 이 함수가 호출대상으로 불려지는 것
edge time - 이 함수의 특정 외부에서 이 함수를 호출한 시간.
이 함수를 호출하는 모든 call site로부터의 edge time을 합한것이 total time이 된다.

wait time - thread가 suspend 되어있을 동안의 시간 (이 값은 정확한 측정값이 아니다.)
self wait time - self time 참조
total wait time - total time 참조

댓글 0

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
 
목록
번호 제목 글쓴이 날짜 조회 수
64 Guitar World선정 최고의 기타솔로곡 단장 2006.06.14 245266
63 Networking Best Practices in XBOX360 단장 2007.12.19 10886
62 마력 구하는 공식 단장 2013.07.11 7383
61 Windows 8.1 복구 파티션 만들기 단장 2013.11.13 6692
60 버텍스버퍼의 효율적인 사용 단장 2007.10.01 5100
59 효율적인 동기화를 위한 아이디어 하나 단장 2007.09.29 3279
» vTune 사용법 단장 2009.01.13 3234
57 술의 이력서 단장 2007.02.09 2270
56 Large Address Aware file 단장 2014.03.05 1948
55 Fast Bit Counting 단장 2009.02.21 1883
54 std::tr1 단장 2008.03.13 1848
53 골프의 물리학 단장 2009.05.30 1681
52 자동차 정비용어 정리 단장 2007.01.20 1660
51 Nat기반 P2P 프로그래밍 단장 2007.11.21 1627
50 제트 추력 엔진 단장 2008.04.29 1600
49 이스람(Islam:회교:回敎)에서의 성 단장 2007.02.08 1379
48 한국운전면허를 일본운전면허로 바꾸기 [2] 단장 2007.10.26 1351
47 [C++]function objects 단장 2007.05.01 1341
46 NAT 홀펀칭 단장 2007.10.25 1293
45 Stream of Life 단장 2009.06.29 1285