-
Notifications
You must be signed in to change notification settings - Fork 55
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
Make the edge storage more columnar to reduce memory usage #1670
Conversation
e3b30b5
to
4cec8cc
Compare
827d245
to
1732326
Compare
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.
Need to point the submodule at the correct place!
Other than that, only some very minor comments and good to go in
} | ||
|
||
impl<'a, O, OUT> GenLockedIter<'a, O, OUT> { | ||
pub fn from<'b>( |
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.
what is this lifetime doing here?
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.
indeed it is useless yet the self_referencing macro fails without that lifetime
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.
Clean up the comments and you can push the merge button
|
||
// #[inline] | ||
// pub(crate) fn entry(&self, id: EID) -> EdgeRGuard { | ||
// self.get_edge(id) | ||
// } | ||
|
||
// #[inline] | ||
// pub(crate) fn entry_mut(&self, id: EID) -> EdgeWGuard { | ||
// self.get_edge_mut(id) | ||
// } | ||
|
||
// #[inline] | ||
// pub(crate) fn entry_arc(&self, id: EID) -> EdgeArcGuard { | ||
// self.get_edge_arc(id) | ||
// } |
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.
you left in some comments
|
||
use super::edge_entry::EdgeStorageEntry; | ||
use crate::db::api::storage::variants::storage_variants3::StorageVariants; | ||
|
||
use rayon::iter::ParallelIterator; | ||
use std::sync::Arc; |
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.
still some blank lines which means this didn't get fully simplified
What changes were proposed in this pull request?
change the layout of the edges from rows to columns
Why are the changes needed?
reduce memory usage
Does this PR introduce any user-facing change? If yes is this documented?
No
How was this patch tested?
Unit test
Issues
closes #1667
Are there any further changes required?