사용자 도구

사이트 도구


raylib:optimize:컴파일_시간_줄이기
컴파일 시간 줄이기

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
raylib:optimize:컴파일_시간_줄이기 [2023/11/01 12:13] – 컴파일 시간 측정 방법 이거니맨raylib:optimize:컴파일_시간_줄이기 [2023/11/23 01:46] (현재) 이거니맨
줄 7: 줄 7:
 ===== 최적화 전 =====  ===== 최적화 전 ===== 
  
-[[raylib:json_파일_저장_및_읽기|JSON 파일 저장 및 읽기]]의 소스파일을 그대로 컴파일 해보았다. +[[raylib:flappybird:json_파일_저장_및_읽기|JSON 파일 저장 및 읽기]]의 소스파일을 그대로 컴파일 해보았다. 
  
 인클루드 포워딩을 하지 않은 상태에서 컴파일 시간은 2.15가 나왔다.  인클루드 포워딩을 하지 않은 상태에서 컴파일 시간은 2.15가 나왔다. 
줄 17: 줄 17:
  
  
 +===== 최적화 =====
 +
 +config.h 에 있던 다음 인클루드 코드를 config.cpp로 옮겼다. 굳이 선언 부분에서 참조할 필요가 없기 때문이다.
 +
 +<code raylib>
 +#include <iostream>
 +#include <fstream>
 +#include "utils/json.hpp"
 +</code>
 +
 +
 +또한 헤더파일에서 raylib 함수를 이용하지 않는 경에는 raylib.h 인클루드 문을 실행코드 부분으로 옮겼다. 
 +
 +이렇게 하자 시간이 확실히 단축되었다. 
 +
 +{{:raylib:optimize:스크린샷_2023-11-01_142818.png?600|최적화}}
 +
 +
 +컴파일된 실행파일의 크기도 9mb에서 8mb로 확 줄었다. 
 +
 +
 +===== 목적 파일 살려두기 ===== 
 +
 +이건 2023. 11. 23. 업데이트한 내용이다.
 +
 +기존에는 목적파일(*.o)를 만들자마자 지웠다. raylib에서 제공하는 makefile은 목적파일을 지운다.
 +
 +그런데 makefile은 목적파일 보다 소스코드의 작성시간이 뒤이면 목적파일을 다시 만들지만, 소스코드의 변함이 없다면 목적 파일을 만들지 않는다.
 +
 +따라서 목적파일을 살려두면 컴파일 시간을 확 줄일 수 있다. 
 +
 +[[raylib:컴파일_및_makefile|컴파일 및 Makefile]]을 참조하자 
raylib/optimize/컴파일_시간_줄이기.1698808381.txt.gz · 마지막으로 수정됨: 저자 이거니맨