디버그 빌드 속도 100배 향상: SIMD와 전용 실리콘의 기적

2025-02-18

C 기반 토렌트 애플리케이션을 개발하는 동안 디버그 빌드 시작 시간이 매우 느린 문제(20~30초)에 직면했습니다. 이는 주로 프로그램 시작 시 다운로드된 파일의 각 조각에 대한 SHA1 해시 값을 검증해야 하고, 디버그 모드의 Address Sanitizer가 SHA1 계산 속도를 크게 떨어뜨리기 때문이었습니다. 이 글에서는 SIMD 명령어와 CPU의 전용 SHA 가속 하드웨어 사용 등 여러 최적화 기법을 시도했습니다. 최종적으로 Intel의 SHA 확장 명령어 세트를 사용하여 시작 시간을 866.9밀리초로 단축하여 성능을 100배 향상시켰습니다. 이 글에서는 다양한 최적화 기법의 구현 세부 정보와 성능 비교를 설명하고, 컴파일러 최적화와 디스크 I/O의 영향에 대해서도 논의합니다.

개발