Notes on types/traits used for in-memory query caching
When the word "cache" appears in the context of the query system, it often isn't obvious whether that is referring to the in-memory query cache or the on-disk incremental cache. For these types, we can assure the reader that they are for in-memory caching.
This commit is contained in:
parent
4a43094662
commit
623d6e8ca4
4 changed files with 42 additions and 5 deletions
|
@ -206,6 +206,19 @@ impl SlotIndex {
|
|||
}
|
||||
}
|
||||
|
||||
/// In-memory cache for queries whose keys are densely-numbered IDs
|
||||
/// (e.g `CrateNum`, `LocalDefId`), and can therefore be used as indices
|
||||
/// into a dense vector of cached values.
|
||||
///
|
||||
/// (As of [#124780] the underlying storage is not an actual `Vec`, but rather
|
||||
/// a series of increasingly-large buckets, for improved performance when the
|
||||
/// parallel frontend is using multiple threads.)
|
||||
///
|
||||
/// Each entry in the cache stores the query's return value (`V`), and also
|
||||
/// an associated index (`I`), which in practice is a `DepNodeIndex` used for
|
||||
/// query dependency tracking.
|
||||
///
|
||||
/// [#124780]: https://github.com/rust-lang/rust/pull/124780
|
||||
pub struct VecCache<K: Idx, V, I> {
|
||||
// Entries per bucket:
|
||||
// Bucket 0: 4096 2^12
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue