diff options
author | 윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 <jy910.yun@samsung.com> | 2019-06-26 18:39:06 +0900 |
---|---|---|
committer | 이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 <chunseok.lee@samsung.com> | 2019-06-26 18:39:06 +0900 |
commit | d4a2f332dc799da82592d27f4aea400f41ed21b5 (patch) | |
tree | e8e2e9e01084e4d2af5122772a28b31a7d014278 /tools | |
parent | 0f2b1e4db88c0f14b04719cae5b7ac4f250ffd1b (diff) | |
download | nnfw-d4a2f332dc799da82592d27f4aea400f41ed21b5.tar.gz nnfw-d4a2f332dc799da82592d27f4aea400f41ed21b5.tar.bz2 nnfw-d4a2f332dc799da82592d27f4aea400f41ed21b5.zip |
[kbenchmark] Add filter option (#5360)
This option allows to run benchmark whose name matches the regex.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/kbenchmark/Args.cc | 1 | ||||
-rw-r--r-- | tools/kbenchmark/Args.h | 2 | ||||
-rw-r--r-- | tools/kbenchmark/Driver.cc | 6 |
3 files changed, 8 insertions, 1 deletions
diff --git a/tools/kbenchmark/Args.cc b/tools/kbenchmark/Args.cc index 95145a84e..204810b87 100644 --- a/tools/kbenchmark/Args.cc +++ b/tools/kbenchmark/Args.cc @@ -33,6 +33,7 @@ void Args::Initialize(const int argc, char **argv) ("config,c", po::value<std::string>(&_config)->required(), "Configuration filename") ("kernel,k", po::value<std::vector<std::string>>(&_kernel)->multitoken()->composing()->required(), "Kernel library name, support multiple kernel libraries") ("reporter,r", po::value<std::string>(&_reporter)->default_value("standard"), "Set reporter types(standard, html, junit, csv)") + ("filter,f", po::value<std::string>(&_filter)->default_value(".*"), "Only run benchmarks whose name matches the regular expression pattern") ("verbose,v", po::value<int>(&_verbose)->default_value(0)->implicit_value(true), "Show verbose output") ("output,o", po::value<std::string>(&_output)->default_value(""), "Set additional strings for output file name") ; diff --git a/tools/kbenchmark/Args.h b/tools/kbenchmark/Args.h index b848f9579..ff1400c12 100644 --- a/tools/kbenchmark/Args.h +++ b/tools/kbenchmark/Args.h @@ -34,6 +34,7 @@ public: const std::string &config(void) { return _config; } const std::vector<std::string> &kernel(void) { return _kernel; } const std::string &reporter(void) { return _reporter; } + const std::string &filter(void) { return _filter; } const std::string &output(void) { return _output; } int verbose(void) { return _verbose; } @@ -44,6 +45,7 @@ private: std::string _config; std::vector<std::string> _kernel; std::string _reporter; + std::string _filter; std::string _output; int _verbose; }; diff --git a/tools/kbenchmark/Driver.cc b/tools/kbenchmark/Driver.cc index 8d9e6b728..006fe9e28 100644 --- a/tools/kbenchmark/Driver.cc +++ b/tools/kbenchmark/Driver.cc @@ -85,7 +85,10 @@ int main(int argc, char *argv[]) std::cout << "benchmark functions list:" << std::endl; for (auto &&f : benchmarks) { - std::cout << " " << f.name << std::endl; + if (std::regex_match(f.name, std::regex(args.filter()))) + { + std::cout << " " << f.name << std::endl; + } } } @@ -99,6 +102,7 @@ int main(int argc, char *argv[]) // Set noninus configuration nonius::configuration cfg; cfg.reporter = reporter; + cfg.filter_pattern = args.filter(); cfg.verbose = args.verbose(); cfg.title = test_name; cfg.output_file = test_name + ext; |