Successfully reported this slideshow.
Your SlideShare is downloading. ×

빌드 속도를 올려보자

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 30 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to 빌드 속도를 올려보자 (20)

빌드 속도를 올려보자

  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

×