From 087e7427bc46a6d13ecee656151b5ff3ecb6bba4 Mon Sep 17 00:00:00 2001 From: quake Date: Wed, 19 Apr 2023 15:18:40 +0900 Subject: [PATCH] chore: skip clone when tip < number --- sync/src/types/mod.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sync/src/types/mod.rs b/sync/src/types/mod.rs index 48ac2e8e29..99bba2d74d 100644 --- a/sync/src/types/mod.rs +++ b/sync/src/types/mod.rs @@ -1030,7 +1030,6 @@ impl HeaderView { return; } self.skip_hash = self - .clone() .get_ancestor( tip_number, get_skip_height(self.number()), @@ -1041,7 +1040,7 @@ impl HeaderView { } pub fn get_ancestor( - self, + &self, tip_number: BlockNumber, number: BlockNumber, get_header_view: F, @@ -1051,11 +1050,11 @@ impl HeaderView { F: Fn(&Byte32, Option) -> Option, G: Fn(BlockNumber, BlockNumberAndHash) -> Option, { - let mut current = self; - if number > current.number() { + if number > self.number() { return None; } + let mut current = self.clone(); let mut number_walk = current.number(); while number_walk > number { let number_skip = get_skip_height(number_walk); @@ -1994,8 +1993,7 @@ impl ActiveChain { |hash, store_first_opt| self.shared.get_header_view(hash, store_first_opt), |number, current| { // shortcut to return an ancestor block - if current.number <= tip_number && self.snapshot().is_main_chain(¤t.hash) - { + if current.number <= tip_number && self.snapshot().is_main_chain(¤t.hash) { self.get_block_hash(number) .and_then(|hash| self.shared.get_header_view(&hash, Some(true))) } else {