4 #ifndef OPENVDB_UTIL_CPUTIMER_HAS_BEEN_INCLUDED 5 #define OPENVDB_UTIL_CPUTIMER_HAS_BEEN_INCLUDED 9 #include <tbb/tick_count.h> 71 CpuTimer(std::ostream& os = std::cerr) : mOutStream(os), mT0(
tbb::tick_count::now()) {}
76 CpuTimer(
const std::string& msg, std::ostream& os = std::cerr) : mOutStream(os), mT0() { this->start(msg); }
81 inline void start() { mT0 = tbb::tick_count::now(); }
86 inline void start(
const std::string& msg)
88 mOutStream << msg <<
" ...";
97 tbb::tick_count::interval_t dt = tbb::tick_count::now() - mT0;
98 return 1000.0*dt.seconds();
106 tbb::tick_count::interval_t dt = tbb::tick_count::now() - mT0;
113 inline std::string
time()
const 115 const double msec = this->milliseconds();
116 std::ostringstream os;
126 const double msec = this->milliseconds();
127 printTime(mOutStream, msec,
" completed in ",
"\n", 4, 3, 1);
134 inline double stop(
const std::string& msg)
const 136 const double msec = this->milliseconds();
137 mOutStream << msg <<
" ...";
138 printTime(mOutStream, msec,
" completed in ",
"\n", 4, 3, 1);
148 const double msec = this->milliseconds();
159 const double delta = this->stop();
165 std::ostream& mOutStream;
174 #endif // OPENVDB_UTIL_CPUTIMER_HAS_BEEN_INCLUDED double seconds() const
Return Time difference in seconds since construction or start was called.
Definition: CpuTimer.h:104
double stop(const std::string &msg) const
Returns and prints time in milliseconds since construction or start was called.
Definition: CpuTimer.h:134
double stop() const
Returns and prints time in milliseconds since construction or start was called.
Definition: CpuTimer.h:124
void start()
Start timer.
Definition: CpuTimer.h:81
double restart(const std::string &msg)
Stop previous timer, print message and re-start timer.
Definition: CpuTimer.h:157
CpuTimer(std::ostream &os=std::cerr)
Initiate timer.
Definition: CpuTimer.h:71
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:102
Definition: Exceptions.h:13
CpuTimer(const std::string &msg, std::ostream &os=std::cerr)
Prints message and start timer.
Definition: CpuTimer.h:76
Library and file format version numbers.
OPENVDB_API int printTime(std::ostream &os, double milliseconds, const std::string &head="", const std::string &tail="\, int width=4, int precision=1, int verbose=0)
OPENVDB_DEPRECATED double delta() const
This method is identical to milliseconds() - deprecated.
Definition: CpuTimer.h:111
double restart()
Re-start timer.
Definition: CpuTimer.h:146
double milliseconds() const
Return Time difference in milliseconds since construction or start was called.
Definition: CpuTimer.h:95
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:154
std::string time() const
Definition: CpuTimer.h:113
void start(const std::string &msg)
Print message and start timer.
Definition: CpuTimer.h:86
Simple timer for basic profiling.
Definition: CpuTimer.h:66