Skip to content

Commit 186d750

Browse files
committed
Pre-allocate in functions that return new SmallVecs
1 parent 78ae17f commit 186d750

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,8 @@ where A::Item: Deserialize<'de>,
790790
where
791791
B: SeqAccess<'de>,
792792
{
793-
let mut values = SmallVec::new();
793+
let len = seq.size_hint().unwrap_or(0);
794+
let mut values = SmallVec::with_capacity(len);
794795

795796
while let Some(value) = seq.next_element()? {
796797
values.push(value);
@@ -912,7 +913,7 @@ impl<A: Array> Drop for SmallVec<A> {
912913

913914
impl<A: Array> Clone for SmallVec<A> where A::Item: Clone {
914915
fn clone(&self) -> SmallVec<A> {
915-
let mut new_vector = SmallVec::new();
916+
let mut new_vector = SmallVec::with_capacity(self.len());
916917
for element in self.iter() {
917918
new_vector.push((*element).clone())
918919
}

0 commit comments

Comments
 (0)