1
CPU 병목
hotspot, 호출 그래프, cache miss를 보고 시간이 몰리는 함수를 찾는다.
perf · gprof · VTune성능 문제는 감으로 고치는 것이 아니라, CPU 시간, 할당 패턴, I/O 지연처럼 관찰 가능한 지표로 좁혀야 한다.
hotspot, 호출 그래프, cache miss를 보고 시간이 몰리는 함수를 찾는다.
perf · gprof · VTune할당 빈도, 누수, peak memory, 객체 수명을 확인해 낭비를 줄인다.
Valgrind · Diagnostic Tools파일, 네트워크, 동기화 대기 시간을 분리해 CPU 최적화와 구분한다.
trace · timeline · logs
-O2, -g처럼 실제 성능과 소스 매핑을 함께
챙긴다.
짧은 샘플보다 실제 사용자 패턴과 충분한 실행 시간을 우선한다.
가장 큰 비용부터 보고, 작은 함수 최적화에 먼저 빠지지 않는다.
알고리즘, 자료구조, 캐시, 할당, 병렬화 중 하나만 바꿔 비교한다.
속도, 메모리, 코드 복잡도가 함께 좋아졌는지 숫자로 확인한다.
프로파일링의 목적은 도구 사용 자체가 아니라, 성능 문제를 재현 가능한 지표로 바꾸고 수정 전후의 차이를 반복해서 검증하는 것입니다.