From 46035553bfdd96e63c94e32da0210227ec2e3cf1 Mon Sep 17 00:00:00 2001 From: patrick Date: Sat, 2 Jan 2021 20:29:13 +0000 Subject: Import libc++ 10.0.1 release. --- gnu/llvm/libcxx/benchmarks/filesystem.bench.cpp | 163 ++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 gnu/llvm/libcxx/benchmarks/filesystem.bench.cpp (limited to 'gnu/llvm/libcxx/benchmarks/filesystem.bench.cpp') diff --git a/gnu/llvm/libcxx/benchmarks/filesystem.bench.cpp b/gnu/llvm/libcxx/benchmarks/filesystem.bench.cpp new file mode 100644 index 00000000000..64314ac5ab0 --- /dev/null +++ b/gnu/llvm/libcxx/benchmarks/filesystem.bench.cpp @@ -0,0 +1,163 @@ +#include "benchmark/benchmark.h" +#include "GenerateInput.h" +#include "test_iterators.h" +#include "filesystem_include.h" + +static const size_t TestNumInputs = 1024; + + +template +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 +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