#include <benchmark/benchmark.h>
#include <common/utility.hpp>
namespace
{
std::string configuration_file{"/vsomeip/vsomeip_policy_extensions.json"}; }
static void BM_configuration_element(benchmark::State &state)
{
std::unique_ptr<vsomeip_v3::policy_manager_impl> security(new vsomeip_v3::policy_manager_impl);
std::vector<vsomeip_v3::configuration_element> full_element = {};
std::set<std::string> its_failed;
std::vector<std::string> dir_skip;
utility::read_data(utility::get_all_files_in_dir(
utility::get_policies_path(), dir_skip),
full_element, its_failed);
for (auto _ : state)
{
security->load(full_element.at(0), false);
}
}
static void BM_lazy_load(benchmark::State &state)
{
std::unique_ptr<vsomeip_v3::policy_manager_impl> security(new vsomeip_v3::policy_manager_impl);
std::vector<vsomeip_v3::configuration_element> element = {};
const bool lazy_load = true;
std::set<std::string> its_failed;
std::vector<std::string> dir_skip;
utility::read_data(utility::get_all_files_in_dir(
utility::get_policies_path(), dir_skip),
element, its_failed);
for (auto _ : state)
{
security->load(element.at(0), lazy_load);
}
}
BENCHMARK(BM_configuration_element);
BENCHMARK(BM_lazy_load);