refactor: Use unlikely in Buffer::reserve()
This commit is contained in:
parent
541ecb91ef
commit
72b061ee3e
|
@ -91,10 +91,9 @@ impl Buffer {
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn reserve(&mut self, size: usize) {
|
pub fn reserve(&mut self, size: usize) {
|
||||||
if size <= self.capacity.wrapping_sub(self.len) {
|
if unlikely!(size > self.capacity.wrapping_sub(self.len)) {
|
||||||
return;
|
self.reserve_internal(size);
|
||||||
}
|
}
|
||||||
self.reserve_internal(size);
|
|
||||||
debug_assert!(self.len + size <= self.capacity);
|
debug_assert!(self.len + size <= self.capacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,9 +116,7 @@ impl Buffer {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn push_str(&mut self, data: &str) {
|
pub fn push_str(&mut self, data: &str) {
|
||||||
let size = data.len();
|
let size = data.len();
|
||||||
if unlikely!(size > self.capacity.wrapping_sub(self.len)) {
|
self.reserve(size);
|
||||||
self.reserve_internal(size);
|
|
||||||
}
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let p = self.data.add(self.len);
|
let p = self.data.add(self.len);
|
||||||
std::ptr::copy_nonoverlapping(data.as_ptr(), p, size);
|
std::ptr::copy_nonoverlapping(data.as_ptr(), p, size);
|
||||||
|
|
Loading…
Reference in New Issue