memgraph/tests/benchmark/query/stripped.cpp
Mislav Bradac 67b859cf13 Add AST cache
Reviewers: buda, teon.banek, florijan

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D468
2017-06-14 18:59:31 +02:00

45 lines
1.1 KiB
C++

#define LOG_NO_INFO 1
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include "benchmark/benchmark_api.h"
#include "logging/default.hpp"
#include "logging/streams/stdout.hpp"
#include "query/frontend/stripped.hpp"
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>());
auto preprocess = [](const std::string &query) {
return query::StrippedQuery(query);
};
std::string path = "../../tests/data/cypher_queries/stripper/query_dict.yaml";
std::fstream queries_file(path);
std::string test;
while (std::getline(queries_file, test)) {
benchmark::RegisterBenchmark(test.c_str(), BM_Strip, preprocess, test)
->Range(1, 1)
->Complexity(benchmark::oN);
}
benchmark::Initialize(&argc, argv);
benchmark::RunSpecifiedBenchmarks();
return 0;
}