Fixes a performance regression where running tuist xcode-cache on runner VMs was slower than building with no cache at all (212-227s cached vs 193s no-cache). The CAS daemon was recording analytics for every operation via synchronous SQLite writes that blocked Swift-concurrency cooperative-pool threads, so cache fetches measured ~153ms per operation for ~30KB payloads whose wire time is ~1ms. Analytics writes are now buffered in memory and flushed in batches from a dedicated utility queue, with a 1s timer and a 128-row threshold, so disk-backed writes no longer contend with daemon request handling and the cached build path becomes net-positive on runner VMs.
Hive
Faster xcode-cache builds on runner VMs by decoupling CAS analytics writes
Published
Jul 03, 2026 · 08:54 UTC
Repository
tuist/tuist