arkham/benches/space_fill.rs

55 lines
1.5 KiB
Rust

use arkham::ui;
use criterion::{criterion_group, criterion_main, Criterion};
fn space_fill(c: &mut Criterion) {
c.bench_function("large_space_fill", |b| {
let mut space = ui::View::new(200, 200);
space.fill(
ui::Rect::new(50, 50, 100, 100),
*ui::Cell::default()
.fg(ui::Color::White)
.bg(ui::Color::Green),
);
b.iter(|| {
let mut output: Vec<u8> = vec![];
space
.render(ui::Pos::new(0, 0), &mut output)
.expect("couldnt render");
})
});
c.bench_function("small_space_fill", |b| {
let mut space = ui::View::new(20, 20);
space.fill(
ui::Rect::new(0, 0, 20, 20),
*ui::Cell::default()
.fg(ui::Color::White)
.bg(ui::Color::Green),
);
b.iter(|| {
let mut output: Vec<u8> = vec![];
space
.render(ui::Pos::new(0, 0), &mut output)
.expect("couldnt render");
})
});
c.bench_function("fill_all", |b| {
let mut space = ui::View::new(200, 200);
space.fill_all(
*ui::Cell::default()
.fg(ui::Color::White)
.bg(ui::Color::Green),
);
b.iter(|| {
let mut output: Vec<u8> = vec![];
space
.render(ui::Pos::new(0, 0), &mut output)
.expect("couldnt render");
})
});
}
criterion_group!(benches, space_fill);
criterion_main!(benches);