GCC 컴파일러의 단 한 줄 x86 변경으로 최신 Intel/AMD CPU 벤치마크 성능 12% 향상
요약
GCC 컴파일러의 x86 범용 튜닝 설정을 단 한 줄 변경하여 최신 Intel 및 AMD CPU의 벤치마크 성능을 최대 12% 향상시켰습니다. 분기 예측 실패 비용을 높게 설정함으로써 현대적 CPU의 깊은 파이프라인에서 발생하는 스톨을 방지하는 원리입니다.
핵심 포인트
- GCC 컴파일러의 x86 분기 예측 실패 스케일 조정
- Granite Rapids 및 AMD Zen 5에서 약 12% 성능 향상
- 현대적 CPU의 깊은 파이프라인 구조 최적화
- GCC 17 안정 버전에 해당 변경 사항 병합 예정
One Line x86 Change To GCC Compiler Nets +12% Benchmark Win For Modern Intel/AMD CPUs

Intel 소프트웨어 엔지니어 Lili Cui는 GCC 컴파일러의 범용 x86 튜닝 (generic x86 tuning)에서 분기 예측 실패 비용 (misprediction cost)을 높이는 것이 상당히 가치 있다는 것을 발견했습니다. 현대적인 CPU들이 더 깊은 파이프라인 (pipelines)을 가지고 있어 분기 예측 실패 (branch mispredictions)의 비용이 더 크다는 점을 기반으로, 범용 튜닝 테이블에서 이 비용을 높이면 예측 실패된 분기로 인한 파이프라인 스톨 (pipeline stalls)을 방지하는 데 도움이 됩니다. 이는 CPU 특정적인 -march=native 타입의 빌드가 아닌, 범용 x86/x86_64 튜닝에만 의존하는 경우를 위한 것입니다.
단순히 분기 예측 실패 스케일 (branch mispredict scale)을 3배로 늘림으로써, Granite Rapids에서는 12.7%, AMD Zen 5에서는 12.1%의 성능 향상이 있는 것으로 나타났습니다. 이는 SPEC CPU 2017의 544.nab_r Nucleic Acid Builder (NAB) 테스트 케이스에 대한 결과입니다. Git 커밋/패치에는 다른 성능 수치가 공유되지 않았지만, 어쨌든 적어도 하나의 SPEC CPU 테스트 케이스에서 12%의 이득을 얻었다는 것은 — 특히 단 한 줄의 코드를 변경하여 얻은 결과라는 점에서 — 매우 매력적이며, 다른 워크로드 (workloads)에 미칠 영향도 흥미로울 것입니다.
이 변경 사항은 내년 GCC 17 안정 버전 (stable release)을 위해 GCC Git에 병합되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기