From c835c12f6c4e6ca1b721f45ae27bf2385f0cf48a Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Sat, 2 Jul 2016 05:30:54 +0000 Subject: Add unordered_map::insert benchmark test and rename file llvm-svn: 274424 --- libcxx/benchmarks/set_find.pass.cpp | 29 -------------- .../benchmarks/unordered_set_operations.bench.cpp | 44 ++++++++++++++++++++++ 2 files changed, 44 insertions(+), 29 deletions(-) delete mode 100644 libcxx/benchmarks/set_find.pass.cpp create mode 100644 libcxx/benchmarks/unordered_set_operations.bench.cpp (limited to 'libcxx/benchmarks') diff --git a/libcxx/benchmarks/set_find.pass.cpp b/libcxx/benchmarks/set_find.pass.cpp deleted file mode 100644 index 32f90266dcc..00000000000 --- a/libcxx/benchmarks/set_find.pass.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include - -#include "benchmark/benchmark_api.h" - -template -std::vector getInputs(size_t N) { - std::vector inputs; - for (size_t i=0; i < N; ++i) { - inputs.push_back(i); - } - return inputs; -} - -template -void BM_SetLookup(benchmark::State& st, Container c, Inputs const& in) { - c.insert(in.begin(), in.end()); - const auto end = in.end(); - while (st.KeepRunning()) { - for (auto it = in.begin(); it != end; ++it) { - benchmark::DoNotOptimize(c.find(*it++)); - } - } -} -BENCHMARK_CAPTURE(BM_SetLookup, uint32_lookup, - std::unordered_set{}, getInputs(1024)); - -BENCHMARK_MAIN() diff --git a/libcxx/benchmarks/unordered_set_operations.bench.cpp b/libcxx/benchmarks/unordered_set_operations.bench.cpp new file mode 100644 index 00000000000..c9ee689f69d --- /dev/null +++ b/libcxx/benchmarks/unordered_set_operations.bench.cpp @@ -0,0 +1,44 @@ +#include +#include +#include + +#include "benchmark/benchmark_api.h" + +template +std::vector getInputs(size_t N) { + std::vector inputs; + for (size_t i=0; i < N; ++i) { + inputs.push_back(i); + } + return inputs; +} + +template +void BM_SetInsert(benchmark::State& st, Container c, Inputs const& in) { + const auto end = in.end(); + while (st.KeepRunning()) { + c.clear(); + for (auto it = in.begin(); it != end; ++it) { + benchmark::DoNotOptimize(c.insert(*it)); + } + benchmark::DoNotOptimize(c); + } +} +BENCHMARK_CAPTURE(BM_SetInsert, uint32_insert, + std::unordered_set{}, getInputs(1024)); + +template +void BM_SetFind(benchmark::State& st, Container c, Inputs const& in) { + c.insert(in.begin(), in.end()); + const auto end = in.end(); + while (st.KeepRunning()) { + for (auto it = in.begin(); it != end; ++it) { + benchmark::DoNotOptimize(c.find(*it)); + } + } +} +BENCHMARK_CAPTURE(BM_SetFind, uint32_lookup, + std::unordered_set{}, getInputs(1024)); + + +BENCHMARK_MAIN() -- cgit v1.2.3