A timer for measuring performance of code and dumping the results to a file. More...
#include <juce_PerformanceCounter.h>
Classes | |
struct | Statistics |
Holds the current statistics. More... | |
Public Member Functions | |
PerformanceCounter (const String &counterName, int runsPerPrintout=100, const File &loggingFile=File()) | |
Creates a PerformanceCounter object. More... | |
~PerformanceCounter () | |
Destructor. More... | |
Statistics | getStatisticsAndReset () |
Returns a copy of the current stats, and resets the internal counter. More... | |
void | printStatistics () |
Dumps the current metrics to the debugger output and to a file. More... | |
void | start () noexcept |
Starts timing. More... | |
bool | stop () |
Stops timing and prints out the results. More... | |
Private Attributes | |
File | outputFile |
int64 | runsPerPrint |
int64 | startTime |
Statistics | stats |
A timer for measuring performance of code and dumping the results to a file.
e.g.
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.
{Core}
juce::PerformanceCounter::PerformanceCounter | ( | const String & | counterName, |
int | runsPerPrintout = 100 , |
||
const File & | loggingFile = File() |
||
) |
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(), the results are just written to the debugger output |
juce::PerformanceCounter::~PerformanceCounter | ( | ) |
Destructor.
Statistics juce::PerformanceCounter::getStatisticsAndReset | ( | ) |
Returns a copy of the current stats, and resets the internal counter.
void juce::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).
|
noexcept |
Starts timing.
bool juce::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.
|
private |
|
private |
|
private |
|
private |