20 #include <unordered_map>
33 std::unordered_map<std::string, std::shared_ptr<Relation>>
relationMap;
53 std::ostringstream output;
54 output <<
"ProgramRun:" <<
getRuntime() <<
"\nRelations:\n";
56 output << r.second->toString() <<
"\n";
61 inline const std::unordered_map<std::string, std::shared_ptr<Relation>>&
getRelationMap()
const {
81 std::chrono::microseconds result{0};
83 result += item.second->getLoadtime();
89 std::chrono::microseconds result{0};
91 result += item.second->getSavetime();
99 result += item.second->size();
107 result += item.second->getTotalRecursiveRuleSize();
113 std::chrono::microseconds result{0};
115 result += item.second->getCopyTime();
121 std::chrono::microseconds result{0};
123 result += item.second->getRecTime();
136 std::chrono::microseconds start, std::chrono::microseconds end)
const {
137 std::set<std::shared_ptr<Relation>> result;
139 if (cur.second->getStarttime() <= end && cur.second->getEndtime() >= start) {
140 result.insert(cur.second);
146 inline std::string
formatTime(std::chrono::microseconds runtime)
const {
150 inline std::string
formatNum(
int precision,
long number)
const {
154 inline std::vector<std::vector<std::string>>
formatTable(
Table& table,
int precision)
const {