Слой управления KV-кэшем, который хранит, передаёт и повторно использует кэши внимания LLM между serving-движками, сокращая время до первого токена.
kunobi-ninja/kache
Кэш компилятора для Rust, C/C++ и CUDA, который восстанавливает готовые результаты сборки между worktree и запусками CI вместо повторной компиляции.
- Звёзды
- 1,369
- Форки
- 73
- Открытые issues
- 30
- Последний коммит
- 24 часа назад
Что это?
Kache — это кэш компилятора: он сохраняет результаты сборки, привязанные к исходным данным, toolchain и настройкам сборки, а затем восстанавливает их, если при следующей сборке получается тот же ключ. Поддерживаются Rust, C/C++ и компиляция CUDA из одного исходного файла на Linux, macOS и Windows; результаты можно использовать совместно между git worktree и запусками CI.
Одинаковые байты результатов хранятся только один раз в пределах заданного лимита дискового пространства. Файловые системы с поддержкой клонирования copy-on-write позволяют восстановленным результатам сборки использовать те же блоки диска, что и кэшу. Компиляции с одинаковым ключом кэша используют одну выполняющуюся сборку, а планировщик регулирует темп запуска процессов компилятора.
Локальный кэш работает самостоятельно. Для удалённого хранилища можно использовать совместимое с S3 хранилище, Google Cloud Storage, общую файловую систему или OCI registry. Команды вроде `kache explain` показывают, почему результат не был найден в кэше; неподдерживаемые вызовы компилятора выполняются в обычном режиме.
Ключевые возможности
- 01Восстанавливает из кэша результаты поддерживаемых компиляций Rust, GCC, Clang и CUDA.
- 02Хранит одинаковые результаты только один раз в пределах настраиваемого лимита дискового пространства.
- 03Использует клонирование copy-on-write, чтобы совместно использовать блоки диска в файловых системах с такой поддержкой.
- 04Объединяет выполняющиеся сборки с одинаковыми ключами кэша.
- 05Поддерживает S3, Google Cloud Storage, общие файловые системы и OCI registry в качестве удалённого хранилища.
- 06Помогает разобраться в промахах кэша с помощью `kache explain` и следить за работой кэша в реальном времени с помощью `kache monitor`.
Сценарии использования
- Ускорение повторных сборок Rust в нескольких git worktree одного репозитория.
- Совместное использование скомпилированных артефактов между запусками CI с помощью удалённого кэша.
- Сокращение использования диска, когда множество worktree собирают одно и то же большое дерево зависимостей.
- Кэширование компиляций C/C++ или CUDA в проектах, которые собираются с помощью Make или CMake.
Быстрый старт
- 1
Установите Kache v2.0.0 с помощью Cargo
cargo install kache --locked --version 2.0.0 - 2
Включите Kache для инструментов сборки (изменения будут показаны до применения)
kache init - 3
Проверьте настройку с помощью локального зондирования
kache doctor --probe
Что важно знать
- Для установки через Cargo требуется Rust 1.95 или новее.
- Исполняемые файлы Rust и запуски build script по умолчанию кэшируются только в Linux и macOS; возможности кэширования в Windows более ограничены.
Темы
Частые вопросы
- Что такое kache?
- Кэш компилятора для Rust, C/C++ и CUDA, который восстанавливает готовые результаты сборки между worktree и запусками CI вместо повторной компиляции. Kache — это кэш компилятора: он сохраняет результаты сборки, привязанные к исходным данным, toolchain и настройкам сборки, а затем восстанавливает их, если при следующей сборке получается тот же ключ. Поддерживаются Rust, C/C++ и компиляция CUDA из одного исходного файла на Linux, macOS и Windows; результаты можно использовать совместно между git worktree и запусками CI.
- kache можно использовать бесплатно? Какая у него лицензия?
- kache распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- kache всё ещё поддерживается?
- Активно поддерживается. Последний коммит в kache — 6 нояб. 2026 г..
- Для чего можно использовать kache?
- Ускорение повторных сборок Rust в нескольких git worktree одного репозитория. Совместное использование скомпилированных артефактов между запусками CI с помощью удалённого кэша. Сокращение использования диска, когда множество worktree собирают одно и то же большое дерево зависимостей. Кэширование компиляций C/C++ или CUDA в проектах, которые собираются с помощью Make или CMake.
- Как установить kache?
- Установите Kache v2.0.0 с помощью Cargo: cargo install kache --locked --version 2.0.0 Включите Kache для инструментов сборки (изменения будут показаны до применения): kache init Проверьте настройку с помощью локального зондирования: kache doctor --probe
- Где скачать kache?
- Исходный код и инструкции по установке — на GitHub: https://github.com/kunobi-ninja/kache
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Кроссплатформенная Lua-утилита для сборки C/C++ и многих других языков со встроенным менеджером пакетов.
SCons — инструмент сборки на Python: он определяет, что нужно пересобрать, и запускает необходимые команды.
Инструмент командной строки и расширение для Xcode, которые автоматически приводят код Swift к единому стилю.
Быстрый CLI-линтер для проверки имен каталогов и файлов по правилам, заданным в файлах .ls-lint.yml.
CLI на Swift, который преобразует логи сборки и тестов Xcode в формате xcactivitylog в JSON, HTML, трассировки Chrome и отчёты об ошибках.