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.
Description:
Started digging deeper into the package loadable code. In my dev environtment running in a virtualenv, which has ~200 packages, 0.5 of 0.74 seconds startup time were spend inside package_loadable 🤕
Added a cache and moving most checks into the event loop, we're doing a ton less I/O now and it's down to 0.04s on my machine, x12 improvement to check if packages need to be installed! If you are running Home Assistant from a slower disk, I expect an even better boost.
Now on my machine:
Home Assistant initialized in 0.44s
😎Checklist:
tox
. Your PR cannot be merged unless tests passIf the code does not interact with devices: