orgize/benches/parse.rs
2023-11-24 13:34:13 +08:00

39 lines
1.1 KiB
Rust

use criterion::{criterion_group, criterion_main, Criterion, Throughput};
use orgize::Org;
const INPUT: &[(&str, &str)] = &[
("doc.org", include_str!("./doc.org")),
("org-faq.org", include_str!("./org-faq.org")),
("org-hacks.org", include_str!("./org-hacks.org")),
(
"org-release-notes.org",
include_str!("./org-release-notes.org"),
),
("org-syntax.org", include_str!("./org-syntax.org")),
];
pub fn bench_parse(c: &mut Criterion) {
let mut group = c.benchmark_group("Org::parse");
for (id, org) in INPUT {
group.throughput(Throughput::Bytes(org.len() as u64));
group.bench_with_input(*id, org, |b, i| b.iter(|| Org::parse(i)));
}
group.finish();
}
pub fn bench_to_html(c: &mut Criterion) {
let mut group = c.benchmark_group("Org::to_html");
for (id, org) in INPUT {
group.throughput(Throughput::Bytes(org.len() as u64));
group.bench_with_input(*id, &Org::parse(org), |b, i| b.iter(|| i.to_html()));
}
group.finish();
}
criterion_group!(benches, bench_parse, bench_to_html);
criterion_main!(benches);