diff options
Diffstat (limited to 'benches')
| -rw-r--r-- | benches/concat.rs | 19 |
1 files changed, 19 insertions, 0 deletions
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); |
