Repolode
kunobi-ninja

kunobi-ninja/kache

Cache de compilação para Rust, C/C++ e CUDA que reutiliza resultados de build entre worktrees e execuções de CI, evitando recompilações.

Estrelas
1,371
Forks
73
Issues abertas
30
Último commit
há 2 horas

O que é?

Kache é um cache de compilação que armazena resultados de build indexados pelas entradas, pela toolchain e pelas configurações de build, e os reutiliza quando uma compilação posterior produz a mesma chave. Ele oferece suporte a Rust, C/C++ e compilações CUDA de arquivo único no Linux, macOS e Windows, e permite compartilhar resultados entre worktrees do Git e execuções de CI.

Bytes de saída idênticos são armazenados uma única vez, dentro de um limite de espaço em disco. Em sistemas de arquivos compatíveis com clonagem copy-on-write, os resultados restaurados compartilham blocos de disco com o cache. Compilações com a mesma chave de cache compartilham uma única build em andamento, e o escalonador controla o ritmo dos processos do compilador.

O cache local funciona de forma independente. O armazenamento remoto pode ser compatível com S3, Google Cloud Storage, um sistema de arquivos compartilhado ou um registro OCI. Comandos como `kache explain` informam por que um build não foi encontrado no cache, e invocações de compilador não compatíveis são executadas normalmente.

Recursos principais

  • 01Restaura do cache resultados de compilação compatíveis de Rust, GCC, Clang e CUDA.
  • 02Armazena saídas idênticas uma única vez, respeitando um limite de espaço em disco configurável.
  • 03Usa clonagem copy-on-write para compartilhar blocos de disco em sistemas de arquivos compatíveis.
  • 04Compartilha builds em andamento quando as chaves de cache correspondem.
  • 05Oferece suporte a S3, Google Cloud Storage, sistemas de arquivos compartilhados e registros OCI como armazenamento remoto.
  • 06Explica falhas de cache com `kache explain` e permite acompanhar a atividade ao vivo com `kache monitor`.

Casos de uso

  • Acelerar builds repetidos de Rust em várias worktrees do Git do mesmo repositório.
  • Compartilhar artefatos compilados entre execuções de CI usando um cache remoto.
  • Reduzir o uso de disco quando várias worktrees compilam a mesma árvore grande de dependências.
  • Armazenar em cache compilações de C/C++ ou CUDA em projetos construídos com Make ou CMake.

Início rápido

  1. 1

    Instale o Kache v2.0.0 com Cargo

    cargo install kache --locked --version 2.0.0
  2. 2

    Ative o Kache nas suas ferramentas de build (as alterações são exibidas antes de serem aplicadas)

    kache init
  3. 3

    Verifique a configuração com uma sondagem local

    kache doctor --probe

Antes de usar

  • A instalação com Cargo requer Rust 1.95 ou posterior.
  • Executáveis Rust e execuções de build scripts são armazenados em cache por padrão apenas no Linux e no macOS; o cache no Windows é mais limitado.

Tópicos

#build-cache#rust#compiler-cache#ci#hardlinks#s3#c-cpp#cuda#caching#developer-tools

Perguntas frequentes

O que é kache?
Cache de compilação para Rust, C/C++ e CUDA que reutiliza resultados de build entre worktrees e execuções de CI, evitando recompilações. Kache é um cache de compilação que armazena resultados de build indexados pelas entradas, pela toolchain e pelas configurações de build, e os reutiliza quando uma compilação posterior produz a mesma chave. Ele oferece suporte a Rust, C/C++ e compilações CUDA de arquivo único no Linux, macOS e Windows, e permite compartilhar resultados entre worktrees do Git e execuções de CI.
kache é gratuito? Qual é a licença?
kache é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
kache ainda é mantido?
Manutenção ativa. O último commit de kache foi em 7 de nov. de 2026.
Para que posso usar kache?
Acelerar builds repetidos de Rust em várias worktrees do Git do mesmo repositório. Compartilhar artefatos compilados entre execuções de CI usando um cache remoto. Reduzir o uso de disco quando várias worktrees compilam a mesma árvore grande de dependências. Armazenar em cache compilações de C/C++ ou CUDA em projetos construídos com Make ou CMake.
Como instalar kache?
Instale o Kache v2.0.0 com Cargo: cargo install kache --locked --version 2.0.0 Ative o Kache nas suas ferramentas de build (as alterações são exibidas antes de serem aplicadas): kache init Verifique a configuração com uma sondagem local: kache doctor --probe
Onde consigo kache?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kunobi-ninja/kache

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados