programing

Linux에서 사용하기 쉬운 C ++ 용 프로파일 러는 무엇입니까?

nasanasas 2020. 10. 17. 10:36
반응형

Linux에서 사용하기 쉬운 C ++ 용 프로파일 러는 무엇입니까?


Linux에서 C ++를 실행하는 일부 코드를 프로파일 링해야합니다. 프로파일 러를 추천 해 주시겠습니까?


gprof를 사용하십시오.

-pg플래그를 사용하여 컴파일하고 (확실하지 않지만) 최적화를해야한다고 생각합니다. gprof를 사용하여 실행 파일이 생성 할 gmon.out 파일을 분석합니다.

예 :

gcc -pg -o whatever whatever.c

./whatever

gprof whatever gmon.out

g ++ 및 cpp도 마찬가지입니다.


valgrind 는 잘 알려진 리눅스 프로파일 러입니다.


RotateRight ( http://www.rotateright.com )의 확대 / 축소 는 제가 사용해온 것입니다. 함수에 대한 나비보기가 있으며 함수를 두 번 클릭하여 소스 또는 asm 코드로 이동할 수 있습니다. 소스를 보려면 디버깅 정보 (-g)로 빌드하지만 최적화 된 코드를 빌드하고 프로파일 링해야 합니다.


나는 Oprofile 의 팬입니다 . 커널 모듈을 설치하고 약간의 학습 곡선이 있지만 상당히 강력하며 기호를 디버깅하지 않고 최적화 된 프로그램 / 프로그램에 매우 잘 작동합니다.

Vtune 은 Intel에서 만든 또 다른 매우 강력한 프로파일 러입니다. Linux 버전은 비상업적 소프트웨어에 대해 무료라고 생각합니다.

도있다 Valgrind의의 DFA에 의해 제안 된 도구 제품군. Callgrind는 아마도 여러분이 가장 관심을 가질만한 것일 것입니다. Cachegrind (그 기능 세트는 Callgrind의 하위 집합입니다)와 Massif도 흥미롭지 만 후자에 대해서는 경험이 없습니다.


한 번 봐 가지고 KCacheGrind 에 그래픽 프론트 엔드입니다 Valgrind의 그것은 정말 쉽게 사용 할 수 있습니다.


Google은 또한 google-perftools의 일부로 멋진 프로파일 러를 가지고 있습니다.이 프로파일 러 는 Debian / Ubuntu 및 기타 배포판에 포함되어 있습니다.


gprof는 프로파일 링을위한 표준 gnu 도구입니다.


Sysprof를 살펴 보십시오 . 배포판이 이미 사용 가능할 가능성이 높습니다.

언급 된 모든 프로파일 러는 응용 프로그램이 프레임 포인터로 컴파일 된 경우 가장 잘 작동합니다. 즉, gcc 명령 줄에서 -fno-omit-frame-pointer를 사용해야합니다.


이것이 내가 사용하는 것입니다.

참고 URL : https://stackoverflow.com/questions/1168766/what-is-a-good-easy-to-use-profiler-for-c-on-linux

반응형