diff options
author | 2021-01-11 15:31:56 +0000 | |
---|---|---|
committer | 2021-01-11 15:31:56 +0000 | |
commit | 16ff81ed8b1ed9aa06fb1a731a2446b66cc49bef (patch) | |
tree | 1a7dd8152b94f6f8cd318bfaf85aa40882854583 /lib/libcxx/benchmarks/filesystem.bench.cpp | |
parent | sync (diff) | |
download | wireguard-openbsd-16ff81ed8b1ed9aa06fb1a731a2446b66cc49bef.tar.xz wireguard-openbsd-16ff81ed8b1ed9aa06fb1a731a2446b66cc49bef.zip |
Remove libc++ and libc++abi 8.0.0 now that we switched to version 10.0.1
in the gnu/ directory.
Diffstat (limited to 'lib/libcxx/benchmarks/filesystem.bench.cpp')
-rw-r--r-- | lib/libcxx/benchmarks/filesystem.bench.cpp | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/lib/libcxx/benchmarks/filesystem.bench.cpp b/lib/libcxx/benchmarks/filesystem.bench.cpp deleted file mode 100644 index 3e495605915..00000000000 --- a/lib/libcxx/benchmarks/filesystem.bench.cpp +++ /dev/null @@ -1,163 +0,0 @@ -#include "benchmark/benchmark.h" -#include "GenerateInput.hpp" -#include "test_iterators.h" -#include "filesystem_include.hpp" - -static const size_t TestNumInputs = 1024; - - -template <class GenInputs> -void BM_PathConstructString(benchmark::State &st, GenInputs gen) { - using fs::path; - const auto in = gen(st.range(0)); - path PP; - for (auto& Part : in) - PP /= Part; - benchmark::DoNotOptimize(PP.native().data()); - while (st.KeepRunning()) { - const path P(PP.native()); - benchmark::DoNotOptimize(P.native().data()); - } - st.SetComplexityN(st.range(0)); -} -BENCHMARK_CAPTURE(BM_PathConstructString, large_string, - getRandomStringInputs)->Range(8, TestNumInputs)->Complexity(); - - -template <class GenInputs> -void BM_PathConstructCStr(benchmark::State &st, GenInputs gen) { - using fs::path; - const auto in = gen(st.range(0)); - path PP; - for (auto& Part : in) - PP /= Part; - benchmark::DoNotOptimize(PP.native().data()); - while (st.KeepRunning()) { - const path P(PP.native().c_str()); - benchmark::DoNotOptimize(P.native().data()); - } -} -BENCHMARK_CAPTURE(BM_PathConstructCStr, large_string, - getRandomStringInputs)->Arg(TestNumInputs); - - -template <template <class...> class ItType, class GenInputs> -void BM_PathConstructIter(benchmark::State &st, GenInputs gen) { - using fs::path; - using Iter = ItType<std::string::const_iterator>; - const auto in = gen(st.range(0)); - path PP; - for (auto& Part : in) - PP /= Part; - auto Start = Iter(PP.native().begin()); - auto End = Iter(PP.native().end()); - benchmark::DoNotOptimize(PP.native().data()); - benchmark::DoNotOptimize(Start); - benchmark::DoNotOptimize(End); - while (st.KeepRunning()) { - const path P(Start, End); - benchmark::DoNotOptimize(P.native().data()); - } - st.SetComplexityN(st.range(0)); -} -template <class GenInputs> -void BM_PathConstructInputIter(benchmark::State &st, GenInputs gen) { - BM_PathConstructIter<input_iterator>(st, gen); -} -template <class GenInputs> -void BM_PathConstructForwardIter(benchmark::State &st, GenInputs gen) { - BM_PathConstructIter<forward_iterator>(st, gen); -} -BENCHMARK_CAPTURE(BM_PathConstructInputIter, large_string, - getRandomStringInputs)->Range(8, TestNumInputs)->Complexity(); -BENCHMARK_CAPTURE(BM_PathConstructForwardIter, large_string, - getRandomStringInputs)->Range(8, TestNumInputs)->Complexity(); - - -template <class GenInputs> -void BM_PathIterateMultipleTimes(benchmark::State &st, GenInputs gen) { - using fs::path; - const auto in = gen(st.range(0)); - path PP; - for (auto& Part : in) - PP /= Part; - benchmark::DoNotOptimize(PP.native().data()); - while (st.KeepRunning()) { - for (auto &E : PP) { - benchmark::DoNotOptimize(E.native().data()); - } - benchmark::ClobberMemory(); - } - st.SetComplexityN(st.range(0)); -} -BENCHMARK_CAPTURE(BM_PathIterateMultipleTimes, iterate_elements, - getRandomStringInputs)->Range(8, TestNumInputs)->Complexity(); - - -template <class GenInputs> -void BM_PathIterateOnce(benchmark::State &st, GenInputs gen) { - using fs::path; - const auto in = gen(st.range(0)); - path PP; - for (auto& Part : in) - PP /= Part; - benchmark::DoNotOptimize(PP.native().data()); - while (st.KeepRunning()) { - const path P = PP.native(); - for (auto &E : P) { - benchmark::DoNotOptimize(E.native().data()); - } - benchmark::ClobberMemory(); - } - st.SetComplexityN(st.range(0)); -} -BENCHMARK_CAPTURE(BM_PathIterateOnce, iterate_elements, - getRandomStringInputs)->Range(8, TestNumInputs)->Complexity(); - -template <class GenInputs> -void BM_PathIterateOnceBackwards(benchmark::State &st, GenInputs gen) { - using fs::path; - const auto in = gen(st.range(0)); - path PP; - for (auto& Part : in) - PP /= Part; - benchmark::DoNotOptimize(PP.native().data()); - while (st.KeepRunning()) { - const path P = PP.native(); - const auto B = P.begin(); - auto I = P.end(); - while (I != B) { - --I; - benchmark::DoNotOptimize(*I); - } - benchmark::DoNotOptimize(*I); - } -} -BENCHMARK_CAPTURE(BM_PathIterateOnceBackwards, iterate_elements, - getRandomStringInputs)->Arg(TestNumInputs); - -static fs::path getRandomPaths(int NumParts, int PathLen) { - fs::path Result; - while (NumParts--) { - std::string Part = getRandomString(PathLen); - Result /= Part; - } - return Result; -} - -template <class GenInput> -void BM_LexicallyNormal(benchmark::State &st, GenInput gen, size_t PathLen) { - using fs::path; - auto In = gen(st.range(0), PathLen); - benchmark::DoNotOptimize(&In); - while (st.KeepRunning()) { - benchmark::DoNotOptimize(In.lexically_normal()); - } - st.SetComplexityN(st.range(0)); -} -BENCHMARK_CAPTURE(BM_LexicallyNormal, small_path, - getRandomPaths, /*PathLen*/5)->RangeMultiplier(2)->Range(2, 256)->Complexity(); -BENCHMARK_CAPTURE(BM_LexicallyNormal, large_path, - getRandomPaths, /*PathLen*/32)->RangeMultiplier(2)->Range(2, 256)->Complexity(); - -BENCHMARK_MAIN(); |