25 #ifndef ICL_CORE_TIMER_H 26 #define ICL_CORE_TIMER_H 94 static void start(std::string timer_name);
105 static double measurement(std::string timer_name, std::string description, std::string prefix =
"",
118 static double startStop(std::string timer_name, std::string description, std::string prefix =
"",
127 static void addData(std::string name,
double data, std::string prefix);
136 static void addStaticData(std::string name,
double data, std::string prefix);
146 static void addNonTimeData(std::string name,
double data, std::string prefix);
152 static void enablePrefix(std::string prefix);
160 static void enableAll(
const bool& enabled);
166 static void disablePrefix(std::string prefix);
174 static void printSummary(std::string prefix, std::string name,
205 void createStatisticSummary(std::stringstream& ss, std::string prefix, std::string name);
206 void createStatisticSummaryNonTime(std::stringstream& ss, std::string prefix, std::string name);
213 void addEvent(std::string prefix, std::string name,
double data);
214 void addNonTimeEvent(std::string prefix, std::string name,
double data);
217 bool isEnabled(std::string prefix);
220 double getAverage(std::string name);
221 double getAverageNonTime(std::string name);
224 void getMedian(std::string name,
double& median,
double& min,
double& max);
225 void getMedianNonTime(std::string name,
double& median,
double& min,
double& max);
227 std::map<std::string, std::vector<double> >
m_data;
bool initialize(int &argc, char *argv[], bool remove_read_arguments)