kache-core 1.1.1

Core planner data structures and algorithms for kache.
Documentation

kache-core

crates.io docs.rs

Planner data types for Kache, a compiler cache for Rust, C/C++ and CUDA. The Kache client and the planner service both build on them.

What it provides

  • BuildIntent: the crates, Cargo.lock dependencies and identity key of a build, which the client sends to a planner.
  • PrefetchPlan and PrefetchCandidate: the ranked entries a planner suggests downloading before rustc asks for them.
  • PlanLimits: per-source caps that stop one low-confidence source from crowding out better candidates.
  • PlannerDataSource: the trait a planner implements to answer a build intent.
  • timeline: build timeline records, one per build session, with every time in Unix epoch milliseconds and no filesystem paths.

Features

Feature Default Adds
planning yes PlannerDataSource, dispatch_sort_key and the plan composition helpers

Without planning, the crate has the serializable types only and depends on nothing but Serde.

Versioning

Released with Kache under the same version number. The minimum Rust version is 1.93.

License

Apache-2.0