Export of internal Abseil changes.
--
6258612abc571fa7f51f34046b410c73486505fe by Derek Mauro <dmauro@google.com>:
Rollback checking the return value of pthread functions in thread_identity.cc.
PiperOrigin-RevId: 248381230
--
fda6acddab04fc53eeb84ec253de4a9655bf9a36 by CJ Johnson <johnsoncj@google.com>:
Removes too-restrictive benchmark abstraction in inlined_vector_benchmark
PiperOrigin-RevId: 248366325
--
68674991e63c919de8a3eebced5adec6466ec8fe by Abseil Team <absl-team@google.com>:
Check for pthread_setmask() failure.
Log a fatal error message if pthread_setmask() fails.
PiperOrigin-RevId: 248347115
--
45389e44c0d1badafb6b560cae3df99fc8bd16ac by Derek Mauro <dmauro@google.com>:
Fix a -Wredundant-move warning in GCC 9.
PiperOrigin-RevId: 248338682
--
12cfbacf599084a8ac6bf4395026cbf193c85a26 by Derek Mauro <dmauro@google.com>:
Check the return value of pthread functions in thread_identity.cc.
PiperOrigin-RevId: 248327118
--
2bc69998e68cfee96e812ce800e83cce7a715091 by Benjamin Barenblat <bbaren@google.com>:
Encourage judicious use of ABSL_PREDICT_{TRUE,FALSE}
Recommend that users use branch prediction annotations only on hot,
consistently mispredicted branches.
PiperOrigin-RevId: 248222450
GitOrigin-RevId: 6258612abc571fa7f51f34046b410c73486505fe
Change-Id: I09d409f9a3941ee926b8476b5473f9c4899cc3ff
This commit is contained in:
parent
436ba6c4a0
commit
fa00c32107
4 changed files with 19 additions and 11 deletions
|
|
@ -405,12 +405,6 @@ class NontrivialType {
|
|||
|
||||
using NontrivialVec = absl::InlinedVector<NontrivialType, kInlineElements>;
|
||||
|
||||
#define BENCHMARK_OPERATION(BM_Function) \
|
||||
BENCHMARK_TEMPLATE(BM_Function, TrivialVec, kSmallSize); \
|
||||
BENCHMARK_TEMPLATE(BM_Function, TrivialVec, kLargeSize); \
|
||||
BENCHMARK_TEMPLATE(BM_Function, NontrivialVec, kSmallSize); \
|
||||
BENCHMARK_TEMPLATE(BM_Function, NontrivialVec, kLargeSize)
|
||||
|
||||
template <typename VecT, typename PrepareVec, typename TestVec>
|
||||
void BatchedBenchmark(benchmark::State& state, PrepareVec prepare_vec,
|
||||
TestVec test_vec) {
|
||||
|
|
@ -432,13 +426,18 @@ void BatchedBenchmark(benchmark::State& state, PrepareVec prepare_vec,
|
|||
}
|
||||
}
|
||||
|
||||
template <typename VecT, size_t Size>
|
||||
template <typename VecT, size_t FromSize>
|
||||
void BM_Clear(benchmark::State& state) {
|
||||
BatchedBenchmark<VecT>(
|
||||
state,
|
||||
/* prepare_vec = */ [](VecT* vec) { vec->resize(Size); },
|
||||
/* prepare_vec = */ [](VecT* vec) { vec->resize(FromSize); },
|
||||
/* test_vec = */ [](VecT* vec) { vec->clear(); });
|
||||
}
|
||||
BENCHMARK_OPERATION(BM_Clear);
|
||||
|
||||
BENCHMARK_TEMPLATE(BM_Clear, TrivialVec, kSmallSize);
|
||||
BENCHMARK_TEMPLATE(BM_Clear, TrivialVec, kLargeSize);
|
||||
|
||||
BENCHMARK_TEMPLATE(BM_Clear, NontrivialVec, kSmallSize);
|
||||
BENCHMARK_TEMPLATE(BM_Clear, NontrivialVec, kLargeSize);
|
||||
|
||||
} // namespace
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue