-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
feat(storage): use roaring bitmaps for history tables #5463
Conversation
9f7895c
to
bad45bc
Compare
4dc6474
to
7f3a7b5
Compare
1ac1618
to
1918293
Compare
1918293
to
1764a25
Compare
3cfe9a9
to
fa793aa
Compare
2082bfe
to
b237b23
Compare
b237b23
to
9b1e39a
Compare
ffff7ea
to
500aba9
Compare
let rank = chunk.rank(self.block_number as usize); | ||
// Adjust the rank, so that we have the rank of the first entry strictly before our | ||
// block (not equal to it). | ||
if rank.checked_sub(1).and_then(|rank| chunk.select(rank)) == Some(self.block_number) { |
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.
til
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.
faster, smaller lfg. i'd just remove any mention of elias wrt to this from the codebase, maybe some reference to this PR should be enough on IntegerList
239c804
to
500aba9
Compare
911aee0
to
87b8cb1
Compare
Just confirming that we want this and we'll release alongside the next alpha which breaks the DB. |
@gakonst correct. This PR can already be reviewed, because it'll get merged into |
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
Performance benchmarks
X axis is the random delta in the range of
x-x/2..=x+x/2
between 2000 integersSize benchmarks
Mainnet Archive Node
AccountHistory
StorageHistory
Sepolia Full Node
AccountHistory
StorageHistory