Notes
-
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.
-
Legend
- GC is time spent in garbage collection.
- MAD shows variation around the median.
- Half-run drift compares the first and second halves of the run.
- Outliers are samples more than 20% from the median. All ten samples remain included.