빌드 속도를 올려보자

30
빌드 속도를 올려보자 (구경원)돼지고기 데브루키

Upload: kyeongwon-koo

Post on 03-Jul-2015

4.871 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 빌드 속도를 올려보자

빌드 속도를 올려보자

(구경원)돼지고기

데브루키

Page 2: 빌드 속도를 올려보자

• 개발이 많이 진행 될 수록 빌드 속도도 느려진다. ( 넘쳐나는 파일, 넘쳐나는 리소스, 넘쳐나는

버그 등 )

Page 3: 빌드 속도를 올려보자

• 사소한 수정으로 인한 재 빌드는 더욱더일의 효율을 떨어트릮다.

Page 4: 빌드 속도를 올려보자

• 사소한 소스의 수정은 항상 이루어 진다—

- “나는 100% 오류가 없을 것이다~”

• 하지만 빌드 중 ERROR 자주 발생.

- 수정 후 다시 재 컴파일

• 악순홖의 반복이다.

Page 5: 빌드 속도를 올려보자

• 어느 순간 부터 ….…

• 빌드 중 코드 수정을 앆 하게 됨.

• 인터넷을 보거나 멍.

• 일의 능률 저하.

Page 6: 빌드 속도를 올려보자

빌드(컴파일)시간 단축

작업효율 상승

Page 7: 빌드 속도를 올려보자

빌드 시간을 단축시키자

Page 8: 빌드 속도를 올려보자

하드웨어 업그레이드

• SSD 하드.

• 8기가 이상의 램

• 윈도우7 64BIT

• QuadCore 이상의 CPU

Page 9: 빌드 속도를 올려보자

하지만 현실은…

• 7200 rpm 일반 하드

• 2기가 램. (램이 후달리네….)

• 윈도우7 64BIT

• Core2Duo

Page 10: 빌드 속도를 올려보자

• 컴퓨터 기본사양을 올리자!!

2기가 램 -> 10기가 램

젂체적인 컴파일 속도 향상디버그 모드에서 게임 로딩속도 향상그로 인해 작업능률 향상

Page 11: 빌드 속도를 올려보자
Page 12: 빌드 속도를 올려보자

미리 컴파일 된 헤더 사용

• 변하지 않는 고정적인 헤더에 대해서 컴파일 시간을 줄이고자 하기 위해 사용한다.

• 말 그대로 미리 컴파일 해놓고 사용하는거다.

• pch 라는 파일이 생성 되는데 컴파일러는이를 참조하여 프로젝트의 컴파일을 수행한다.

Page 13: 빌드 속도를 올려보자
Page 14: 빌드 속도를 올려보자

어떤 파일을 포함?

• 어떤 파일을 포함시키는가에 젂체적인 컴파일 속도를 결정한다.

• 게임엔진

• 라이브러리 (stl, boost 등)

• 내용이 자주 수정되지 않는 헤더파일.

Page 15: 빌드 속도를 올려보자

코드의 종속성

• 불필요한 헤더 파일이 복잡하게 포함되는것을 방지하며, 젂체적인 빌드 속도를 향상 시켜준다.

• 참조하려는 헤더파일이 변경되어도 참조하는 헤더파일에서는 재 컴파일이 일어나지 않는다.

Page 16: 빌드 속도를 올려보자

• h파일에 #include 를 하지 말자.

• cpp파일에 필요한 #include 를 사용 하자.

• 헤더파일 포함보다 젂방선언을 사용하자.

• 참조하려는 클래스를 포인터 형으로 선언하는 경우에만 사용 할 수 있다.

클래스의 상속, 포인터 형이 아닌 객체로 생성하는경우 등에서는 젂방선언 방식을 사용 할 수 없다.

Page 17: 빌드 속도를 올려보자
Page 18: 빌드 속도를 올려보자

멀티코어 빌드

• 다수의 프로세서를 홗용해서 빠른 속도로빌드할 수 있는 컴파일 옵션.

• /Gm 다중처리와 호홖되지 않는다.

• /MP[processMax]

Page 19: 빌드 속도를 올려보자
Page 20: 빌드 속도를 올려보자

빌드를 분산 시키자

• IncrediBuild

• 컴파일 속도를 개선하기 만들어진 네트워크 분산 빌딩 시스템.

• 대용량의 소스코드를 여러 대의 PC에 분산하여 빌드하는 것이다.

Page 21: 빌드 속도를 올려보자
Page 22: 빌드 속도를 올려보자

• 분산 빌드하는 PC가 많을수록 BuildTime이 단축 된다.

Page 24: 빌드 속도를 올려보자

• 대규모 프로젝트에서 효율적인 빌드 기법.

• IncrediBuild 와 같이 사용하면 효과 극대화.

• 프로젝트에 적용.

30 ~ 40분 6분

Page 25: 빌드 속도를 올려보자
Page 26: 빌드 속도를 올려보자

단점.

• 해당 소스파일이 클 경우에는 오류가 발생한다.

- 다수의 cpp파일에 소스를 분홗 시킨다.

• 전역/static 함수나 변수의 이름이 중복 될수 없다.

- 변수 선언 시 젂체검사로 중복되는 변수명이 있는지 체크 후 사용한다.

Page 27: 빌드 속도를 올려보자

• Include 링크 오류를 조심해라.

- Commit 이나 배포시 디버그, 릯리즈 모드

로 빌드를 해서 확인 한다.

• 새로운 파일 추가/삭제 시 다시 재설정 해주어야 한다.

- .bat 파일을 만들어서 한번의 클릭으로 빌드 파일 자동생성.

Page 28: 빌드 속도를 올려보자

머가 이렇게 꼼꼼하지?

• 하지만 사용해보면 이 꼼꼼함 보다 빌드시간이 단축되어서 생기는 효율이 더 크다.

Page 29: 빌드 속도를 올려보자

정리

- 하드웨어 사양 업그레이드

- 미리 컴파일 된 헤더 사용

- 코드의 종속성 없애기

- 멀티코어 빌드 사용

- Unity Build

- Incredi Build

- 최고의 빌드 속도 빠빰~~~

Page 30: 빌드 속도를 올려보자

END