From fa050246afbef8e259e06218615d594be7f9fdbf Mon Sep 17 00:00:00 2001 From: NikVolf Date: Fri, 30 Sep 2016 20:43:57 +0300 Subject: [PATCH] removed redundant memcopy --- util/bloom/src/lib.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/util/bloom/src/lib.rs b/util/bloom/src/lib.rs index 9cf0e89f1..9d637965a 100644 --- a/util/bloom/src/lib.rs +++ b/util/bloom/src/lib.rs @@ -15,6 +15,7 @@ // along with Parity. If not, see . use std::cmp; +use std::mem; use std::f64; use std::hash::{Hash, Hasher, SipHasher}; use std::collections::HashSet; @@ -58,8 +59,8 @@ impl BitVecJournal { } pub fn drain(&mut self) -> Vec<(usize, u64)> { - let journal = self.journal.drain().collect::>(); - journal.iter().map(|idx| (*idx, self.elems[*idx])).collect::>() + let journal = mem::replace(&mut self.journal, HashSet::new()).into_iter(); + journal.map(|idx| (idx, self.elems[idx])).collect::>() } pub fn how_full(&self) -> f64 {