sentomk commented on issue #690: URL: https://github.com/apache/iceberg-cpp/issues/690#issuecomment-4589902586
Thanks for the context! I'd lean toward Google Benchmark here. Catch2's benchmarking is part of its test framework — you write benchmarks as Catch2 cases — so since the tests are all GTest today, using it just for benchmarks would mean maintaining two test frameworks side by side; it only really pays off if we migrate the tests too, which is a much bigger call. Google Benchmark, by contrast, is a standalone library that's orthogonal to GTest, so it can sit behind its own `ICEBERG_BUILD_BENCHMARKS` option without touching the test setup. It's also familiar ground here. That said, these are two separable paths. One is to add benchmarks only: a standalone Google Benchmark target that leaves the test stack untouched. That's my preference, and it's all the filtering example needs. The other is to re-evaluate the whole test/bench stack with Catch2 for both, which is a larger discussion that reopens #12. Happy to go either way the team prefers. If the benchmarks-only path sounds reasonable, I can put up a draft PR with the minimal setup plus the filtering benchmark. And the `RETURN_IF_NOT_REFERENCE` cleanup can land independently whenever — thanks for the +1. -- 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]
