2017/05

소프트웨어/툴 & 프로파일링

예제와 함께하는 gprof를 이용한 기본적인 CPU 프로파일링

gprof를 사용하면 특정 실행파일의 함수별 호출횟수, 대략적인 CPU 사용시간을 확인할 수 있다. 즉, 함수별 호출횟수를 기반으로 성능 최적화 포인트 (혹은 성능저하 포인트)를 잡아낼 수 있는 툴이다. 참고로 CPU 사용률의 경우, 10ms 단위의 샘플링이기 때문에 아주 상세한 정보라고 보기는 힘들다. 그리고 기본으로 제공하는 text 리포트의 경우 callstack 정보를 상세하게 확인하기 어려운 단점이 존재한다. [기본적인 사용법]기본적인 프로파일링 시퀀스는 다음과 같다.컴파일 with -pg실행프로파일링 리포트 확인-pg 옵션이 활성화된 실행파일은 아래 세 가지 작업이 추가가 된다. gmon.out 파일생성 (GMON_OUT_PREFIX 환경변수로 위치 조정가능) 10ms 마다 PC (프로그래밍 ..

소프트웨어/툴 & 프로파일링

gperftools & tcmalloc 소개

[소개]구글의 성능 측정 툴이 모태가 되어서 개발된 오픈소스 툴이다.멀티스레드 환경에서 잘 동작한다고 주장하고 있으며 아래 세 가지가 메인 기능이라고 한다.malloc 성능향상 : tcmallocheap-checkerheap-profilercpu-profiler 체커나 프로파일을 위한 리포트를 생성하기 위해서 pprof 라는 내부 툴이 있다.다만 해당이 golang 버전으로 대체 되었다고 한다.얼핏 살펴보니 perf 또한 지원하는 형태로 발전한 듯 하다.나중에 시간나면 한번 살펴봐야지. - https://github.com/google/pprof [TCMALLOC]간단하게 -ltcmalloc 또는 -ltcmalloc_minimal 을 링크하는 것으로 끝이다.이렇게 하면 코드 상의 malloc 또는 new..

강에바
'2017/05 글 목록