timothyw553 opened a new pull request, #831:
URL: https://github.com/apache/iceberg-cpp/pull/831
## Summary
This adds a focused benchmark for metrics evaluator performance now that the
shared benchmark build scaffolding has landed. The benchmark covers evaluator
construction separately from data-file evaluation so reviewers can see setup
cost and per-file filtering cost independently.
- Covers both `InclusiveMetricsEvaluator` and `StrictMetricsEvaluator`.
- Exercises equality, range, starts-with, small IN, medium IN, and
null-or-NaN predicates.
- Scales evaluation across 1, 100, and 10,000 synthetic `DataFile` objects.
- Registers the benchmark in both CMake and Meson benchmark builds.
Part of #690.
## Test Plan
- [x] `git diff --check origin/main..HEAD`
- [x] Configured CMake benchmark build with `-DICEBERG_BUILD_BENCHMARKS=ON`
- [x] `cmake --build build-bench-ci --target metrics_evaluator_benchmark`
- [x] `build-bench-ci/src/iceberg/benchmark/metrics_evaluator_benchmark
--benchmark_filter=BM_InclusiveMetricsEvaluatorMake/equal_id
--benchmark_min_time=0.01s`
- [x] `cmake --build build`
- [x] `ctest --test-dir build --output-on-failure`
- [ ] Meson benchmark configure was not run locally because `meson` is not
installed on this machine.
## Verification Commands
```bash
cmake -S . -B build-bench-ci -G Ninja \
-DICEBERG_BUILD_BENCHMARKS=ON
cmake --build build-bench-ci --target metrics_evaluator_benchmark
build-bench-ci/src/iceberg/benchmark/metrics_evaluator_benchmark \
--benchmark_filter=BM_InclusiveMetricsEvaluatorMake/equal_id \
--benchmark_min_time=0.01s
cmake --build build
ctest --test-dir build --output-on-failure
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]