위키득계정 ↗
기술

Sccache

Sccache기술
전체 이름
Shared Compilation Cache
주요 역할
컴파일러 래퍼와 결과 캐시
지원 대상
C C++ Rust CUDA 등
기본 저장 방식
로컬 디스크
Sccache는 컴파일러 호출을 감싸 결과를 캐시하는 도구다. C와 C++ 및 Rust 등의 컴파일을 지원하며 로컬 디스크나 원격 저장소에 결과를 두고 필요하면 분산 컴파일도 구성할 수 있다.

컴파일러 앞에서 결과 재사용하기

컴파일 명령 앞에 래퍼를 두어 이전 결과를 사용할 수 있는지 확인한다. Rust에서는 Cargo의 컴파일러 래퍼 설정으로 연결할 수 있다. 필요한 컴파일을 실제 도구에 맡기면서 재사용 가능한 결과의 중복 생성을 줄이는 방식이다.

로컬 서버와 원격 저장

같은 기계에서 클라이언트와 서버가 동작하고 서버는 일부 상태를 메모리에 유지한다. 로컬 디스크 외에 S3와 Redis, 여러 클라우드 저장소 등의 백엔드를 제공한다. 여러 단계의 캐시와 자동 채우기도 지원하며 통계로 캐시 동작을 확인할 수 있다.

캐시와 분산 컴파일의 구분

결과 캐시는 이미 수행한 컴파일을 재사용하는 기능이다. 분산 컴파일은 도구 체인을 묶어 빌드 서버에서 새 작업을 수행하는 기능으로 인증과 전송 암호화, 서버 측 격리를 포함한다. 두 기능은 함께 사용할 수 있지만 원격 캐시를 연결했다고 모든 컴파일이 원격에서 실행되는 것은 아니다.

관련 문서

Ccache / Rust / Cargo / CMake / 컴파일러 / 캐시