[Fix] koin core coroutines loading in background #2303
Merged
+800
−70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Optimize Lazy Modules Loading with Parallel Initialization
Summary
This PR significantly improves Koin startup performance by enabling true parallel loading of lazy modules. Previously, lazy modules were loaded sequentially within a single coroutine, defeating the purpose of lazy loading. Now each lazy module loads in its own coroutine job, allowing concurrent
initialization.
This approach:
Solution
Core Fix (KoinApplicationLazyExt.kt:52-56)
Each lazy module now launches in a separate coroutine job, enabling true parallel initialization.
Added Multiplatform runBlocking Support (KoinPlatformCoroutinesTools):
Key Changes
Performance Optimization:
Multiplatform Support:
Benchmarks & Testing: