Notes
- Each runtime benchmark creates and initializes the same generated graph.
-
The Koin benchmarks deserve a couple notes because the work is not exactly like-for-like:
- Koin's compiler plugin does less work. It aggregates definitions, generates module and factory wiring, and checks for missing dependencies and cycles, but leaves final graph resolution to runtime. Metro, Dagger, and kotlin-inject resolve and validate graphs from their roots and generate static implementations at compile time.
- Koin's runtime does more work as a result. The graph work deferred during compilation happens during startup.