Bottleneck Map

증상을 먼저 나누면 볼 지표와 도구가 정해진다

느리다는 느낌을 CPU 시간, 메모리 할당, I/O 대기로 분리하면 프로파일러 화면에서 무엇을 먼저 읽을지 바로 정할 수 있습니다.

병목 축
관찰 증상
먼저 볼 지표
도구 예시
CPU 계산 비용
CPU 사용률이 높고 응답이 늦다 특정 함수나 루프가 시간을 독점합니다.
hotspot · call graph 전체 시간 비중과 호출 경로를 봅니다.
perf · gprof · VTune 심볼을 포함한 릴리스 빌드가 필요합니다.
Memory 할당과 수명
메모리가 계속 늘거나 할당이 잦다 객체 수명과 컨테이너 증가를 의심합니다.
allocation · peak · leak 할당 위치와 해제되지 않은 블록을 추적합니다.
Valgrind · ASan · Diagnostic Tools 정확한 검사와 실행 비용을 함께 고려합니다.
I/O · Wait 대기 비용
CPU는 남는데 전체 실행이 느리다 파일, 네트워크, lock 대기로 멈출 수 있습니다.
latency · queue · lock wait 시간축에서 계산과 대기를 분리합니다.
timeline · trace · log Instruments, ETW, 커스텀 로그가 유용합니다.