//! Phase-0 benchmark: sequential batch-solve scaling baseline. //! //! Solves N independent copies of the same reference cycle sequentially. This is //! the Phase-0 *sequential* baseline; any parallel batch path belongs to Epic 4 //! and is intentionally out of scope here. use criterion::{black_box, criterion_group, criterion_main, BenchmarkId}; mod common; fn bench_batch_sequential(c: &mut criterion::Criterion) { let mut group = c.benchmark_group("batch_solve_sequential"); for n in [1, 2, 4] { group.bench_with_input(BenchmarkId::from_parameter(n), &n, |b, &n| { b.iter(|| { for _ in 0..n { let mut system = common::build_reference_cycle_a(); common::solve_reference_system(&mut system); black_box(()); } }); }); } group.finish(); } criterion_group! { name = benches; config = common::end_to_end_criterion(); targets = bench_batch_sequential } criterion_main!(benches);