Commit in projects/lcdd/branches/v04-00-00-pre/include/lcdd/util on MAIN | |||
TimeUtil.hh | +35 | -1 | 3111 -> 3112 |
Merge from trunk.
--- projects/lcdd/branches/v04-00-00-pre/include/lcdd/util/TimeUtil.hh 2014-05-08 21:13:38 UTC (rev 3111) +++ projects/lcdd/branches/v04-00-00-pre/include/lcdd/util/TimeUtil.hh 2014-05-08 21:16:41 UTC (rev 3112) @@ -1,10 +1,15 @@
#ifndef lcdd_util_TimeUtil_hh_
-#define lcdd_util_TimeUtil_hh_
+#define lcdd_util_TimeUtil_hh_ 1
#include <sys/time.h>
+#include <string> +#include <map> +
class TimeUtil {
+ static std::map<std::string, long> _timerMap; +
public: static long getNanoTime() {
@@ -12,6 +17,35 @@
clock_gettime(CLOCK_REALTIME, &ts); return ts.tv_nsec; }
+ + static bool haveTimer(const std::string& name) { + return _timerMap.count(name) != 0; + } + + static void startTimer(const std::string& name) { + _timerMap[name] = getNanoTime(); + } + + static long stopTimer(const std::string& name) { + _timerMap[name] = getNanoTime() - _timerMap[name]; + return _timerMap[name]; + } + + static void addTime(const std::string& name, long nanos) { + _timerMap[name] += nanos; + } + + static void createTimer(const std::string& name) { + _timerMap[name] = 0; + } + + static long getTime(const std::string& name) { + return _timerMap[name]; + } + + static void clearTimers() { + _timerMap.clear(); + }
}; #endif
Use REPLY-ALL to reply to list
To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1