7 #include <boost/archive/text_iarchive.hpp> 
    8 #include <boost/archive/text_oarchive.hpp> 
    9 #include <boost/serialization/map.hpp> 
   13 #include "../settings/Settings.h" 
   24     std::chrono::milliseconds 
time;
 
   42     template<
typename TimeLimit>
 
   53         return std::filesystem::temp_directory_path()/(
"benchmark-result-" + std::to_string(
stored_id) + 
".xml");
 
   59             boost::archive::text_oarchive oa(ofs);
 
   72             boost::archive::text_iarchive ia(ifs);
 
   86     os << 
"(" << results.
answer << 
", " << results.
exitCode << 
", " << results.
time.count() << 
"ms)" << std::endl;
 
   87     os << results.
stdout << std::endl;
 
   88     os << results.
stderr << std::endl;
 
static void remove(V &ts, const T &t)
const auto & settings_operation()
Retrieved operation settings.
std::ostream & operator<<(std::ostream &os, const BenchmarkResult &results)
Streaming operator for BenchmarkResult.
Results for a single benchmark run.
int exitCode
Shell exit code.
std::string stdout
Standard output (mostly for parsing the answer and additional information).
void cleanup(const TimeLimit &limit)
Properly detect timeouts.
std::chrono::milliseconds time
Runtime in milliseconds.
std::string stderr
Error output (mostly for parsing the answer and additional information).
void store(size_t id) const
std::size_t peak_memory_kbytes
Peak memory usage.
size_t stored_id
Identifier for temporary file.
std::map< std::string, std::string > additional
Arbitrary additional information that can be provided by the tool class.
std::string answer
Answer string.