0
빌드 속도를 올려보자      (구경원)돼지고기         데브루키
• 개발이 많이 진행 될 수록 빌드 속도도 느  려진다. ( 넘쳐나는 파일, 넘쳐나는 리소스, 넘쳐나는 버그 등 )
• 사소한 수정으로 인한 재 빌드는 더욱더  일의 효율을 떨어트릮다.
• 사소한 소스의 수정은 항상 이루어 진다—- “나는 100% 오류가 없을 것이다~”• 하지만 빌드 중 ERROR 자주 발생.- 수정 후 다시 재 컴파일• 악순홖의 반복이다.
• 어느 순간 부터 ….…• 빌드 중 코드 수정을 앆 하게 됨.• 인터넷을 보거나 멍.• 일의 능률 저하.
빌드(컴파일)시간 단축  작업효율 상승
빌드 시간을 단축시키자
하드웨어 업그레이드•   SSD 하드.•   8기가 이상의 램•   윈도우7 64BIT•   QuadCore 이상의 CPU
하지만 현실은…•   7200 rpm 일반 하드•   2기가 램. (램이 후달리네….)•   윈도우7 64BIT•   Core2Duo
2기가 램 -> 10기가 램젂체적인 컴파일 속도 향상디버그 모드에서 게임 로딩속도 향상그로 인해 작업능률 향상• 컴퓨터 기본사양을 올리자!!
미리 컴파일 된 헤더 사용• 변하지 않는 고정적인 헤더에 대해서 컴파  일 시간을 줄이고자 하기 위해 사용한다.• 말 그대로 미리 컴파일 해놓고 사용하는  거다.• pch 라는 파일이 생성 되는데 컴파일러는  이를 참조...
어떤 파일을 포함?• 어떤 파일을 포함시키는가에 젂체적인 컴  파일 속도를 결정한다.• 게임엔진• 라이브러리 (stl, boost 등)• 내용이 자주 수정되지 않는 헤더파일.
코드의 종속성• 불필요한 헤더 파일이 복잡하게 포함되는  것을 방지하며, 젂체적인 빌드 속도를 향  상 시켜준다.• 참조하려는 헤더파일이 변경되어도 참조  하는 헤더파일에서는 재 컴파일이 일어나  지 않는다.
•   h파일에 #include 를 하지 말자.•   cpp파일에 필요한 #include 를 사용 하자.•   헤더파일 포함보다 젂방선언을 사용하자.•   참조하려는 클래스를 포인터 형으로 선언    하는 경우에만 사용...
멀티코어 빌드• 다수의 프로세서를 홗용해서 빠른 속도로  빌드할 수 있는 컴파일 옵션.• /Gm 다중처리와 호홖되지 않는다.• /MP[processMax]
빌드를 분산 시키자• IncrediBuild• 컴파일 속도를 개선하기 만들어진 네트워  크 분산 빌딩 시스템.• 대용량의 소스코드를 여러 대의 PC에 분  산하여 빌드하는 것이다.
• 분산 빌드하는 PC가 많을수록 BuildTime  이 단축 된다.
Unity Build• http://www.slideshare.net/devcatpublicati  ons/ndc2010-unity-build• NDC 2010 송창규님 의 발표자료.
• 대규모 프로젝트에서 효율적인 빌드 기법.• IncrediBuild 와 같이 사용하면 효과 극대  화.• 프로젝트에 적용. 30 ~ 40분        6분
단점.• 해당 소스파일이 클 경우에는 오류가 발생  한다.- 다수의 cpp파일에 소스를 분홗 시킨다.• 전역/static 함수나 변수의 이름이 중복 될  수 없다.- 변수 선언 시 젂체검사로 중복되는 변수  명이 있는지...
• Include 링크 오류를 조심해라.- Commit 이나 배포시 디버그, 릯리즈 모드   로 빌드를 해서 확인 한다.• 새로운 파일 추가/삭제 시 다시 재설정 해  주어야 한다.- .bat 파일을 만들어서 한번의 클...
머가 이렇게 꼼꼼하지?• 하지만 사용해보면 이 꼼꼼함 보다 빌드시  간이 단축되어서 생기는 효율이 더 크다.
정리-   하드웨어 사양 업그레이드-   미리 컴파일 된 헤더 사용-   코드의 종속성 없애기-   멀티코어 빌드 사용-   Unity Build-   Incredi Build- 최고의 빌드 속도 빠빰~~~
END
빌드 속도를 올려보자
빌드 속도를 올려보자
빌드 속도를 올려보자
빌드 속도를 올려보자
빌드 속도를 올려보자
빌드 속도를 올려보자
Upcoming SlideShare
Loading in...5
×

빌드 속도를 올려보자

5,049

Published on

0 Comments
17 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,049
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
32
Comments
0
Likes
17
Embeds 0
No embeds

No notes for slide

Transcript of "빌드 속도를 올려보자"

  1. 1. 빌드 속도를 올려보자 (구경원)돼지고기 데브루키
  2. 2. • 개발이 많이 진행 될 수록 빌드 속도도 느 려진다. ( 넘쳐나는 파일, 넘쳐나는 리소스, 넘쳐나는 버그 등 )
  3. 3. • 사소한 수정으로 인한 재 빌드는 더욱더 일의 효율을 떨어트릮다.
  4. 4. • 사소한 소스의 수정은 항상 이루어 진다—- “나는 100% 오류가 없을 것이다~”• 하지만 빌드 중 ERROR 자주 발생.- 수정 후 다시 재 컴파일• 악순홖의 반복이다.
  5. 5. • 어느 순간 부터 ….…• 빌드 중 코드 수정을 앆 하게 됨.• 인터넷을 보거나 멍.• 일의 능률 저하.
  6. 6. 빌드(컴파일)시간 단축 작업효율 상승
  7. 7. 빌드 시간을 단축시키자
  8. 8. 하드웨어 업그레이드• SSD 하드.• 8기가 이상의 램• 윈도우7 64BIT• QuadCore 이상의 CPU
  9. 9. 하지만 현실은…• 7200 rpm 일반 하드• 2기가 램. (램이 후달리네….)• 윈도우7 64BIT• Core2Duo
  10. 10. 2기가 램 -> 10기가 램젂체적인 컴파일 속도 향상디버그 모드에서 게임 로딩속도 향상그로 인해 작업능률 향상• 컴퓨터 기본사양을 올리자!!
  11. 11. 미리 컴파일 된 헤더 사용• 변하지 않는 고정적인 헤더에 대해서 컴파 일 시간을 줄이고자 하기 위해 사용한다.• 말 그대로 미리 컴파일 해놓고 사용하는 거다.• pch 라는 파일이 생성 되는데 컴파일러는 이를 참조하여 프로젝트의 컴파일을 수행 한다.
  12. 12. 어떤 파일을 포함?• 어떤 파일을 포함시키는가에 젂체적인 컴 파일 속도를 결정한다.• 게임엔진• 라이브러리 (stl, boost 등)• 내용이 자주 수정되지 않는 헤더파일.
  13. 13. 코드의 종속성• 불필요한 헤더 파일이 복잡하게 포함되는 것을 방지하며, 젂체적인 빌드 속도를 향 상 시켜준다.• 참조하려는 헤더파일이 변경되어도 참조 하는 헤더파일에서는 재 컴파일이 일어나 지 않는다.
  14. 14. • h파일에 #include 를 하지 말자.• cpp파일에 필요한 #include 를 사용 하자.• 헤더파일 포함보다 젂방선언을 사용하자.• 참조하려는 클래스를 포인터 형으로 선언 하는 경우에만 사용 할 수 있다. 클래스의 상속, 포인터 형이 아닌 객체로 생성하는 경우 등에서는 젂방선언 방식을 사용 할 수 없다.
  15. 15. 멀티코어 빌드• 다수의 프로세서를 홗용해서 빠른 속도로 빌드할 수 있는 컴파일 옵션.• /Gm 다중처리와 호홖되지 않는다.• /MP[processMax]
  16. 16. 빌드를 분산 시키자• IncrediBuild• 컴파일 속도를 개선하기 만들어진 네트워 크 분산 빌딩 시스템.• 대용량의 소스코드를 여러 대의 PC에 분 산하여 빌드하는 것이다.
  17. 17. • 분산 빌드하는 PC가 많을수록 BuildTime 이 단축 된다.
  18. 18. Unity Build• http://www.slideshare.net/devcatpublicati ons/ndc2010-unity-build• NDC 2010 송창규님 의 발표자료.
  19. 19. • 대규모 프로젝트에서 효율적인 빌드 기법.• IncrediBuild 와 같이 사용하면 효과 극대 화.• 프로젝트에 적용. 30 ~ 40분 6분
  20. 20. 단점.• 해당 소스파일이 클 경우에는 오류가 발생 한다.- 다수의 cpp파일에 소스를 분홗 시킨다.• 전역/static 함수나 변수의 이름이 중복 될 수 없다.- 변수 선언 시 젂체검사로 중복되는 변수 명이 있는지 체크 후 사용한다.
  21. 21. • Include 링크 오류를 조심해라.- Commit 이나 배포시 디버그, 릯리즈 모드 로 빌드를 해서 확인 한다.• 새로운 파일 추가/삭제 시 다시 재설정 해 주어야 한다.- .bat 파일을 만들어서 한번의 클릭으로 빌 드 파일 자동생성.
  22. 22. 머가 이렇게 꼼꼼하지?• 하지만 사용해보면 이 꼼꼼함 보다 빌드시 간이 단축되어서 생기는 효율이 더 크다.
  23. 23. 정리- 하드웨어 사양 업그레이드- 미리 컴파일 된 헤더 사용- 코드의 종속성 없애기- 멀티코어 빌드 사용- Unity Build- Incredi Build- 최고의 빌드 속도 빠빰~~~
  24. 24. END
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×