Timing honesty
Prepare is not timed. The loop is timed. Warmup stays in the raw CSV.
- Construct the queue, allocate payloads, spawn threads before the clock.
- Do not enqueue items during prepare βto warm the queue.β
- Write every repetition, including index
0. Analysis drops warmup. - A failed fidelity check is an error row, not a fast time.
- Label must match work: if the cell is MPMC (CSV
stream), two producers and two consumers actually ran. Otherwise skip the cell. Do not call this a stream API.