정확성 기준 고정
테스트 결과, 허용 오차, 입력 범위를 먼저 저장해 빠른 코드가 같은 일을 하는지 비교한다.
더 빠른 코드라도 결과가 달라지거나 다른 병목을 키우면 실패다. 변경 전 기준을 세우고 병목 유형별로 작은 개선을 검증한다.
테스트 결과, 허용 오차, 입력 범위를 먼저 저장해 빠른 코드가 같은 일을 하는지 비교한다.
알고리즘, 캐시, 할당, 동기화, I/O 중 측정 수치가 가장 큰 지점을 하나만 고른다.
릴리스 빌드와 대표 입력을 유지해 실행 시간, 메모리, 코드 복잡도를 함께 확인한다.
-O2, LTO, 벡터화 리포트는 먼저 확인하되 디버그 빌드
수치와 섞지 않는다.
입력 크기가 커질수록 느려지면 자료구조와 알고리즘을 바꾸고 회귀 테스트를 다시 돌린다.
vector, 순차 순회, 구조체 배치 변경은 결과 순서와
수명 규칙을 함께 확인한다.
reserve, 재사용, 이동 시맨틱은 소유권과 예외 경로에서
해제가 유지되는지 본다.
스레드 수를 늘리기 전에 공유 상태, lock 범위, false sharing 비용을 측정한다.
파일, 네트워크, 로그는 버퍼링과 배치 처리로 줄이고 관측 가능한 진단 정보는 남긴다.