From ef629e78835f0f1987786e7156fa877a19a408e1 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Wed, 28 Oct 2026 23:22:11 +0000 Subject: [PATCH] Improve perf --- src/raw_operation.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/raw_operation.rs b/src/raw_operation.rs index 331ae81..6c17bf8 100644 --- a/src/raw_operation.rs +++ b/src/raw_operation.rs @@ -61,14 +61,17 @@ where ); match (self, other) { - (RawOperation::Insert(self_tokens), RawOperation::Insert(other_tokens)) => { - RawOperation::Insert(self_tokens.into_iter().chain(other_tokens).collect()) + (RawOperation::Insert(mut tokens1), RawOperation::Insert(tokens2)) => { + tokens1.extend(tokens2); + RawOperation::Insert(tokens1) } - (RawOperation::Delete(tokens1), RawOperation::Delete(tokens2)) => { - RawOperation::Delete(tokens1.into_iter().chain(tokens2).collect()) + (RawOperation::Delete(mut tokens1), RawOperation::Delete(tokens2)) => { + tokens1.extend(tokens2); + RawOperation::Delete(tokens1) } - (RawOperation::Equal(tokens1), RawOperation::Equal(tokens2)) => { - RawOperation::Equal(tokens1.into_iter().chain(tokens2).collect()) + (RawOperation::Equal(mut tokens1), RawOperation::Equal(tokens2)) => { + tokens1.extend(tokens2); + RawOperation::Equal(tokens1) } _ => unreachable!("Only operations of the same type can be extended"), }