mirror of
https://github.com/pocoproject/poco.git
synced 2025-03-03 12:58:03 +01:00
41 lines
982 B
C
41 lines
982 B
C
![]() |
#ifndef __BENCHMARK_UTILS_H__
|
||
|
#define __BENCHMARK_UTILS_H__
|
||
|
|
||
|
#include "benchmark/benchmark.h"
|
||
|
|
||
|
size_t getNumTokens(const std::string& query);
|
||
|
|
||
|
void BM_TokenizeBenchmark(benchmark::State& st, const std::string& query);
|
||
|
|
||
|
void BM_ParseBenchmark(benchmark::State& st, const std::string& query);
|
||
|
|
||
|
std::string readFileContents(const std::string& file_path);
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#define TIME_DIFF(end, start)\
|
||
|
std::chrono::duration_cast<std::chrono::duration<double>>(end - start);
|
||
|
|
||
|
#define NOW()\
|
||
|
std::chrono::high_resolution_clock::now();
|
||
|
|
||
|
#define PARSE_QUERY_BENCHMARK(name, query)\
|
||
|
static void name(benchmark::State& st) {\
|
||
|
BM_ParseBenchmark(st, query);\
|
||
|
}\
|
||
|
BENCHMARK(name);
|
||
|
|
||
|
#define TOKENIZE_QUERY_BENCHMARK(name, query)\
|
||
|
static void name(benchmark::State& st) {\
|
||
|
BM_TokenizeBenchmark(st, query);\
|
||
|
}\
|
||
|
BENCHMARK(name);
|
||
|
|
||
|
|
||
|
#define BENCHMARK_QUERY(test_name, query)\
|
||
|
TOKENIZE_QUERY_BENCHMARK(test_name##Tokenize, query)\
|
||
|
PARSE_QUERY_BENCHMARK(test_name##Parse, query)
|
||
|
|
||
|
|
||
|
#endif
|