From 0b9bee99739e10d8055bc54f8d1072e042e28c8d Mon Sep 17 00:00:00 2001 From: Jeong YunWon Date: Sat, 11 Jan 2020 00:04:36 +0900 Subject: [PATCH] use Vec::with_capaciity for bytes methods --- vm/src/obj/objbyteinner.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vm/src/obj/objbyteinner.rs b/vm/src/obj/objbyteinner.rs index 613df7872..149d912c5 100644 --- a/vm/src/obj/objbyteinner.rs +++ b/vm/src/obj/objbyteinner.rs @@ -685,7 +685,7 @@ impl PyByteInner { } pub fn capitalize(&self) -> Vec { - let mut new: Vec = Vec::new(); + let mut new: Vec = Vec::with_capacity(self.elements.len()); if let Some((first, second)) = self.elements.split_first() { new.push(first.to_ascii_uppercase()); second.iter().for_each(|x| new.push(x.to_ascii_lowercase())); @@ -932,7 +932,11 @@ impl PyByteInner { ) -> PyResult> { let (table, delete) = options.get_value(vm)?; - let mut res = Vec::new(); + let mut res = if delete.is_empty() { + Vec::with_capacity(self.elements.len()) + } else { + Vec::new() + }; for i in self.elements.iter() { if !delete.contains(&i) {