From e082defad8265d57245bdc64360bc0cb0aa3c8bc Mon Sep 17 00:00:00 2001 From: Nathan Vegdahl Date: Sat, 21 Feb 2015 11:44:32 -0800 Subject: [PATCH] Added benchmarks for Rope::append() and Rope::split(). --- src/buffer/rope.rs | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/buffer/rope.rs b/src/buffer/rope.rs index 7228537..ecdde84 100644 --- a/src/buffer/rope.rs +++ b/src/buffer/rope.rs @@ -1740,4 +1740,52 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); } }); } + + + #[bench] + fn append_1(b: &mut Bencher) { + b.iter(|| { + let mut left = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 3617]).unwrap().as_slice()); + let right = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 3617]).unwrap().as_slice()); + left.append(right); + }); + } + + + #[bench] + fn append_2(b: &mut Bencher) { + b.iter(|| { + let mut left = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 263]).unwrap().as_slice()); + let right = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 3617]).unwrap().as_slice()); + left.append(right); + }); + } + + + #[bench] + fn append_3(b: &mut Bencher) { + b.iter(|| { + let mut left = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 3617]).unwrap().as_slice()); + let right = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 263]).unwrap().as_slice()); + left.append(right); + }); + } + + + #[bench] + fn split_1(b: &mut Bencher) { + b.iter(|| { + let mut left = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 7649]).unwrap().as_slice()); + let right = left.split(3617); + }); + } + + + #[bench] + fn split_2(b: &mut Bencher) { + b.iter(|| { + let mut left = Rope::new_from_str(String::from_utf8(vec!['c' as u8; 7649]).unwrap().as_slice()); + let right = left.split(263); + }); + } } \ No newline at end of file