Fusing Bazel
summary
Company migrates Java builds to Bazel and reports large incremental speedups over Make while keeping most files on a fuse mount. They implement a POSIX‑style user‑defined extended attribute that exposes file digests so Bazel reads hashes instead of fetching full contents; microbenchmarks on 1500 files show much lower variance and far less data transferred. Environment: 9,000 modules, ~15,000 daily build invocations (~275,000 actions), 7.5M tests and a 6,000‑core remote farm; end‑to‑end gains are modest due to latency and extra round trips.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:26Who we are
- 2:29Dev environment challenges
- 4:54Why migrate to Bazel
- 6:01Performance gains with Bazel
- 7:04Optimizing file change detection
- 9:56Extended attributes for digests
- 12:45Implementation details
- 13:27Benchmarking improvements
- 14:32Limited improvements analysis
- 15:58Community impact and plans
- 17:24Upstreaming and Q&A
related talks
01h 01mIntroduction to Bazel
01h 31mBazel
20mAdopting Bazel in a quickly scaling organization
22mBazel
42mMake local development (with Bazel) great again!
25mInteroperating Bazel and Other Build Systems
38mBuilding Self Driving Cars with Bazel + Q&A
41mThe wait is over. How to successfully migrate to Bazel from Maven or Gradle
