Visual Studio 듀얼코어, 쿼드코어를 활용한 프로그래밍 컴파일(Complie) 속도 향상방법을 소개해드립니다.
기본옵션으로 Visual Studio 2005, 2008 에서는 컴파일 과정에서는 멀티코어 CPU 를 지원하지 않습니다.
따라서 듀얼 코어에서 컴파일을 하면 50%의 CPU 만을 사용하여 멀티 코어 CPU를 사용하는 장점이 없는데 다음과 같은 과정으로 멀티 코어 시피유를 최대한 활용할 수 있습니다.
많은 논란 및 의의가 제기되어 다시 측정하고 작성해봅니다.
관심 감사드려요~
1. 프로젝트 속성 -> C/C++ -> 명령줄 에 "/MP" 을 입력합니다.
2. 컴파일 및 빌드를 하여 CPU를 100% 사용하는지 확인합니다.
아래와 같은 6만 라인 프로젝트의 경우 다음과 같은 결과를 나타냅니다.
ClubPoker.vcproj 62429 42426
/MP 옵션 사용 여부 |
컴파일 & 빌드 속도 |
사용 |
24초 |
미사용 |
33초 |
옵션의 변경만으로 약 30% 가량의 컴파일 & 빌드 속도 향상을 이루었고, 코드의 양이 크면 클수록 그 효과는 크게 작용됩니다.
증분링크 및 MP 옵션이 잘 안 되신다는 분들이 많아서 다시 올려드립니다.
- 비쥬얼 스튜디오 2005 Standard 버전을 사용중입니다.
- 2008 버전에서는 정상작동 여부는 확인 못하였습니다.
- /MP 옵션이 추가된 모습
- 증분 링크를 설정 / 사용하는 모습
- 미리 컴파일 된 헤더 (PCH) 를 사용하는 모습
- 컴파일 / 빌드 시작시 어떤 오류도 발생하지 않는 모습
- /MP옵션을 사용 후 컴파일 도중 모든 멀티 CPU를 사용하는 모습
- /MP옵션을 끄고 컴파일 도중 싱글 CPU를 사용하는 모습
- 멀티 프로세서를 사용하는 /MP 옵션 사용시 전체 빌드 시간 (쿼드코어)
: 15초
- 싱글 코어만 사용하여 /MP 미사용 시 전체 빌드시간
: 30초 |
죄송합니다만 2008 에서의 정확한 작동여부는 제가 직접 테스트해 보지 못하여 말씀 드리기는 어렵습니다.