Scanner benchmarks are easy to make fast by changing the work. I use a reproducible matrix for construction, chunks, matches, prefilters, cache state, and result validation.
Rust's Aho–Corasick crate can build three different automata. I compare their construction cost, memory layout, search behavior, and the evidence needed before forcing one.
Zero-copy scanning still reads every inspected byte. It removes a second materialization in memory. I use streaming Aho-Corasick to explain automaton state, chunk boundaries, DFA dependency chains, prefilters, and honest performance measurement.