-
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
[MRG] implement a lazy/on-demand Index
loading class
#1661
Conversation
Codecov Report
@@ Coverage Diff @@
## latest #1661 +/- ##
==========================================
+ Coverage 82.22% 89.68% +7.46%
==========================================
Files 113 86 -27
Lines 11704 8031 -3673
Branches 1478 1483 +5
==========================================
- Hits 9624 7203 -2421
+ Misses 1820 568 -1252
Partials 260 260
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
Ready for review & merge @sourmash-bio/devs! |
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.
lgtm!
This PR implements
indexLazyLoadedIndex(...)
which takes the location of an index + and a manifest, and only opens the index when signatures are needed. In particular,select
calls are performed on the manifest, and then on index load the manifest is used as a picklist to select out the signatures to be loaded.In brief, this supports low memory tracking of a large index without needing to keep the Index object itself in memory.
(Code originally developed over in #1619)