fix: make flow name retrieval efficient #414
Merged
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.
This PR will make
cocoindex ls
command way more efficient than before, and fix #412.Context
In the previous versions, we tried to access each Flow’s name property in the list comprehension:
The name property of a Flow is defined as:
Each call to
self._lazy_engine_flow()
triggers the creation of the underlying_engine.Flow
if it hasn’t been built yet. Till now, you can see we have done a lot of unnecessary jobs here, since only we need here is to retrieve flow names.Solution
We use the helper now to quickly get flow names as a list.
Result
Compared to the result in #412, now we've made it 10 times faster.