반응형

http://cafe.naver.com/jcga/385


 

The /MP compiler option reduces total build time. 
The /MP option can significantly reduce the total time to compile several source files by creating several processes that compile the files simultaneously. This option is especially useful on computers that support hyperthreading, multiple processors, or multiple cores.

▷ Visual C++ Compiler Options /MP (Build with Multiple Processes)

 

1. 솔루션에 다수의 프로젝트가 존재하고 의존성 관계상 순차적으로 컴파일을 하지 않아도 된다면 다중 프로젝트 컴파일은 기본적으로 동작한다.

2. 단일 프로젝트에 대해 다중 컴파일을 사용하는 것은 VS2005에서 가려져 있으며 컴파일 옵션을 통해 이를 활성화 할수 있다.
3. Properties - C/C++ - Command Line - Additional option항목에 /MP or /MP?(물음표는 코어의갯수)를 추가

4. Properties - C/C++ - Code Generation - Enable Minimal Rebuild 항목(/Gm) 을 No로 설정해 주어야 한다.

5. cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release 

- Properties - C/C++ - General탭의 Detect 64-bit Portability Issues 항목을 "No"로 해 준다. 

6. LINK : warning LNK4224: /OPT:NOWIN98 is no longer supported;  ignored 

- Properties - Linker - Optimization - Optimize for Windows98 을 Default로 설정

 

★ 소스 파일 다중 컴파일 옵션은 아래의 경우 사용할 수 없다. ★

→ /Gm (최소 다시 빌드 사용) 옵션과 함께 사용 불가

→ /Yc (미리 컴파일된 헤더 만들기) 옵션과 함께 사용 불가 

→ #import (.NET을 사용시) 구문을 미리 컴파일된 헤더를 만드는 stdafx.h 이외의 곳에서 사용하면 안된다.

  (VS2008 기준인데 VS2005에도 적용되고 있을 거라 추측~)

 

VS2008 (Orcas) 에서는  위의 경우 해당 내용을 출력창에 알려주지만 VS2005는 알려주지 않고 무시된다고만 알려준다.
뿐만 아니라 MSDN (VS2005용)에서도 해당 출력에 대한 도움말을 찾을 수 없다.

NSCore 프로젝트로 테스트한 결과 CPU 점유율이 100%가 됨을 확인 할 수 있었다. (/MP 옵션이 없으면 50%만 사용) 

마지막으로 이 내용은 웹에서 VS2008에 대한 내용을 VS2005에서 잠깐 테스트 하고 적었음을 밝혀둔다.

 

컴파일시 점유율이 50%를 못넘어서 찾아본 내용입니다.. 테스트는 내일 김조교님과 ^^......

 

 

테스트해보니 CPU사용률 100% *_* !! 대략 3-40%정도 단축효과가 있는것 같습니다. 우왕ㅋ굳ㅋ

 

출처 : all2one.tistory.com + http://scarletblue.net/ 님 블로그

반응형

+ Recent posts