build: add benchmark build scaffolding#825
Open
timothyw553 wants to merge 1 commit into
Open
Conversation
4 tasks
e922f8f to
0717dac
Compare
zhjwpku
approved these changes
Jul 9, 2026
|
|
||
| fetchcontent_declare(google_benchmark | ||
| GIT_REPOSITORY https://github.com/google/benchmark.git | ||
| GIT_TAG v1.8.4 |
Collaborator
There was a problem hiding this comment.
nit: should we use the commit SHA like gtest?
Author
There was a problem hiding this comment.
Done. I pinned Google Benchmark to the v1.8.4 release commit SHA (a4cf155615c63e019ae549e31703bf367df5b471) and kept the version as an inline comment, matching the gtest style.
0717dac to
b45e7ea
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an opt-in benchmark build path so future C++ microbenchmarks can live in-tree without affecting normal builds. Benchmarks stay disabled by default, and this PR keeps the executable intentionally small so reviewers can focus on CMake/Meson wiring and Google Benchmark integration.
ICEBERG_BUILD_BENCHMARKSfor CMake and a disabled-by-defaultbenchmarksMeson feature.src/iceberg/benchmarkinto both build systems.Stack
This is PR 1 of 2.
PR 2 adds the actual metrics evaluator benchmark cases on top of this scaffolding: timothyw553#1.
Test Plan
-DICEBERG_BUILD_BENCHMARKS=ON.metrics_evaluator_benchmarkon this branch.--benchmark_min_time=0.01s.mesonis not installed in this shell.Verification Commands