Featured image of post [Compiler 03] C++20 Modules와 빌드·성능

[Compiler 03] C++20 Modules와 빌드·성능

C++20 Modules가 빌드 시간에 미치는 영향(헤더 반복 파싱 감소), 런타임 성능과의 관계(인라인·코드 생성), 점진적 모듈화와 기존 헤더 혼용 전략을 다룹니다. 컴파일러·버전별 모듈 지원과 도입 시 판단 기준을 제시합니다.

Featured image of post [Compiler 03] CPU 기능별 함수 다중 버전

[Compiler 03] CPU 기능별 함수 다중 버전

런타임 CPU 기능 감지에 따라 최적 구현을 선택하는 함수 멀티버저닝을 다룹니다. GCC/Clang의 target·target_clones 속성 사용법, IFUNC 디스패치 비용, AVX2/AVX-512 등 경로별 빌드·배포 설계와 검증 방법을 정리합니다.

Featured image of post [Compiler 03] GCC vs Clang vs MSVC 최적화 차이

[Compiler 03] GCC vs Clang vs MSVC 최적화 차이

동일 소스·플래그에서 GCC/Clang/MSVC의 속도·크기 차이, 벡터화·인라이닝·루프 최적화 영역별 차이, 플랫폼별 선택 기준을 다룹니다. 동일 벤치마크로 컴파일러별 수치 비교 방법과 다중 컴파일러 빌드·회귀 검증 절차를 제시합니다.

Featured image of post [Compiler 03] Introduction: Low-latency 컴파일러·빌드 최적화

[Compiler 03] Introduction: Low-latency 컴파일러·빌드 최적화

Low-latency 컴파일러·빌드 최적화 트랙의 도입 챕터입니다. 옵션 설계와 LTO/PGO, 인라이닝·코드 생성 분석의 책임 범위를 정리하고, 동일 벤치마크로 설정 변경을 검증하는 방법과 이 트랙을 마친 후 달성할 학습 목표를 안내합니다.

Featured image of post [Compiler 03] LTO와 ThinLTO 실전 적용

[Compiler 03] LTO와 ThinLTO 실전 적용

Link-Time Optimization 개념과 GCC/Clang/MSVC 활성화 방법, ThinLTO trade-off, LTO on/off 성능·크기 검증을 다룹니다. 크로스-TU 인라이닝과 빌드 캐시 연동 시 주의점을 포함합니다.

Featured image of post [Compiler 03] PGO 고급 워크플로우

[Compiler 03] PGO 고급 워크플로우

Profile-Guided Optimization의 3단계 워크플로우(Instrumented 빌드·프로파일 수집·Optimized 빌드), 프로파일 대표성과 PGO 전/후 검증, CI에서의 PGO 적용 시 캐시·재현성·비용 고려사항을 다룹니다. 언제 PGO를 쓸지/피할지 판단 기준을 제시합니다.

Featured image of post [Compiler 03] Sanitizer 성능 오버헤드

[Compiler 03] Sanitizer 성능 오버헤드

AddressSanitizer, UBSan, ThreadSanitizer 등 주요 새니타이저의 동작 원리와 런타임 오버헤드를 정량적으로 비교하고, 디버그·CI 빌드와 릴리즈 빌드의 적용 전략, 성능 측정 시 새니타이저를 비활성화해야 하는 이유를 다룹니다.

Featured image of post [Compiler 03] 디버그 정보와 릴리즈 성능

[Compiler 03] 디버그 정보와 릴리즈 성능

디버그 심볼이 코드 생성과 바이너리 크기에 미치는 영향, -g와 최적화 플래그의 상호작용, 릴리즈 빌드에서 심볼 유지·분리(split DWARF) 전략, strip·FDO·LTO와 디버그 정보를 조합할 때의 주의점을 다룹니다.

Featured image of post [Compiler 03] 빌드 병렬화: ccache, distcc, sccache

[Compiler 03] 빌드 병렬화: ccache, distcc, sccache

ccache·sccache로 재컴파일 감소, distcc 분산 빌드, -j와 메모리·캐시 균형, CI에서의 캐시 아티팩트·캐시 키·분산 전략을 다룹니다. LTO·PGO와 캐시 키 관계와 언제 ccache/distcc를 쓸지 판단 기준을 제시합니다.

Featured image of post [Compiler 03] 성능 관련 정적 분석

[Compiler 03] 성능 관련 정적 분석

성능 관련 컴파일러·정적 분석 경고(미사용 결과·불필요한 복사·비효율 루프), Clang Static Analyzer·GCC -fanalyzer, CI에 경고 통합하고 벤치마크와 분리해 성능 회귀와 연계하는 방법을 다룹니다.