Сократите время компиляции, восстановив кэшированные артефакты компилятора локально и удаленно
Ускорьте сборки, восстанавливая кэшированные артефакты компилятора для Rust, C/C++ и CUDA, используя хранилище с адресацией по содержимому и удаленные бэкенды. Kache от Zondax AG интегрируется в Cargo через RUSTC_WRAPPER и поддерживает хранилища S3, GCS и OCI. Он нацелен на разработчиков и инженеров DevOps, которым нужны более быстрые локальные разработки и CI/CD процессы, предлагая автоматическую сборку мусора и надежную экстракцию для поддержания кэшей надежными и экономящими место.
Как kache повторно использует предыдущие выходные данные сборки для сокращения компиляции
Kache хранит выходные данные компилятора в локальном или удаленном хранилище с адресацией по содержимому и восстанавливает соответствующие артефакты вместо повторного запуска компилятора. Он поддерживает компиляторы Rust, C/C++ и CUDA и действует как RUSTC_WRAPPER для рабочих процессов Cargo. Этот дизайн означает, что идентичные входные данные компиляции возвращают один и тот же артефакт из кэша, что является механизмом, который снижает повторную работу компиляции как на машинах разработчиков, так и на CI-раннерах.
Как это влияет на системные ресурсы во время нормальной работы
Операции кэша поддерживают эффективное использование диска через дедупликацию и автоматическую сборку мусора, так что локальное хранилище не растет бесконечно. Удаленные бэкенды перемещают артефакты с хоста на S3, GCS или OCI реестры, что снимает нагрузку на хранилище с машин разработчиков. Инструмент читает и восстанавливает артефакты, а не перестраивает их, так что ЦП и ввод-вывод во время компиляции экономятся при попаданиях в кэш.
Безопасно ли работает kache в средах сборки
Укрепленная извлечение предотвращает обход путей и связанные риски, что является явной мерой безопасности в инструменте. Для операций, которые извлекают и распаковывают артефакты, kache применяет проверки безопасного обращения перед записью файлов в рабочее пространство. Эти меры делают его подходящим для CI/CD-раннеров и общих кэшей, где ненадежные входные данные в противном случае могут перезаписать чувствительные пути.
Насколько технически сложна установка и повседневное использование
Установка и интеграция предполагают знакомство разработчиков с инструментальными цепочками. В Windows он поддерживает clang-cl и требует Rust 1.95 или новее при использовании с Cargo. Разработчики инициализируют обертку один раз и продолжают использовать стандартные команды cargo, так что повседневное использование ориентировано на командную строку и нацелено на инженеров и сотрудников DevOps, а не на нетехнических участников.
Практическое ускорение для команд, сосредоточенных на сборке, с одной заметной оговоркой совместимости
Kache подходит инженерам, которые управляют сборками Rust, C/C++ или CUDA и хотят предсказуемые кэш-попадания через адресованное по содержимому хранилище и облачные бэкенды. Его проверки безопасности и сборка мусора делают его подходящим для совместных CI-сред. Основной компромисс — поддержка компилятора Windows: он не кэширует компилятор MSVC cl.exe, что ограничивает ценность для команд, которые полагаются на этот инструмент.