느린 설정에 작별을 고하다: Makefile을 사용한 빌드 구성의 병렬화

2025-04-26

저자 Tavian Barnes는 기존 빌드 시스템(Autoconf, CMake, Meson 등)의 설정 단계 비효율성을 비판합니다. 설정 단계는 빌드 단계보다 훨씬 오래 걸립니다. 그는 Makefile 기반의 병렬화 솔루션을 제안하여 설정 프로세스를 동시에 실행 가능한 여러 작업으로 분할함으로써 효율성을 크게 향상시킵니다. 핵심 아이디어는 make의 병렬 처리 기능을 활용하여 원래 순차적이었던 컴파일러 테스트 작업을 병렬화하여 설정 시간을 38초에서 0.4초로 단축하는 것입니다. 이 글에서는 헬퍼 스크립트, Makefile 작성 기법, 병렬화 전략을 포함한 구현 세부 정보를 설명합니다. 빌드 속도 향상을 추구하는 개발자에게 유용한 정보입니다.

더 보기
개발

Alder Lake SHLX 명령어 이상 현상: 3배의 성능 미스터리

2025-01-02

블로거 Tavian Barnes는 Intel Alder Lake 프로세서의 SHLX 명령어와 관련된 이상한 성능 문제를 발견했습니다. 특정 조건 하에서 이 명령어는 예상보다 훨씬 느리게, 3배나 느리게 실행됩니다. 벤치마크 테스트 결과 64비트 즉치를 사용하여 시프트 카운트 레지스터를 초기화하면 속도가 느려지지만, 32비트 명령어나 다른 초기화 방법을 사용하면 그렇지 않습니다. 이 차이는 SHLX가 시프트 카운트 레지스터의 하위 6비트만 사용하기 때문에 불가사의합니다. 근본 원인은 아직 밝혀지지 않았지만, 이 발견은 Alder Lake 마이크로아키텍처의 잠재적인 최적화 누락을 시사합니다.

더 보기