mirror of https://github.com/opencv/opencv.git
Merge pull request #6821 from sturkmen72:TickMeter_class_addition
commit
a00f0c44ae
8 changed files with 119 additions and 61 deletions
@ -1,48 +0,0 @@ |
|||||||
#ifndef OPENCV_CUDA_SAMPLES_TICKMETER_ |
|
||||||
#define OPENCV_CUDA_SAMPLES_TICKMETER_ |
|
||||||
|
|
||||||
class CV_EXPORTS TickMeter |
|
||||||
{ |
|
||||||
public: |
|
||||||
TickMeter(); |
|
||||||
void start(); |
|
||||||
void stop(); |
|
||||||
|
|
||||||
int64 getTimeTicks() const; |
|
||||||
double getTimeMicro() const; |
|
||||||
double getTimeMilli() const; |
|
||||||
double getTimeSec() const; |
|
||||||
int64 getCounter() const; |
|
||||||
|
|
||||||
void reset(); |
|
||||||
private: |
|
||||||
int64 counter; |
|
||||||
int64 sumTime; |
|
||||||
int64 startTime; |
|
||||||
}; |
|
||||||
|
|
||||||
std::ostream& operator << (std::ostream& out, const TickMeter& tm); |
|
||||||
|
|
||||||
|
|
||||||
TickMeter::TickMeter() { reset(); } |
|
||||||
int64 TickMeter::getTimeTicks() const { return sumTime; } |
|
||||||
double TickMeter::getTimeMicro() const { return getTimeMilli()*1e3;} |
|
||||||
double TickMeter::getTimeMilli() const { return getTimeSec()*1e3; } |
|
||||||
double TickMeter::getTimeSec() const { return (double)getTimeTicks()/cv::getTickFrequency();} |
|
||||||
int64 TickMeter::getCounter() const { return counter; } |
|
||||||
void TickMeter::reset() {startTime = 0; sumTime = 0; counter = 0; } |
|
||||||
|
|
||||||
void TickMeter::start(){ startTime = cv::getTickCount(); } |
|
||||||
void TickMeter::stop() |
|
||||||
{ |
|
||||||
int64 time = cv::getTickCount(); |
|
||||||
if ( startTime == 0 ) |
|
||||||
return; |
|
||||||
++counter; |
|
||||||
sumTime += ( time - startTime ); |
|
||||||
startTime = 0; |
|
||||||
} |
|
||||||
|
|
||||||
std::ostream& operator << (std::ostream& out, const TickMeter& tm) { return out << tm.getTimeSec() << "sec"; } |
|
||||||
|
|
||||||
#endif |
|
Loading…
Reference in new issue