로컬 및 원격으로 캐시된 컴파일러 아티팩트를 복원하여 컴파일 시간을 단축하세요.
Rust, C/C++, 및 CUDA에 대한 캐시된 컴파일러 아티팩트를 복원하여 빌드를 가속화하고, 콘텐츠 주소 지정 스토리지 및 원격 백엔드를 사용합니다. Zondax AG의 Kache는 RUSTC_WRAPPER를 통해 Cargo에 연결되며 S3, GCS 및 OCI 스토리지를 지원합니다. 이는 더 빠른 로컬 개발 및 CI/CD 실행이 필요한 개발자 및 DevOps 엔지니어를 대상으로 하며, 캐시를 신뢰할 수 있고 공간 효율적으로 유지하기 위해 자동 가비지 수집 및 강화된 추출을 제공합니다.
kache가 이전 빌드 출력을 재사용하여 컴파일 시간을 단축하는 방법
Kache는 콘텐츠 주소 지정 로컬 또는 원격 저장소에 컴파일러 출력을 저장하고 컴파일러를 다시 실행하는 대신 일치하는 아티팩트를 복원합니다. Rust, C/C++ 및 CUDA 컴파일러를 지원하며 Cargo 워크플로우에 대한 RUSTC_WRAPPER로 작동합니다. 이러한 설계는 동일한 컴파일 입력이 캐시에서 동일한 아티팩트를 반환하도록 하여 개발자 머신과 CI 러너 모두에서 반복적인 컴파일 작업을 줄이는 메커니즘입니다.
정상 작동 중 시스템 리소스에 미치는 영향
캐시 작업은 중복 제거 및 자동 가비지 수집을 통해 디스크 사용을 효율적으로 유지합니다, 따라서 로컬 저장소는 무한히 증가하지 않습니다. 원격 백엔드는 아티팩트를 호스트에서 S3, GCS 또는 OCI 레지스트리로 이동시켜 저장소 압력을 개발자 머신에서 멀리 이동시킵니다. 이 도구는 아티팩트를 읽고 복원하며, 다시 빌드하는 대신 캐시 적중 시 CPU와 컴파일 시간 I/O를 절약합니다.
kache가 빌드 환경에서 안전하게 작동하는지 여부
하드닝된 추출은 경로 탐색 및 관련 위험을 방지합니다, 이는 도구의 명시적인 보안 조치입니다. 아티팩트를 가져오고 압축을 푸는 작업에 대해 kache는 작업 공간에 파일을 쓰기 전에 안전한 처리 검사를 적용합니다. 이러한 제어는 신뢰할 수 없는 입력이 민감한 경로를 덮어쓸 수 있는 CI/CD 러너 및 공유 캐시에 적합하게 만듭니다.
설정 및 일상 사용의 기술적 수준
설치 및 통합은 개발자가 도구 체인에 익숙할 것으로 기대합니다. Windows에서는 clang-cl을 지원하며 Cargo와 함께 사용할 때 Rust 1.95 이상이 필요합니다. 개발자는 래퍼를 한 번 초기화하고 표준 cargo 명령을 계속 사용하므로 일상 사용은 명령줄 중심이며 비기술적 기여자보다는 엔지니어 및 DevOps 직원에게 초점을 맞춥니다.
빌드 중심 팀을 위한 실용적인 가속, 단 하나의 주목할 만한 호환성 caveat
Kache는 Rust, C/C++ 또는 CUDA 빌드를 관리하고 콘텐츠 주소 지정 스토리지 및 클라우드 백엔드를 통해 예측 가능한 캐시 적중을 원하는 엔지니어에게 적합합니다. 보안 검사 및 가비지 수집 기능 덕분에 공유 CI 환경에 적합합니다. 주요 단점은 Windows 컴파일러 지원입니다: MSVC cl.exe 컴파일러를 캐시하지 않기 때문에 해당 툴체인에 의존하는 팀에게는 가치가 제한됩니다.