그냥 오늘 개발하면서.. spring-boot프로젝트 한번 켜고 테스트하는데 파일몇개 안되는 프로젝트인데도 40초(빌드제외)가 걸려서.. 너무 답답해서 속도를 올리기 위한 삽질을 좀 해봤습니다.
1. .gradle디렉터리를 램디스크 바꿈.
위는 제 블로그인데요 여기서 소개한 램디스크를 썼습니다.
램디스크 생성하고 꺼질 때 자동저장되게 해서 10GB의 용량을 잡아주었습니다. (덕분에 컴퓨터끄는시간이 3분정도 더 걸립니다...ㄷㄷ)
그리고 Users/name/.gradle 파일을 복사하고 정션으로 링크해주었습니다.
(오우.. 기존 파일 옮기는데만 20분이 걸렸습니다.. 용량은 7GB정도.. 윈도 탐색기복사가 넘 느려서 FastCopy란 프로그램을 썼습니다. (큐랑 버퍼사이즈 키워야 빠름))
빌드 및 dependency관련 속도가 빨라졌습니다.
근데 프로젝트시작하는데 40초가 걸리는건 마찬가지..
2. spring boot프로젝트의 프로퍼티에 debug=true 추가하고 실행하면 콘솔에 Conditional 매치 결과등이 나옵니다. 거기서 사용하지 않아도 되는 것들을 찾아서 dependency에서 지워줍니다. dependency에서 지울 수 없다면 프로퍼티에서 enabled=false으로 해당 기능을 정지시킵니다.
몇가지 없앴더니 20초대로 줄어들었습니다.
좀 낫습니다.
그런데 이보다 더 빠르게 하고싶은데..
소스를 뜯어고칠 차례인가 봅니다..
3. Visual Studio 활용법
CPU성능은 좋은데.. 빌드할 때 CPU성능을 100%활용하지 못하더라구요.. IO병목현상이라 생각되었습니다.
C:\Users\(이름)\AppData\Local\Temp 을 램디스크로 정션을 만들고 빌드했더니
모든 코어 100%로 사용하면서 빌드가 됩니다! 빌드 속도도 눈에띄게 향상되었네요~
(물론 컴파일옵션에서 /MP (멀티쓰레드 컴파일)을 설정해야합니다.)
지난번 쓴 글에 램디스크관련 글이 있습니다.
사용한 램디스크 :
반응형
'개발 및 운영 > 프로그래밍' 카테고리의 다른 글
[C++11] std::bind 로 unique_ptr 넘기기 (0) | 2019.09.04 |
---|---|
std::function 복사는 비싸다! (0) | 2019.09.04 |
C++ istream, streambuf 간단 구현 예제 (0) | 2019.07.19 |
EJBCA Java WS API 연결 (0) | 2019.07.10 |
C++ & AFX(MFC) 환경에서 사용자 정의 메세지 사용하면서 SendMessage으로 메세지 호출할 때 Run-Time Check Failure (0) | 2019.06.27 |
댓글