SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
benchmarks.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "BenchmarkSet.h"
4 
6 
7 #include <vector>
8 
9 namespace benchmax {
10 
11 /// Loads benchmark files from directory specified in settings.
12 BenchmarkSet loadBenchmarks();
13 
14 namespace settings {
15 
16 /// Settings for benchmarks.
18  /// Memory limit in megabytes.
19  carl::settings::binary_quantity limit_memory;
20  /// Time limit in seconds.
21  carl::settings::duration limit_time;
22  /// Grace time in seconds.
23  carl::settings::duration grace_time;
24  /// Lift of input directories.
25  std::vector<std::filesystem::path> input_directories;
26  /// Common prefix of input directories (to shorten filenames in output).
27  std::filesystem::path input_directories_common_prefix;
28  /// Output directory.
29  std::filesystem::path output_dir;
30  /// Filename of xml file.
31  std::filesystem::path output_file_xml;
32  /// Filename of xml file.
33  std::filesystem::path output_file_csv;
34 };
35 
36 /// Registers benchmark settings with the settings parser.
38 } // namespace settings
39 
40 /// Return the benchmark settings.
41 inline const auto& settings_benchmarks() {
42  return settings_get<settings::BenchmarkSettings>("benchmarks");
43 }
44 
45 } // namespace benchmax
Generic class to manage settings parsing using boost::program_options.
void registerBenchmarkSettings(SettingsParser *parser)
Registers benchmark settings with the settings parser.
Definition: benchmarks.cpp:30
BenchmarkSet loadBenchmarks()
Loads benchmark files from directory specified in settings.
Definition: benchmarks.cpp:8
const auto & settings_benchmarks()
Return the benchmark settings.
Definition: benchmarks.h:41
Settings for benchmarks.
Definition: benchmarks.h:17
std::filesystem::path output_file_csv
Filename of xml file.
Definition: benchmarks.h:33
carl::settings::duration grace_time
Grace time in seconds.
Definition: benchmarks.h:23
carl::settings::binary_quantity limit_memory
Memory limit in megabytes.
Definition: benchmarks.h:19
std::filesystem::path output_dir
Output directory.
Definition: benchmarks.h:29
carl::settings::duration limit_time
Time limit in seconds.
Definition: benchmarks.h:21
std::filesystem::path output_file_xml
Filename of xml file.
Definition: benchmarks.h:31
std::vector< std::filesystem::path > input_directories
Lift of input directories.
Definition: benchmarks.h:25
std::filesystem::path input_directories_common_prefix
Common prefix of input directories (to shorten filenames in output).
Definition: benchmarks.h:27