Skip to content

Commit d7175ae

Browse files
committed
Grow rather than reserve in insert to optimize out the checked_add call
1 parent 5fe6533 commit d7175ae

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

lib.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,10 @@ impl<A: Array> SmallVec<A> {
303303
}
304304

305305
pub fn insert(&mut self, index: usize, element: A::Item) {
306-
self.reserve(1);
306+
let cap = self.capacity();
307+
if self.len == cap {
308+
self.grow(cmp::max(cap * 2, 1))
309+
}
307310

308311
let len = self.len;
309312
assert!(index <= len);

0 commit comments

Comments
 (0)