-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DynamicAtlas improvements: Multi-Atlas loading and hotspots #208
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great optimization, thanks @matthieun! I'm wondering if there's any way we can test this behavior. From the current implementation - that doesn't look possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Staying consistent with our offline conversation - let's add a field in the DynamicAtlas that can keep track of the number of MultiAtlases built, so we can debug and highlight the number of calls being made. We can then rely on this field (if we expose it) in a test to verify the optimization in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great improvements and tests, thanks @matthieun!
👍 |
Description:
Atlas performance improvements:
MultiAtlas
underpinning aDynamicAtlas
is already built from the same set of shards, avoid re-loading theMultiAtlas
.AbstractAtlas
to be faster.BareAtlas
Potential Impact:
DynamicAtlas
creation should be faster when working with indefinite expansion disabled, and deferred loading enabled, and expansion beyond the initial shard set is not necessary.Unit Test Approach:
DynamicAtlasPreemptiveLoadTest
PackedAtlasTest.testLocationContaining
Test Results:
All unit/integration tests pass. Raw Atlas Way Sectioning is 9x faster on average.
In doubt: Contributing Guidelines