While the mempool perf tests in the autotest suite cover a wide range of possibilities, there is no way they can cover all possible app permutations, and there is no way to parameterize running a unit test.
To cover this gap, this patchset proposes a new test-mempool-perf app which can be used to test out mempool performance across a range of different scenarios. The options cover (not an exhaustive list): * underlying mempool driver to use * mempool cache size * burst size * whether to use pipeline or run to completion models * for run-to-completion how much variability in ordering of allocs and frees. * whether we touch the packets between alloc and free To simplify the use of the app, if run without parameters the user is queried for the options to use, and the app thereafter prints the cmdline to use for future re-runs with same settings. Bruce Richardson (3): app/test-mempool-perf: skeleton of new test app app/test-mempool-perf: add perf test logic app/test-mempool-perf: add testing in pipeline model app/meson.build | 1 + app/test-mempool-perf/main.c | 808 ++++++++++++++++++++++++++++++ app/test-mempool-perf/meson.build | 8 + doc/guides/tools/index.rst | 1 + doc/guides/tools/mempoolperf.rst | 173 +++++++ 5 files changed, 991 insertions(+) create mode 100644 app/test-mempool-perf/main.c create mode 100644 app/test-mempool-perf/meson.build create mode 100644 doc/guides/tools/mempoolperf.rst -- 2.53.0

