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]

Reply via email to