xref: /aosp_15_r20/external/google-benchmark/docs/random_interleaving.md (revision dbb99499c3810fa1611fa2242a2fc446be01a57c)
1*dbb99499SAndroid Build Coastguard Worker<a name="interleaving" />
2*dbb99499SAndroid Build Coastguard Worker
3*dbb99499SAndroid Build Coastguard Worker# Random Interleaving
4*dbb99499SAndroid Build Coastguard Worker
5*dbb99499SAndroid Build Coastguard Worker[Random Interleaving](https://github.com/google/benchmark/issues/1051) is a
6*dbb99499SAndroid Build Coastguard Workertechnique to lower run-to-run variance. It randomly interleaves repetitions of a
7*dbb99499SAndroid Build Coastguard Workermicrobenchmark with repetitions from other microbenchmarks in the same benchmark
8*dbb99499SAndroid Build Coastguard Workertest. Data shows it is able to lower run-to-run variance by
9*dbb99499SAndroid Build Coastguard Worker[40%](https://github.com/google/benchmark/issues/1051) on average.
10*dbb99499SAndroid Build Coastguard Worker
11*dbb99499SAndroid Build Coastguard WorkerTo use, you mainly need to set `--benchmark_enable_random_interleaving=true`,
12*dbb99499SAndroid Build Coastguard Workerand optionally specify non-zero repetition count `--benchmark_repetitions=9`
13*dbb99499SAndroid Build Coastguard Workerand optionally decrease the per-repetition time `--benchmark_min_time=0.1`.
14