Location | Tag | Media  ||  A | P

이번에 빌드속도를 올려보고자 makefile의 그것처럼

Visual Studio Parellel Build를 지원하는지 구글링을 해보았습니다.

 

찾아보니 Visual Studio는 기본적으로 Parellel Build를 지원합니다.

다음 Tool-Option-Build and Run 항목에 가보시면

최상단에 4라고 있는데 빌드에 프로세스를 몇 개 켜서 동작시킬지를 설정할수 있습니다.



 

지금 보시는 항목이 Default고 더 추가 할수도 있습니다.

 

지금까지 Visual Studio는 항상 Parallel 로 빌드한것이지요.

하지만 왜 Makefile보다 느린지 확인해 보았습니다.

 

Parallel Build 종속성이 걸린 프로젝트를 프로세스를 여러 개 켜서 같이(Parallel) 빌드합니다.

--------------------------------------------------------------------------------------------------------------------------------------

이해를 돕기위해 예를 적었습니다.

 

A, B, C, D, E라는 프로젝트가 있습니다.

1. A 프로젝트에 종속성이 걸린 프로젝트가 BCDE가 있는 상태입니다.

A - B

- C

- D

- E

 

2. A 에는 B가 종속성이 있고 B에는 C C에는 D D에는 E가 걸려있는 상태입니다.

A B C D E

 

1번의 경우에 B,C,D,E Parallel 으로 빌드하고 나서 A를 빌드하지만

2번의 경우에는 E를 빌드하고나서 D 를 빌드하고 다음 C, B , A순으로 각 1개씩 순차적으로 빌드하게 됩니다.

2의 경우가 1의 경우보다 느리겠지요.

 

결론 : 의미없이 종속성이 걸린 경우에 빌드속도가 영향을 받게됩니다.

 

--------------------------------------------------------------------------------------------------------------------------------------

 

DHWR 프로젝트를 기준으로 빌드시간을 측정해보았습니다.

제컴퓨터에서 재빌드시간이 1 54가 걸렸습니다.

 

종속성은 다음과같이 꼬인상태입니다.



 

 

LIBDHWR을 제외한 모든 프로젝트에 종속성을 제거하니

빌드속도가 1 13 가걸렸습니다.

41  정도 절약되었네요.

Posted by Bestend
: