11 std::filesystem::path path(p);
13 BENCHMAX_LOG_INFO(
"benchmax.benchmarks",
"Adding input directory " << path.native());
16 BENCHMAX_LOG_WARN(
"benchmax.benchmarks",
"Benchmark path " << p <<
" does not exist.");
31 namespace po = boost::program_options;
32 auto& settings = settings::Settings::getInstance();
35 parser->add_finalizer([&s](
const auto& values){
38 parser->add(
"Benchmark settings").add_options()
39 (
"memory,M", po::value<carl::settings::binary_quantity>(&s.limit_memory)->default_value(carl::settings::binary_quantity(1024*1024*1024)),
"memory limit")
40 (
"timeout,T", po::value<carl::settings::duration>(&s.limit_time)->default_value(std::chrono::seconds(60))->value_name(
"time"),
"timeout")
41 (
"grace-time", po::value<carl::settings::duration>(&s.grace_time)->default_value(std::chrono::seconds(3))->value_name(
"time"),
"grace time")
42 (
"directory,D", po::value<std::vector<std::filesystem::path>>(&s.input_directories),
"path to look for benchmarks")
43 (
"output-dir", po::value<std::filesystem::path>(&s.output_dir),
"output directory")
44 (
"output-xml,X", po::value<std::filesystem::path>(&s.output_file_xml),
"filename for xml output file")
45 (
"output-csv,C", po::value<std::filesystem::path>(&s.output_file_csv),
"filename for csv output file")
#define BENCHMAX_LOG_WARN(channel, msg)
Log warnings.
#define BENCHMAX_LOG_INFO(channel, msg)
Log informational messages.
A set of benchmarks from some common base directory.
void add_directory(const std::filesystem::path &dir)
Recursively find all benchmarks from this directory.
Generic class to manage settings parsing using boost::program_options.
bool finalize_benchmark_settings(BenchmarkSettings &s, const boost::program_options::variables_map &)
Postprocess benchmark settings.
void registerBenchmarkSettings(SettingsParser *parser)
Registers benchmark settings with the settings parser.
BenchmarkSet loadBenchmarks()
Loads benchmark files from directory specified in settings.
const auto & settings_benchmarks()
Return the benchmark settings.
std::filesystem::path common_prefix(const std::filesystem::path &p1, const std::filesystem::path &p2)
Computes the common prefix of two paths.
CoveringResult< typename op::PropertiesSet > exists(cadcells::datastructures::Projections &proj, FE &f, cadcells::Assignment ass, const VariableQuantification &quantification, bool characterize_sat, bool characterize_unsat)
std::vector< std::filesystem::path > input_directories
Lift of input directories.
std::filesystem::path input_directories_common_prefix
Common prefix of input directories (to shorten filenames in output).