31 #ifndef OPENVDB_UTIL_CPUTIMER_HAS_BEEN_INCLUDED 32 #define OPENVDB_UTIL_CPUTIMER_HAS_BEEN_INCLUDED 36 #include <tbb/tick_count.h> 98 CpuTimer(std::ostream& os = std::cerr) : mOutStream(os), mT0(
tbb::tick_count::now()) {}
103 CpuTimer(
const std::string& msg, std::ostream& os = std::cerr) : mOutStream(os), mT0() { this->start(msg); }
108 inline void start() { mT0 = tbb::tick_count::now(); }
113 inline void start(
const std::string& msg)
115 mOutStream << msg <<
" ...";
124 tbb::tick_count::interval_t dt = tbb::tick_count::now() - mT0;
125 return 1000.0*dt.seconds();
133 tbb::tick_count::interval_t dt = tbb::tick_count::now() - mT0;
140 inline std::string
time()
const 142 const double msec = this->milliseconds();
143 std::ostringstream os;
153 const double msec = this->milliseconds();
154 printTime(mOutStream, msec,
" completed in ",
"\n", 4, 3, 1);
161 inline double stop(
const std::string& msg)
const 163 const double msec = this->milliseconds();
164 mOutStream << msg <<
" ...";
165 printTime(mOutStream, msec,
" completed in ",
"\n", 4, 3, 1);
175 const double msec = this->milliseconds();
186 const double delta = this->stop();
192 std::ostream& mOutStream;
201 #endif // OPENVDB_UTIL_CPUTIMER_HAS_BEEN_INCLUDED double restart(const std::string &msg)
Stop previous timer, print message and re-start timer.
Definition: CpuTimer.h:184
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)
CpuTimer(const std::string &msg, std::ostream &os=std::cerr)
Prints message and start timer.
Definition: CpuTimer.h:103
OPENVDB_DEPRECATED double delta() const
This method is identical to milliseconds() - deprecated.
Definition: CpuTimer.h:138
double restart()
Re-start timer.
Definition: CpuTimer.h:173
double milliseconds() const
Return Time difference in milliseconds since construction or start was called.
Definition: CpuTimer.h:122
std::string time() const
Definition: CpuTimer.h:140
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:128
void start(const std::string &msg)
Print message and start timer.
Definition: CpuTimer.h:113
double stop(const std::string &msg) const
Returns and prints time in milliseconds since construction or start was called.
Definition: CpuTimer.h:161
Simple timer for basic profiling.
Definition: CpuTimer.h:93
Definition: Exceptions.h:40
double seconds() const
Return Time difference in seconds since construction or start was called.
Definition: CpuTimer.h:131
Library and file format version numbers.
void start()
Start timer.
Definition: CpuTimer.h:108
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:180
CpuTimer(std::ostream &os=std::cerr)
Initiate timer.
Definition: CpuTimer.h:98
double stop() const
Returns and prints time in milliseconds since construction or start was called.
Definition: CpuTimer.h:151