A timer for measuring performance of code and dumping the results to a file. More...
Public Member Functions | |
| PerformanceCounter (const String &counterName, int runsPerPrintout=100, const File &loggingFile=File::nonexistent) | |
| Creates a PerformanceCounter object. | |
| ~PerformanceCounter () | |
| Destructor. | |
| void | start () |
| Starts timing. | |
| void | stop () |
| Stops timing and prints out the results. | |
| void | printStatistics () |
| Dumps the current metrics to the debugger output and to a file. | |
A timer for measuring performance of code and dumping the results to a file.
e.g.
PerformanceCounter pc ("fish", 50, "/temp/myfishlog.txt"); for (;;) { pc.start(); doSomethingFishy(); pc.stop(); }
In this example, the time of each period between calling start/stop will be measured and averaged over 50 runs, and the results printed to a file every 50 times round the loop.
| PerformanceCounter::PerformanceCounter | ( | const String & | counterName, |
| int | runsPerPrintout = 100, |
||
| const File & | loggingFile = File::nonexistent |
||
| ) |
Creates a PerformanceCounter object.
| counterName | the name used when printing out the statistics |
| runsPerPrintout | the number of start/stop iterations before calling printStatistics() |
| loggingFile | a file to dump the results to - if this is File::nonexistent, the results are just written to the debugger output |
Destructor.
| void PerformanceCounter::start | ( | ) |
Starts timing.
| void PerformanceCounter::stop | ( | ) |
Stops timing and prints out the results.
The number of iterations before doing a printout of the results is set in the constructor.
| void PerformanceCounter::printStatistics | ( | ) |
Dumps the current metrics to the debugger output and to a file.
As well as using Logger::outputDebugString to print the results, this will write then to the file specified in the constructor (if this was valid).