BLOG main image
ddd (50)
CUDA programming (0)
알고리즘 트레이딩 (5)
Cherry Picker 개발 (23)
TSimulator 개발(종료) (11)
IT 노트 (1)
잡동사니 (2)
사진 (4)
일기 (4)
이력서 (0)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
'IT 노트'에 해당되는 글 1건
2016. 3. 10. 11:10

작은 프로젝트에서는 큰 의미가 없지만 파일수가 많은 큰 프로젝트에서는 컴파일 시간이 지루하기만 하다.

내가 개발하고 있는 트레이딩툴 역시 파일수가 100개를 넘어가면서 컴파일 시간이 5분 이상 걸린다.

cpp 파일 하나하나를 obj 파일로 변경하는 것이므로 멀티코어 CPU 에서는 각각의 CPU 에 하나씩 파일을 할당해주는 방식으로 컴파일을 진행하면 코어수에 비례해서(이론적으로) 컴파일 속도가 빨라진다. 단 링크작업은 하나의 CPU 에서 수행하므로 이런 효과를 낼 수는 없다.


VS2005 sp1 과 VS2008 이상부터는 이런방식의 멀티코어 활용 컴파일을 지원한다.


내가 쓰고있는 VS2008 한글판을 기준으로는 몇 가지 간단한 설정으로 실현시킬 수 있다.


1. 프로젝트의 속성 -> 구성 속성 -> C/C++ -> 코드 생성 -> 최소 다시 빌드 기능 -> 아니오

2. 프로젝트의 속성 -> 구성 속성 -> C/C++ -> 미리 컴파일된 헤더 -> 미리 컴파일된 헤더 만들기/사용 -> 미리 컴파일된 헤더 사용

3. 프로젝트의 속성 -> 구성 속성 -> C/C++ -> 명령줄 -> 추가 옵션 -> '/MP' 추가


이렇게 설정 후 컴파일을 진행하면 현재 CPU 의 코어를 모두 활용한 컴파일이 가능하다.

잘 되는지 확인은 작업관리자의 프로세스에서 cl 프로세스가 코어수만큼 떠있는지 체크하면 된다.

prev"" #1 next