43 #pragma GCC system_header 50 #include <boost/date_time/posix_time/posix_time.hpp> 80 boost::posix_time::ptime end_time = boost::posix_time::microsec_clock::local_time ();
81 return (static_cast<double> (((end_time -
start_time_).total_milliseconds ())));
95 start_time_ = boost::posix_time::microsec_clock::local_time ();
121 title_ (
std::string (title))
123 start_time_ = boost::posix_time::microsec_clock::local_time ();
127 title_ (
std::string (
""))
129 start_time_ = boost::posix_time::microsec_clock::local_time ();
135 std::cerr << title_ <<
" took " << val <<
"ms.\n";
161 : window_size_ (window_size)
163 stop_watch_.reset ();
169 event_time_queue_.push (stop_watch_.getTimeSeconds ());
170 if (event_time_queue_.size () > window_size_)
171 event_time_queue_.pop ();
178 if (event_time_queue_.size () < 2)
180 return ((event_time_queue_.size () - 1) /
181 (event_time_queue_.back () - event_time_queue_.front ()));
187 stop_watch_.reset ();
188 event_time_queue_ = std::queue<double> ();
194 std::queue<double> event_time_queue_;
195 const size_t window_size_;
199 #ifndef MEASURE_FUNCTION_TIME 200 #define MEASURE_FUNCTION_TIME \ 201 ScopeTime scopeTime(__func__) 207 boost::posix_time::ptime epoch_time (boost::gregorian::date (1970, 1, 1));
208 boost::posix_time::ptime current_time = boost::posix_time::microsec_clock::local_time ();
209 return (static_cast<double>((current_time - epoch_time).total_nanoseconds ()) * 1.0e-9);
214 #define DO_EVERY_TS(secs, currentTime, code) \ 216 static double s_lastDone_ = 0.0; \ 217 double s_now_ = (currentTime); \ 218 if (s_lastDone_ > s_now_) \ 219 s_lastDone_ = s_now_; \ 220 if ((s_now_ - s_lastDone_) > (secs)) { \ 222 s_lastDone_ = s_now_; \ 230 #define DO_EVERY(secs, code) \ 231 DO_EVERY_TS(secs, pcl::getTime(), code) 237 #endif //#ifndef PCL_NORMS_H_
void event()
Notifies the class that the event occurred.
This file defines compatibility wrappers for low level I/O functions.
virtual ~StopWatch()
Destructor.
Class to measure the time spent in a scope.
ScopeTime(const char *title)
A helper class to measure frequency of a certain event.
double getFrequency() const
Retrieve the estimated frequency.
EventFrequency(size_t window_size=30)
Constructor.
void reset()
Reset frequency computation.
boost::posix_time::ptime start_time_
void reset()
Reset the stopwatch to 0.
double getTimeSeconds()
Retrieve the time in seconds spent since the last call to reset().
double getTime()
Retrieve the time in milliseconds spent since the last call to reset().