The Lock That Disappears: How rustc Deletes Every Atomic From a Single-Threaded Build
rustc picks its locking strategy at compile time from the thread count, so a single-threaded build pays zero atomics for every cache shard and every mutex.
rustc picks its locking strategy at compile time from the thread count, so a single-threaded build pays zero atomics for every cache shard and every mutex.
rustc’s query caches come in four shapes, selected per query key type: a OnceLock for unit keys, a bucketed VecCache with an atomic index-and-lock word, a local/foreign hybrid, and …
Incremental compilation in rustc re-runs queries and compares fingerprints; the interesting parts are the reversible fingerprints, the no_hash escape hatch and the probabilistic …
The color map of rustc’s incremental compiler encodes green, red and unknown in one u32, and hides the current-session index inside the green case.