개요..

 

Visual Studio 듀얼코어, 쿼드코어를 활용한 프로그래밍 컴파일(Complie) 속도 향상방법을 소개해드립니다.

 

기본옵션으로 Visual Studio 2005, 2008 에서는 컴파일 과정에서는 멀티코어 CPU 를 지원하지 않습니다.

따라서 듀얼 코어에서 컴파일을 하면 50%의 CPU 만을 사용하여 멀티 코어 CPU를 사용하는 장점이 없는데 다음과 같은 과정으로 멀티 코어 시피유를 최대한 활용할 수 있습니다.

 

많은 논란 및 의의가 제기되어 다시 측정하고 작성해봅니다.

관심 감사드려요~

 

 

컴파일 속도 향상 방법

 

1. 프로젝트 속성 -> C/C++ -> 명령줄 에 "/MP" 을 입력합니다.

 

 

 

2. 컴파일 및 빌드를 하여 CPU를 100% 사용하는지 확인합니다.

 

 

6만 라인 프로젝트의 컴파일 속도 테스트 예

 

아래와 같은 6만 라인 프로젝트의 경우 다음과 같은 결과를 나타냅니다.

 

ClubPoker.vcproj    62429    42426

 

 

/MP 옵션 사용 여부

컴파일 & 빌드 속도

사용

24초

미사용

33초

 

 

옵션의 변경만으로 약 30% 가량의 컴파일 & 빌드 속도 향상을 이루었고, 코드의 양이 크면 클수록 그 효과는 크게 작용됩니다.

 

 

 

2010-10-20 업데이트 내용

 

증분링크 및 MP 옵션이 잘 안 되신다는 분들이 많아서 다시 올려드립니다.

 

- 비쥬얼 스튜디오 2005 Standard 버전을 사용중입니다.

- 2008 버전에서는 정상작동 여부는 확인 못하였습니다.

 

- /MP 옵션이 추가된 모습

 

 

 

- 증분 링크를 설정 / 사용하는 모습

 

 

 

- 미리 컴파일 된 헤더 (PCH) 를 사용하는 모습

 

 

 

- 컴파일 / 빌드 시작시 어떤 오류도 발생하지 않는 모습

 

 

 

- /MP옵션을 사용 후 컴파일 도중 모든 멀티 CPU를 사용하는 모습

 

 

 

- /MP옵션을 끄고 컴파일 도중 싱글 CPU를 사용하는 모습

 

 

 

빌드 속도 측정 결과

 

 

- 멀티 프로세서를 사용하는 /MP 옵션 사용시 전체 빌드 시간 (쿼드코어)

: 15초

 

- 싱글 코어만 사용하여 /MP 미사용 시 전체 빌드시간

: 30초

 

죄송합니다만 2008 에서의 정확한 작동여부는 제가 직접 테스트해 보지 못하여 말씀 드리기는 어렵습니다.