use micromeasure::{NoContext, Throughput, benchmark_main, black_box};
const LINES_PER_COMPILATION: usize = 1_000;
fn compile_lines(_ctx: &mut NoContext, chunk_size: usize, _chunk_num: usize) {
let mut checksum = black_box(0_u64);
for chunk in 0..chunk_size {
for line in 0..LINES_PER_COMPILATION {
checksum = checksum.wrapping_add(black_box((chunk ^ line) as u64));
}
}
black_box(checksum);
}
benchmark_main!(|runner| {
runner.group::<NoContext>("Compiler", |g| {
g.throughput(Throughput::per_operation(
LINES_PER_COMPILATION as u64,
"lines",
))
.bench("compile_lines", compile_lines);
});
});