aboutsummaryrefslogtreecommitdiffhomepage
path: root/absl/container/inlined_vector_benchmark.cc
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2019-05-15 12:21:46 -0700
committerGravatar Andy Soffer <asoffer@google.com>2019-05-15 15:37:33 -0400
commitfa00c321073c7ea40a4fc3dfc8a06309eae3d025 (patch)
tree6bd77267f450a1eedf65a5fb3858ca1c8faa44e7 /absl/container/inlined_vector_benchmark.cc
parent436ba6c4a0ea3a06eca6e055f9c8d296bf3bae12 (diff)
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
Diffstat (limited to 'absl/container/inlined_vector_benchmark.cc')
-rw-r--r--absl/container/inlined_vector_benchmark.cc17
1 files changed, 8 insertions, 9 deletions
diff --git a/absl/container/inlined_vector_benchmark.cc b/absl/container/inlined_vector_benchmark.cc
index 7bb3271..d906997 100644
--- a/absl/container/inlined_vector_benchmark.cc
+++ b/absl/container/inlined_vector_benchmark.cc
@@ -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