Modularization
summary
Pinterest moves from a monolith to ~450 modules and sees surprising tradeoffs: caching gives 9x faster local builds (450s → 50s) and 3x faster clean builds with remote cache (9m → 3m), but parallel compilation triggers thermal throttling on older Intel laptops. Targeted fixes halve typical builds (P50 about 1m → 30s, P95 14m → 6m). Adding a shell app drops ~75% of modules for a ~40% build time reduction (P95 6m → 3m); watch for a large “hairball” node and unnecessary dependencies.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 3:43Why we started
- 6:59Early caching wins
- 8:47Thermal throttling
- 11:59Refocusing efforts
- 15:33Shell apps
- 19:06Test splitting
- 21:55iOS team learnings
- 28:16Key takeaways
- 30:02Q&A
related talks
39mMicro Modular Architecture with Bazel
41mMODULARIZATION HOW HARD CAN IT BE
36mModularization - How hard can it be?
27mModularising the right way
33mScaling Swift Development
30mA brief history and mishistory of modularity
29mA Brief History of Modularity
42mSplitting Monolithic Swift Code Base Into Modules
