===== 컴파일 타임 측정하기 ===== C++은 컴파일 시간이 매우 느리다. 언리얼을 사용해 본 사람은 다들 느낄 것이다. 따라서 최적화가 꼭 필요하다. [[raylib:optimize:컴파일_타임_측정하기|컴파일 타임 측정하기]]를 통해 컴파일 시간을 측정해 보자 ===== 최적화 전 ===== [[raylib:flappybird:json_파일_저장_및_읽기|JSON 파일 저장 및 읽기]]의 소스파일을 그대로 컴파일 해보았다. 인클루드 포워딩을 하지 않은 상태에서 컴파일 시간은 2.15가 나왔다. 템플릿을 인스턴스화 하는데에 가장 많은 시간이 소요되었다. {{:raylib:optimize:스크린샷_2023-11-01_114831.png?600|Compiling Time Befor optimization}} ===== 최적화 ===== config.h 에 있던 다음 인클루드 코드를 config.cpp로 옮겼다. 굳이 선언 부분에서 참조할 필요가 없기 때문이다. #include #include #include "utils/json.hpp" 또한 헤더파일에서 raylib 함수를 이용하지 않는 경에는 raylib.h 인클루드 문을 실행코드 부분으로 옮겼다. 이렇게 하자 시간이 확실히 단축되었다. {{:raylib:optimize:스크린샷_2023-11-01_142818.png?600|최적화}} 컴파일된 실행파일의 크기도 9mb에서 8mb로 확 줄었다. ===== 목적 파일 살려두기 ===== 이건 2023. 11. 23. 업데이트한 내용이다. 기존에는 목적파일(*.o)를 만들자마자 지웠다. raylib에서 제공하는 makefile은 목적파일을 지운다. 그런데 makefile은 목적파일 보다 소스코드의 작성시간이 뒤이면 목적파일을 다시 만들지만, 소스코드의 변함이 없다면 목적 파일을 만들지 않는다. 따라서 목적파일을 살려두면 컴파일 시간을 확 줄일 수 있다. [[raylib:컴파일_및_makefile|컴파일 및 Makefile]]을 참조하자