Performance testing of cardinality estimation.
- Implement a performance testing framework - the common logic to be used by all CE performance tests.
- Pre-generate histograms (either from data or directly) with varying number of buckets, and few different bucket boundary sizes.
- Measure the estimation time for all SARGable predicates, and all dataflow nodes both against histograms, and via heuristic estimation.
- Measure estimation time for complex AND/OR expressions - grow the expression size.
If possible, consider to use these tests to guard against performance refressions. As a minimum these tests should result in a performance report at the end of the project. The tests should be implemented either as C++ unit tests or Google perf tests.
This task should be developed in sync with the following two efforts from the benchmark team: SERVER-68029, SERVER-70646.