Optimizing Gazelle for Scale and Performance in Uber's Monorepo
summary
Monorepo with ~1,000,000 files and ~10,000 commits/week forces Gazelle to stop scaling so the team converts global indexing to conventions to avoid index, makes Gazelle incremental at O(size of change) so most runs touch only the changed directory, profiles and fixes binary hotspots, and ships a pre-built Gazelle binary via Bazel. Results: CI p75 drop from ~+300s to ~10s, local p95 from ~30s to ~10s, and Gazelle on the CI critical path falls from 40% to ~5%.
AI-written summary · about
related talks
48mMobile Developer Productivity at Scale
42mMake local development (with Bazel) great again!
12mHow Uber Manages Go Dependencies with Bzlmod
31mBazel: Do We Really Need Another Build Tool?
34mSponsored Session: Sustaining Git Performance Under Heavy Workloads
28mRedesigning Gopls for 10x scale
41m"Redesigning Gopls for 10x Scale"
39mMobile Developer Productivity Panel
