The Lazy Graph, or How We Optimized App Startup
summary
Explains making the dependency graph lazy to speed app startup: describes what a dependency graph is, why laziness helps, and concrete strategies for lazy initialization (trade-offs, pitfalls and fixes). Presents real-world experience and results from introducing lazy DI in the Tinkoff mobile banking app, aimed at middle/senior developers familiar with Dependency Injection.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 2:37What is dependency graph
- 6:20Synchronous graph init
- 8:08Lazy model benefits
- 10:19Fully lazy graph
- 14:16Inject time analysis
- 17:30Sync inject problems
- 18:54Sub components in Dagger
- 21:05Lazy init Holder
- 22:31Test app results
- 23:59Real project results
- 26:05Refactoring Offers
- 28:35Lazy init conclusions
- 31:05Graph integrity testing
- 31:48Lazy init interface optimizations
- 34:23Custom MAN DI interfaces
- 35:47Lazy init tool choice
- 36:08Final strategy recommendations
- 39:02Q&A
related talks
17mAchieving Loose Coupling with Pure Dependency
40mFundamentals of Dependency Injection
46mSlaying Sacred Cows: Deconstructing Dependency Injection
26mDependency Management in Clojure
30mThe Imposter’s Guide To Dependency Injection
28mMotif - An Opinionated Dependency Injection API for Deep Graphs
41mAchieving Loose Coupling with Pure Dependency Injection
28mKnowledge Graph of Your IT Landscape: Code Is Graph Data
