Open JangSoJin opened 7 years ago
Linux 환경 (필요한 경우 VirtualBox 이용가능), vi
git 개발 환경 구성
sudo apt-get install git
perf 다운 (커널소스 받기)
git clone
cd tip/tools/perf
sudo apt-get install -y libdw-dev libelf-dev libnewt-dev libunwind8-dev elfutils libaudit-dev libperl-dev libnuma-dev binutils-dev flex bison libpython2.7-dev asciidoc liblzma-dev libiberty- dev libgtk2.0-dev libssl-dev
make
hello.c
#include <stdio.h>
int bar(int b){ printf(“bar %d\n”,b); return b; }
int foo(int a){ printf(“foo %d\n”,a); return bar(a+1); }
void main(int arg, char *argv[]){ printf(“hello %d\n”,foo(arg)); }
2. pg옵션으로 컴파일 `gcc -pg -o [실행Object명] [C프로그램]` (여기서는 gcc -pg -o hello hello.c가 된다.) 3. perf record 명령어를 통해 perf.data 에 event 수집 `(sudo) perf record ./hello` ![image](https://user-images.githubusercontent.com/18066248/31751699-cb650b96-b4c1-11e7-84ba-7e12ead36504.png) 4. 각각의 성능 분석 (sample이 모아져야 실행이 가능하다.) `(sudo) perf report ` ![image](https://user-images.githubusercontent.com/18066248/31751705-d2450a4c-b4c1-11e7-9323-f7a194fcb54b.png) 5. (선택) 비교 분석이 가능하다 `perf diff perf.data_1 perf.data_2 --sort=srcline`
😀 개발 및 테스트 환경 구성
Linux 환경 (필요한 경우 VirtualBox 이용가능), vi
git 개발 환경 구성
sudo apt-get install git
perf 다운 (커널소스 받기)
git clone
[GitHub](git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git -b perf/core)cd tip/tools/perf
sudo apt-get install -y libdw-dev libelf-dev libnewt-dev libunwind8-dev elfutils libaudit-dev libperl-dev libnuma-dev binutils-dev flex bison libpython2.7-dev asciidoc liblzma-dev libiberty- dev libgtk2.0-dev libssl-dev
make
😀 컴파일 / 실행 테스트
hello.c
(cat hello.c를 통해 source 확인가능)int bar(int b){ printf(“bar %d\n”,b); return b; }
int foo(int a){ printf(“foo %d\n”,a); return bar(a+1); }
void main(int arg, char *argv[]){ printf(“hello %d\n”,foo(arg)); }