From 1c3cf9c401ba02fd1d289f8d8de8d719cf68eba3 Mon Sep 17 00:00:00 2001 From: sale <sandi.fatic@memgraph.io> Date: Tue, 22 Nov 2016 16:42:24 +0000 Subject: [PATCH] Stripper becnhmark moved to another folder --- tests/benchmark/query/strip/stripper.cpp | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 tests/benchmark/query/strip/stripper.cpp diff --git a/tests/benchmark/query/strip/stripper.cpp b/tests/benchmark/query/strip/stripper.cpp new file mode 100644 index 000000000..9a9caffb9 --- /dev/null +++ b/tests/benchmark/query/strip/stripper.cpp @@ -0,0 +1,44 @@ +#include "logging/default.hpp" +#include "logging/streams/stdout.hpp" +#include "utils/time/timer.hpp" +#include "query/preprocesor.hpp" + +#include "benchmark/benchmark_api.h" +#include "yaml-cpp/yaml.h" + +auto BM_Strip = [](benchmark::State& state, auto& function, std::string query) { + while (state.KeepRunning()) { + for (int start = 0; start < state.range(0); start++) { + function(query); + } + } + state.SetComplexityN(state.range(0)); +}; + +int main(int argc, char** argv) { + logging::init_async(); + logging::log->pipe(std::make_unique<Stdout>()); + + YAML::Node dataset = YAML::LoadFile( + "../../tests/data/cypher_queries/stripper/query_dict.yaml"); + + QueryPreprocessor processor; + using std::placeholders::_1; + std::function<QueryStripped(const std::string& query)> preprocess = + std::bind(&QueryPreprocessor::preprocess, &processor, _1); + + auto tests = dataset["benchmark_queries"].as<std::vector<std::string>>(); + for (auto& test : tests) { + auto* benchmark = + benchmark::RegisterBenchmark(test.c_str(), BM_Strip, preprocess, test) + ->RangeMultiplier(2) + ->Range(1, 8 << 10) + ->Complexity(benchmark::oN); + ; + } + + benchmark::Initialize(&argc, argv); + benchmark::RunSpecifiedBenchmarks(); + + return 0; +}