mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +00:00
Optimization to Redb slasher (#6481)
* first() & last() optimizations * Fmt
This commit is contained in:
@@ -37,7 +37,7 @@ mdbx = { package = "libmdbx", git = "https://github.com/sigp/libmdbx-rs", rev =
|
||||
lmdb-rkv = { git = "https://github.com/sigp/lmdb-rs", rev = "f33845c6469b94265319aac0ed5085597862c27e", optional = true }
|
||||
lmdb-rkv-sys = { git = "https://github.com/sigp/lmdb-rs", rev = "f33845c6469b94265319aac0ed5085597862c27e", optional = true }
|
||||
|
||||
redb = { version = "2.1", optional = true }
|
||||
redb = { version = "2.1.4", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
maplit = { workspace = true }
|
||||
|
||||
@@ -164,13 +164,9 @@ impl<'env> Cursor<'env> {
|
||||
let table_definition: TableDefinition<'_, &[u8], &[u8]> =
|
||||
TableDefinition::new(&self.db.table_name);
|
||||
let table = self.txn.open_table(table_definition)?;
|
||||
let first = table
|
||||
.iter()?
|
||||
.next()
|
||||
.map(|x| x.map(|(key, _)| key.value().to_vec()));
|
||||
let first = table.first()?.map(|(key, _)| key.value().to_vec());
|
||||
|
||||
if let Some(owned_key) = first {
|
||||
let owned_key = owned_key?;
|
||||
self.current_key = Some(Cow::from(owned_key));
|
||||
Ok(self.current_key.clone())
|
||||
} else {
|
||||
@@ -182,13 +178,9 @@ impl<'env> Cursor<'env> {
|
||||
let table_definition: TableDefinition<'_, &[u8], &[u8]> =
|
||||
TableDefinition::new(&self.db.table_name);
|
||||
let table = self.txn.open_table(table_definition)?;
|
||||
let last = table
|
||||
.iter()?
|
||||
.next_back()
|
||||
.map(|x| x.map(|(key, _)| key.value().to_vec()));
|
||||
let last = table.last()?.map(|(key, _)| key.value().to_vec());
|
||||
|
||||
if let Some(owned_key) = last {
|
||||
let owned_key = owned_key?;
|
||||
self.current_key = Some(Cow::from(owned_key));
|
||||
return Ok(self.current_key.clone());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user