Add BENCHMARK_TEMPLATE[12]_CAPTURE, fusion of BENCHMARK_CAPTURE and BENCHMARK_TEMPLATE#1747
Merged
Merged
Conversation
a0f47cc to
986029e
Compare
…nd `BENCHMARK_TEMPLATE` Test coverage isn't great, but not worse than the existing one. You'd think `BENCHMARK_CAPTURE` would suffice, but you can't pass `func<targs>` to it (due to the `<` and `>`), and when passing `(func<targs>)` we get issues with brackets. So i'm not sure if we can fully avoid this helper. That being said, if there is only a single template argument, `BENCHMARK_CAPTURE()` works fine if we avoid using function name.
986029e to
aebd644
Compare
LebedevRI
commented
Jan 29, 2024
| // BENCHMARK_CAPTURE(BM_takes_args, int_string_test, 42, std::string("abc")); | ||
| #define BENCHMARK_CAPTURE(func, test_case_name, ...) \ | ||
| BENCHMARK_PRIVATE_DECLARE(func) = \ | ||
| BENCHMARK_PRIVATE_DECLARE(_benchmark_) = \ |
Collaborator
Author
There was a problem hiding this comment.
I sure hope we consider these unique names as internal implementation detail that we can change?
dmah42
approved these changes
Jan 30, 2024
Member
|
nice :) |
Collaborator
Author
|
@dmah42 thank you! |
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.
Test coverage isn't great, but not worse than the existing one.
You'd think
BENCHMARK_CAPTUREwould suffice,but you can't pass
func<targs>to it (due to the<and>),and when passing
(func<targs>)we get issues with brackets.So i'm not sure if we can fully avoid this helper.
That being said, if there is only a single template argument,
BENCHMARK_CAPTURE()works fine if we avoid using function name.