Zero-cost Check

반복자 성능은 벤치마크와 최적화 결과로 확인한다

루프와 반복자 중 무엇이 빠른지는 감으로 정하지 않고, 같은 입력과 같은 결과를 기준으로 측정합니다.

1

동일한 작업 측정

같은 텍스트와 같은 검색어로 루프 버전과 반복자 버전을 나란히 비교합니다.

bench_search_iter
2

체인 의미 확인

`zip`, `map`, `sum`은 고수준 표현이지만 컴파일러가 불필요한 경계를 제거할 수 있습니다.

zip().map().sum()
3

핫 경로만 엄격하게

성능이 중요한 경로는 입력 크기와 데이터 모양을 바꿔 재측정합니다.

release + benchmark
컴파일러가 볼 수 있는 구조

고정 길이 배열과 명확한 슬라이스 범위는 루프 언롤링과 경계 검사 제거의 단서가 됩니다.

12 coefficients
사용하지 않으면 비용 없음

쓰지 않은 기능은 실행 코드에 남지 않고, 쓴 기능도 손으로 쓴 코드와 경쟁해야 합니다.

zero overhead