Class implementing stopwatch to time execution.
More...
#include <Stopwatch.h>
Classes | |
| class | Watch |
| Class to store a single stopwatch. More... | |
Public Member Functions | |
| void | start (const std::string &name) |
| Start timer named "name". More... | |
| void | start () |
| void | stop (const std::string &name) |
| Stop timer named "name". More... | |
| void | stop () |
| void | pause (const std::string &name) |
| Pause timer named "name". More... | |
| void | pause () |
Private Member Functions | |
| std::ostream & | log (std::ostream &) const |
Private Attributes | |
| std::unordered_map< std::string, Watch > | watches |
Friends | |
| std::ostream & | operator<< (std::ostream &, const Stopwatch &) |
| Dump all timers on an ostream. More... | |
Class implementing stopwatch to time execution.
Each instance of this class is a container which can keep track of several named stopwatches at the same time. Access to the stopwatches is obtained using start(), stop(), pause() methods, giving as a parameter the name of the specific stopwatch. Also an empty string can be used (un-named stopwatch). Finally, all the times can be logged using << operator
#include "Stopwatch.h"
int main(){
Stopwatch sw;
sw.start();
sw.start("initialization");
// do initialization ...
sw.stop("initialization");
for(int i=0;i<100;i++){
sw.start("loop");
// do calculation
sw.stop("loop");
}
sw.stop();
return 0;
}Using pause a stopwatch can be put on hold until the next start:
#include "Stopwatch.h"
int main(){
Stopwatch sw;
sw.start();
sw.start("initialization");
// do initialization ...
sw.stop("initialization");
for(int i=0;i<100;i++){
sw.start("loop");
// do calculation
sw.pause("loop");
// here goes something that we do not want to include
sw.start("loop");
// do calculation
sw.stop("loop");
}
sw.stop();
return 0;
}
|
private |
| void PLMD::Stopwatch::pause | ( | const std::string & | name | ) |
Pause timer named "name".
|
inline |
| void PLMD::Stopwatch::start | ( | const std::string & | name | ) |
Start timer named "name".
|
inline |
| void PLMD::Stopwatch::stop | ( | const std::string & | name | ) |
Stop timer named "name".
|
inline |
|
friend |
Dump all timers on an ostream.
|
private |
Hosted by GitHub
|
1.8.14
|