From a41476ac28083a2d8a54161d4177b3ee5c028525 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Fri, 12 Jan 2024 21:03:25 -0800 Subject: Start tuning the performance of rope. --- benches/concat.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 benches/concat.rs (limited to 'benches/concat.rs') diff --git a/benches/concat.rs b/benches/concat.rs new file mode 100644 index 0000000..a07f908 --- /dev/null +++ b/benches/concat.rs @@ -0,0 +1,19 @@ +use criterion::{black_box, criterion_group, criterion_main, Criterion}; + +use edit::rope::Rope; + +fn concat(buf: &[u8]) -> Rope { + let mut r = Rope::new(&[]); + for &b in buf.iter() { + r = r.concat(&Rope::new(&[b])); + } + r +} + +fn criterion_benchmark(c: &mut Criterion) { + let bytes = vec![0; 10000]; + c.bench_function("concat asdfasdf", |b| b.iter(|| concat(black_box(&bytes)))); +} + +criterion_group!(benches, criterion_benchmark); +criterion_main!(benches); -- cgit v1.3.1