From 793acd9a1c6d294bf4076dcb3bccd8bacf72cd42 Mon Sep 17 00:00:00 2001 From: Gav Date: Tue, 13 Feb 2018 18:00:21 +0100 Subject: [PATCH] Avoid pointless work --- substrate/substrate/state-machine/src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/substrate/substrate/state-machine/src/lib.rs b/substrate/substrate/state-machine/src/lib.rs index 07d9683b3d..e6127beb1e 100644 --- a/substrate/substrate/state-machine/src/lib.rs +++ b/substrate/substrate/state-machine/src/lib.rs @@ -99,7 +99,11 @@ impl OverlayedChanges { /// Commit prospective changes to state. pub fn commit_prospective(&mut self) { - self.committed.update(self.prospective.storage.drain()); + if self.committed.storage.is_empty() { + ::std::mem::swap(&mut self.prospective, &mut self.committed); + } else { + self.committed.update(self.prospective.storage.drain()); + } } /// Drain prospective changes to an iterator.