Skip to content

Commit 2029fe4

Browse files
committed
Micro optimization for removing some unnecessary lock contention when there is nothing to be done anyway
1 parent 9c8a13b commit 2029fe4

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

crates/subspace-farmer/src/commitments.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,10 @@ impl Commitments {
185185
}
186186

187187
pub(crate) fn remove_pieces(&self, pieces: &[Piece]) -> Result<(), CommitmentError> {
188+
if pieces.is_empty() {
189+
return Ok(());
190+
}
191+
188192
for db_entry in self.get_db_entries() {
189193
let salt = db_entry.salt();
190194
let db_guard = db_entry.lock();
@@ -209,6 +213,10 @@ impl Commitments {
209213
F: Fn() -> Iter,
210214
Iter: Iterator<Item = (PieceOffset, &'iter [u8])>,
211215
{
216+
if pieces_with_offsets().next().is_none() {
217+
return Ok(());
218+
}
219+
212220
for db_entry in self.get_db_entries() {
213221
let salt = db_entry.salt();
214222
let db_guard = db_entry.lock();

0 commit comments

Comments
 (0)