diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2024-01-12 21:03:25 -0800 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2024-01-12 21:03:25 -0800 |
| commit | a41476ac28083a2d8a54161d4177b3ee5c028525 (patch) | |
| tree | 34355d8e623ae56ca9f3cd5a8376bb0807a5c5b5 /benches | |
| parent | 8d741fb146a599dd41915829ab309d96e9989435 (diff) | |
| download | editor-a41476ac28083a2d8a54161d4177b3ee5c028525.tar.zst | |
Start tuning the performance of rope.
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); |
