Repolode
kunobi-ninja

kunobi-ninja/kache

Una caché de compilación para Rust, C/C++ y CUDA que restaura resultados de compilación coincidentes entre worktrees y ejecuciones de CI, en lugar de volver a compilarlos.

Estrellas
1,371
Forks
73
Issues abiertos
30
Último commit
hace 4 horas

¿Qué es?

Kache es una caché de compilación que almacena resultados según sus entradas, la cadena de herramientas y la configuración de compilación, y los restaura cuando una compilación posterior genera la misma clave. Está dirigida a compilaciones de Rust, C/C++ y CUDA de un solo archivo fuente en Linux, macOS y Windows, y permite compartir el trabajo entre worktrees de git y ejecuciones de CI.

Los bytes de salida idénticos se almacenan una sola vez dentro de un límite de espacio en disco. En sistemas de archivos con clonación copy-on-write, los resultados restaurados comparten bloques de disco con la caché. Las compilaciones con la misma clave de caché comparten una única compilación en curso, y el planificador regula el ritmo de los procesos del compilador.

La caché local funciona por sí sola. El almacenamiento remoto puede ser compatible con S3, Google Cloud Storage, un sistema de archivos compartido o un registro OCI. Comandos como `kache explain` indican por qué no hubo acierto en la caché, y las invocaciones de compilador no compatibles se ejecutan con normalidad.

Funciones clave

  • 01Restaura desde la caché resultados de compilación de Rust, GCC, Clang y CUDA que cumplan los requisitos.
  • 02Almacena una sola vez los resultados idénticos dentro de un límite de espacio en disco configurable.
  • 03Usa clonación copy-on-write para compartir bloques de disco en sistemas de archivos compatibles.
  • 04Comparte compilaciones en curso cuando coinciden las claves de caché.
  • 05Admite S3, Google Cloud Storage, sistemas de archivos compartidos y registros OCI como almacenamiento remoto.
  • 06Explica los fallos de caché con `kache explain` y muestra información en tiempo real con `kache monitor`.

Casos de uso

  • Acelerar compilaciones repetidas de Rust en varios worktrees de git del mismo repositorio.
  • Compartir artefactos compilados entre ejecuciones de CI mediante una caché remota.
  • Reducir el uso de disco cuando varios worktrees compilan el mismo árbol grande de dependencias.
  • Almacenar en caché compilaciones de C/C++ o CUDA en proyectos que usan Make o CMake.

Inicio rápido

  1. 1

    Instala Kache v2.0.0 con Cargo

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

    Activa Kache para tus herramientas de compilación (muestra los cambios antes de aplicarlos)

    kache init
  3. 3

    Comprueba la configuración con una prueba local

    kache doctor --probe

Antes de usarlo

  • La instalación con Cargo requiere Rust 1.95 o posterior.
  • Los ejecutables de Rust y las ejecuciones de build scripts se almacenan en caché de forma predeterminada solo en Linux y macOS; el almacenamiento en caché en Windows es más limitado.

Temas

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

Preguntas frecuentes

¿Qué es kache?
Una caché de compilación para Rust, C/C++ y CUDA que restaura resultados de compilación coincidentes entre worktrees y ejecuciones de CI, en lugar de volver a compilarlos. Kache es una caché de compilación que almacena resultados según sus entradas, la cadena de herramientas y la configuración de compilación, y los restaura cuando una compilación posterior genera la misma clave. Está dirigida a compilaciones de Rust, C/C++ y CUDA de un solo archivo fuente en Linux, macOS y Windows, y permite compartir el trabajo entre worktrees de git y ejecuciones de CI.
¿kache es gratuito? ¿Qué licencia tiene?
kache es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿kache sigue mantenido?
Mantenimiento activo. El último commit de kache fue el 7 nov 2026.
¿Para qué puedo usar kache?
Acelerar compilaciones repetidas de Rust en varios worktrees de git del mismo repositorio. Compartir artefactos compilados entre ejecuciones de CI mediante una caché remota. Reducir el uso de disco cuando varios worktrees compilan el mismo árbol grande de dependencias. Almacenar en caché compilaciones de C/C++ o CUDA en proyectos que usan Make o CMake.
¿Cómo se instala kache?
Instala Kache v2.0.0 con Cargo: cargo install kache --locked --version 2.0.0 Activa Kache para tus herramientas de compilación (muestra los cambios antes de aplicarlos): kache init Comprueba la configuración con una prueba local: kache doctor --probe
¿Dónde consigo kache?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kunobi-ninja/kache

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados