#include "mockDefs.h" #include #include using namespace GitFS; using namespace GitFS::Test; const Service globalService; struct BenchmarkClient : public benchmark::Fixture { NetFS::ReqEnv re {"root", "root"}; std::string root {"/"}, deep {"/unittests/fixtures/executable"}; }; BENCHMARK_F(BenchmarkClient, statfs_root)(benchmark::State & state) { VolumeClient v; for (auto _ : state) { benchmark::DoNotOptimize(v.v->statfs(re, root)); } } BENCHMARK_F(BenchmarkClient, getattr_root)(benchmark::State & state) { VolumeClient v; for (auto _ : state) { benchmark::DoNotOptimize(v.v->getattr(re, root)); } } BENCHMARK_F(BenchmarkClient, getattr_deep)(benchmark::State & state) { VolumeClient v; for (auto _ : state) { benchmark::DoNotOptimize(v.v->getattr(re, root)); } } BENCHMARK_F(BenchmarkClient, listdir_src)(benchmark::State & state) { VolumeClient v; const std::string src {"/src"}; auto dir = v.v->opendir(re, src); for (auto _ : state) { benchmark::DoNotOptimize(dir->listdir()); } dir->close(); } BENCHMARK_MAIN();