use criterion::{black_box, criterion_group, criterion_main, Criterion};
use off_rs::geometry::color_format::ColorFormat;
use off_rs::parser::options::Options;
use off_rs::parser::Parser;
const WIKI_OFF: &str = include_str!("resources/wiki.off");
const PRINSTON_OFF: &str = include_str!("resources/prinston.off");
pub fn criterion_benchmark(c: &mut Criterion) {
c.bench_function("parse wiki - off-rs", |b| {
let opts = Options {
color_format: ColorFormat::RGBInteger,
..Default::default()
};
b.iter(|| black_box(Parser::new(&WIKI_OFF, opts).parse()))
});
c.bench_function("parse prinston - off-rs", |b| {
let opts = Options {
color_format: ColorFormat::RGBAFloat,
..Default::default()
};
b.iter(|| black_box(Parser::new(&PRINSTON_OFF, opts).parse()))
});
}
criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);