Tag Archives: VC++

Visual C++ 컴파일 속도 향상

간만에 글 올리네요…

회사 프로젝트 빌드 시간이 갈수록 길어지고 있었는데, 빌드시간을 아주 많이 줄일수 있는 좋은 글을 찾았습니다. precompiled header를 사용하고 있었지만, 제대로 설정이 안되어있었나봅니다.

제가 VC++ 6.0을 사용하기 때문에 6.0 기준으로 설명합니다.

일단 라이브러리를 제외하고 메인 exe 빌드하는데 시간을 측정했습니다. 측정 방법은 msdev.exe 실행할때 /y3 옵션을 주면 빌드시간이 표시됩니다.

변경하기전 출력입니다.
Build Time 5:21.9

변경후 출력입니다.
Build Time 1:32.8

대략 3.4배 빨라졌습니다.
근데, 팀 개발자들의 반응은 의외였습니다! 빌드시키고 놀시간이 없어졌다고 부정적인 반응을 —

변경 내용은 프로젝트 전체에서 precompiled header 세팅을 새로 했습니다. 원래 Automatic use of precompiled header에서 Use precompiled header file (stdafx.h)로 지정했습니다. 그리고 예외적으로 precompiled header를 안쓰던 몇개의 C(++) 소스들은 파일별로 Not using precompiled header로 설정했습니다.

다음 stdafx.h에 편의상 resource.h와 로그 관련 헤더를 하나 포함했었는데, 프로젝트 관련 헤더는 모두 뺐습니다. 대신 자주 사용하는 STL 헤더들을 stdafx.h에서 include 했습니다.

10분 정도 간단한 변경으로 빌드 속도가 3배 이상 빨라졌습니다. ^^v