스칼라 컴파일 속도 빠르게 하기
백엔드
스칼라 컴파일 속도 빠르게 하기
두줄요약
스칼라 서버의 컴파일 속도를 개선한 방법을 공유했습니다. typeclass 위치 조정과 build pipelining 적용으로 빌드 시간을 줄이고 주의점도 정리했습니다.
문제 상황
- 스칼라 프로젝트 규모 증가로 컴파일 속도 저하 발생
- typeclass 인스턴스 검색과 build pipelining 제약이 주요 개선 대상
원인 분석
- implicit 탐색 비용이 typer 페이즈 시간을 크게 차지
- 매크로와 사용자 정의 코드 의존성은 pipelining 적용을 제한
해결 방법
- typeclass 인스턴스를 companion object에 배치해 검색 범위 축소
- build pipelining 활성화로 서브 프로젝트 간 병렬 컴파일 확보
- 필요 시 exportPipelining 조정으로 순차 컴파일 구간 분리
성능/운영 포인트
- typer 및 implicits 검색 시간 감소 확인
- 서브 프로젝트 컴파일 시간 약 65초에서 45초로 개선
- 전체 프로젝트 컴파일 속도 약 1.22배 향상
