optimization checklist

자주 만나는 선택지는 여섯 칸으로 점검한다

최적화 후보를 넓게 펼치되, 실제 적용은 병목을 확인한 항목부터 시작합니다.

컴파일러

-O2, LTO, release build부터 확인합니다.

알고리즘

복잡도 차이가 크면 미세 최적화보다 먼저 바꿉니다.

자료구조

검색, 삽입, 순회 중 무엇이 많은지에 맞춥니다.

캐시

연속 배치와 순차 접근으로 캐시 미스를 줄입니다.

할당

reserve(), pool, move로 반복 할당을 줄입니다.

병렬/I/O

CPU 작업은 분할하고, I/O는 배치와 버퍼링을 검토합니다.

주의: `-O3`, fast-math, 병렬화는 항상 더 빠르거나 안전하지 않습니다. 결과 정확성과 측정값을 같이 확인해야 합니다.