• Like
빌드 속도를 올려보자
Upcoming SlideShare
Loading in...5
×

빌드 속도를 올려보자

  • 3,747 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,747
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
24
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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