Better performance lineage chunk_number assignment
#1000
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.
What is the problem / what does the code in this PR do
First get the efficiency of the above codes:
The most significant part is
This is because when
chunk_numberis not None, strax before this PR will not cache plugins, so every time building the lineage of a higher plugin, the__get_pluginwill be called.Can you briefly describe how it works?
This PR makes sure that whenever
chunk_numberis None or not, the plugin (whose lineage does not includechunk_number) is cached. Then I designed a dedicated function to assign thechunk_numberin lineage afterwards.Can you give a minimal working example (or illustrate with a figure)?
Please include the following if applicable:
Please make sure that all automated tests have passed before asking for a review (you can save the PR as a draft otherwise).