Tweak growth algorithm in BytesMut::reserve

This commit is contained in:
Carl Lerche
2017-02-20 21:07:25 -08:00
parent 8c11456185
commit b46d3fd32e
2 changed files with 14 additions and 4 deletions
+12 -2
View File
@@ -207,7 +207,7 @@ fn fns_defined_for_bytes_mut() {
}
#[test]
fn reserve() {
fn reserve_convert() {
// Inline -> Vec
let mut bytes = BytesMut::with_capacity(8);
bytes.put("hello");
@@ -236,11 +236,21 @@ fn reserve() {
let a = bytes.drain_to(30);
bytes.reserve(128);
assert_eq!(bytes.capacity(), bytes.len() + 128);
assert_eq!(bytes.capacity(), (bytes.len() + 128).next_power_of_two());
drop(a);
}
#[test]
fn reserve_growth() {
let mut bytes = BytesMut::with_capacity(64);
bytes.put("hello world");
let _ = bytes.drain();
bytes.reserve(65);
assert_eq!(bytes.capacity(), 128);
}
#[test]
fn inline_storage() {
let mut bytes = BytesMut::with_capacity(inline_cap());