Hive Hive
Sign in

CAS and key-value analytics are batched off the cooperative pool

Metadata
Source
GitHub
Version
4.202.0-canary.33
Domains
Published
Jul 03, 2026 · 08:54 UTC
Repository
tuist/tuist
Update

Faster CAS cache fetches under build contention. Analytics writes from the CAS daemon and key-value store no longer block the Swift concurrency pool that services fetches: rows are buffered in memory and flushed in batches on a dedicated utility queue (1s timer or 128 rows). A staging A/B showed per-op cache latency dropping from ~153.9 ms toward the unloaded ~5-15 ms band, turning a warm xcode-cache build from a net-negative 212-227 s back below the 193 s no-cache baseline. The build-report uploader also runs a truncating WAL checkpoint so the copied .db still contains every flushed row, and reads flush synchronously to preserve read-after-write. A killed daemon can now lose at most the final unflushed second, instead of whatever detached write tasks had not run.