#[path = "common/mod.rs"]
mod common;
use criterion::{Criterion, criterion_group, criterion_main};
fn bench_html_parse_small(c: &mut Criterion) {
let html = common::HTML_SMALL;
c.bench_function("html_parse_small", |b| {
b.iter(|| common::parse_html(html));
});
}
fn bench_html_parse_medium(c: &mut Criterion) {
let html = common::HTML_MEDIUM;
c.bench_function("html_parse_medium", |b| {
b.iter(|| common::parse_html(html));
});
}
fn bench_css_parse_medium(c: &mut Criterion) {
let css = extract_embedded_css(common::HTML_MEDIUM);
c.bench_function("css_parse_medium", |b| {
b.iter(|| common::parse_css(&css));
});
}
fn extract_embedded_css(html: &str) -> String {
let (_, _, css) = common::parse_html(html);
css
}
criterion_group!(
parse_benches,
bench_html_parse_small,
bench_html_parse_medium,
bench_css_parse_medium,
);
criterion_main!(parse_benches);