-
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
how do we tell if an Index supports lazy/on-demand loading of signatures? #1895
Comments
interesting things to think about -
|
there is an interesting test that highlights some of the challenges here: LCA Databases are potentially very large in-memory databases. In #1837, we added manifest generating functionality to them by defining the But we still do not provide a manifest attribute for them because it's not possible to direct-load signatures quickly - you have to load the entire LCA database, then generate signatures. In #1891, we will add the ability to save a manifest for an LCA database to a separate file which will permit fast selection but not lazy loading of signatures from an LCA database. 🤯 whee! |
Note also for the record that A better way of doing this would be to support single-pass creation/loading of manifests and then use those manifests to do lazy loading from zipfiles etc. |
💭 can we/should we directly support a |
I think that the discussion around standalone manifests (#3023 and related) renders this moot: between zip files and standalone manifests, we have the right functionality implemented to support this. The things that don't support this - LCA JSON files, directories, and pathlists - are slowly being deprioritized in the documentation (see #3027). Finally, if we switch to outputting |
(I think I'm going to close this as an unwelcome distraction ;) |
motivated by #1891, there's an interesting distinction for Index classes that cannot currently be determined programmatically: does this Index class support efficient lazy or on-demand loading of signatures from disk?
For example, zip files and SBTs and manifest files do support this, while signature files, LCA databases and directories do not support this.
It would be nice to be able to figure this out programmatically.
Right now, the closest we come is the presence of a
manifest
attribute, which is present mostly on classes that support lazy loading. But this is confounded by theMultiIndex
class which loads all the signatures into memory.So maybe we need a new attribute on Index for this.
this would be a more useful distinction than
is_database
🤔The text was updated successfully, but these errors were encountered: