Skip to main content

run_processes

Function run_processes 

Source
pub fn run_processes(processes: usize, policy: Aggregation) -> SuiteResult
Expand description

Re-exec the current benchmark binary N times in separate OS processes and aggregate the results.

Each child gets a fresh ASLR layout, CPU frequency state, scheduler affinity, and page cache — noise sources that in-process run_passes cannot reset. The child writes its SuiteResult to a temp JSON file via ZENBENCH_RESULT_PATH; the parent reads it back and aggregates.

§CLI flags

The main! macro parses these from cargo bench:

--best-of-processes=N          -> run_processes(N, Best)
--mean-of-processes=N          -> run_processes(N, Mean)
--median-of-processes=N        -> run_processes(N, Median)

Composable with passes: --best-of-processes=3 --best-of-passes=2 runs 3 OS processes, each doing 2 in-process passes. Total = 6 runs.