~/talk

How we brought down our build times. Modularization impact on build speeds and metrics

Talkat droidcon New York 2022 · 2022-09-01..09-02· [android, developer-experience]
links:none on file
slides:none on file

Pinterest modularization increases parallel compilation but P95 builds jump from ~9m to 14m due to thermal throttling and unnecessary recompiles; experiments with 1/8/16 threads show little gain after a point and heavy parallelism worsens durations. Using Gradle Enterprise and build scans identifies causes: base module lines double and compile time triples, 52 of top‑100 edited files live near the dependency bottom, nondeterministic generated files and jettifier churn, and rapid eviction of the remote build cache. Results: P50 → 26s (60% faster), P95 → 6m28s (70% faster).

AI-written summary · about

  1. 0:00Introduction and agenda
  2. 1:57About Pinterest and our mission
  3. 3:01Build times before and after
  4. 5:11Areas of investigation
  5. 7:20Gradle Enterprise overview
  6. 7:41Modularization expectations and reality
  7. 10:33Thermal throttling impact
  8. 13:04Parallelization limits and learnings
  9. 13:25Frequently modified files analysis
  10. 15:49Dependency graph impact on builds
  11. 17:13Common build scenarios
  12. 20:24Cache reuse challenges
  13. 23:12Remote cache eviction issues
  14. 25:41Importance of build metrics
  15. 26:03Base module recompilation metric
  16. 27:06Non-cache compilation time metric
  17. 28:10Cache regression tracking
  18. 28:52Remote cache artifact eviction metric
  19. 30:20Gradle profile runs for regressions
  20. 32:07M1 laptop distribution impact
  21. 32:49Results and improvements achieved
  22. 33:31Next steps and future plans
  23. 34:12Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.