xref: /llvm-project/third-party/benchmark/docs/random_interleaving.md (revision 5dda2efde574d3a200d04c371f561a77ee9f4aff)
1*5dda2efdSMircea Trofin<a name="interleaving" />
2*5dda2efdSMircea Trofin
3*5dda2efdSMircea Trofin# Random Interleaving
4*5dda2efdSMircea Trofin
5*5dda2efdSMircea Trofin[Random Interleaving](https://github.com/google/benchmark/issues/1051) is a
6*5dda2efdSMircea Trofintechnique to lower run-to-run variance. It randomly interleaves repetitions of a
7*5dda2efdSMircea Trofinmicrobenchmark with repetitions from other microbenchmarks in the same benchmark
8*5dda2efdSMircea Trofintest. Data shows it is able to lower run-to-run variance by
9*5dda2efdSMircea Trofin[40%](https://github.com/google/benchmark/issues/1051) on average.
10*5dda2efdSMircea Trofin
11*5dda2efdSMircea TrofinTo use, you mainly need to set `--benchmark_enable_random_interleaving=true`,
12*5dda2efdSMircea Trofinand optionally specify non-zero repetition count `--benchmark_repetitions=9`
13*5dda2efdSMircea Trofinand optionally decrease the per-repetition time `--benchmark_min_time=0.1`.
14