컴파일러 앞에서 결과 재사용하기
컴파일 명령 앞에 래퍼를 두어 이전 결과를 사용할 수 있는지 확인한다. Rust에서는 Cargo의 컴파일러 래퍼 설정으로 연결할 수 있다. 필요한 컴파일을 실제 도구에 맡기면서 재사용 가능한 결과의 중복 생성을 줄이는 방식이다.
로컬 서버와 원격 저장
같은 기계에서 클라이언트와 서버가 동작하고 서버는 일부 상태를 메모리에 유지한다. 로컬 디스크 외에 S3와 Redis, 여러 클라우드 저장소 등의 백엔드를 제공한다. 여러 단계의 캐시와 자동 채우기도 지원하며 통계로 캐시 동작을 확인할 수 있다.
캐시와 분산 컴파일의 구분
결과 캐시는 이미 수행한 컴파일을 재사용하는 기능이다. 분산 컴파일은 도구 체인을 묶어 빌드 서버에서 새 작업을 수행하는 기능으로 인증과 전송 암호화, 서버 측 격리를 포함한다. 두 기능은 함께 사용할 수 있지만 원격 캐시를 연결했다고 모든 컴파일이 원격에서 실행되는 것은 아니다.