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 = 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 = 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 = vec![]; space .render(ui::Pos::new(0, 0), &mut output) .expect("couldnt render"); }) }); } criterion_group!(benches, space_fill); criterion_main!(benches);