bottleneck chooser

병목 원인에 맞는 첫 수를 고른다

모든 최적화 기법을 한꺼번에 적용하지 말고, 측정된 병목에 가장 가까운 개선부터 시도합니다.

병목
먼저 볼 것
대표 기법
CPU 계산
복잡도와 루프

중복 계산, 함수 호출, 분기 예측.

알고리즘 교체

O(N²) 제거, 루프 불변 이동, SIMD.

메모리 접근
배치와 순회

연속 접근인지, 포인터를 따라 뛰는지.

캐시 친화 구조

vector, reserve, 구조체 재배치.

할당 비용
반복 생성

루프 안 임시 객체와 작은 heap 할당.

재사용

pool, stack allocation, move, reserve.

대기 시간
락/I/O

경합, 블로킹 호출, 너무 잦은 시스템 호출.

범위 축소

배치 처리, 락 범위 감소, 병렬 작업 분할.

좋은 최적화는 “빠른 코드”가 아니라 “측정된 병목을 줄이고 정확성을 유지한 코드”입니다.