use onenote_parser::Parser;
use std::hint::black_box;
use typed_path::TypedPath;
fn main() {
let mut args = std::env::args().skip(1);
let path = args
.next()
.expect("usage: profile_parse <path> [iterations]");
let path = TypedPath::derive(&path);
let iterations: usize = args
.next()
.map(|s| s.parse().expect("iterations must be a number"))
.unwrap_or(100);
eprintln!("parsing {} × {}", path.to_string_lossy(), iterations);
let parser = Parser::new();
let _ = parser.parse_section(path).expect("warmup parse");
for _ in 0..iterations {
let parser = Parser::new();
let section = parser.parse_section(path).expect("parse failed");
black_box(section);
}
}