This group contains simple tools for measuring the performance of algorithms.
Classes | |
| class | Counter |
| A counter class. More... | |
| class | NoCounter |
| 'Do nothing' version of Counter. More... | |
| class | TimeStamp |
| A class to store (cpu)time instances. More... | |
| class | Timer |
| Class for measuring the cpu time and real time usage of the process. More... | |
| class | TimeReport |
| Same as Timer but prints a report on destruction. More... | |
| class | NoTimeReport |
| 'Do nothing' version of TimeReport More... | |
Files | |
| file | counter.h |
Tools for counting steps and events. | |
| file | time_measure.h |
Tools for measuring cpu usage. | |
Functions | |
| template<class F > | |
| TimeStamp | runningTimeTest (F f, double min_time=10, unsigned int *num=NULL, TimeStamp *full_time=NULL) |
| Tool to measure the running time more exactly. | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const TimeStamp &t) |
| Prints the time counters. | |
| TimeStamp lemon::runningTimeTest | ( | F | f, |
| double | min_time = 10, |
||
| unsigned int * | num = NULL, |
||
| TimeStamp * | full_time = NULL |
||
| ) |
This function calls f several times and returns the average running time. The number of the executions will be choosen in such a way that the full real running time will be roughly between min_time and 2*min_time.
| f | the function object to be measured. |
| min_time | the minimum total running time. |
| num | if it is not NULL, then the actual number of execution of f will be written into *num. |
| full_time | if it is not NULL, then the actual total running time will be written into *full_time. |
f. | std::ostream & operator<< | ( | std::ostream & | os, |
| const TimeStamp & | t | ||
| ) | [friend, inherited] |
Prints the time counters in the following form:
u: XX.XXs s: XX.XXs cu: XX.XXs cs: XX.XXs real: XX.XXs
where the values are the
u: user cpu time, s: system cpu time, cu: user cpu time of children, cs: system cpu time of children, real: real time.WIN32 platform the cummulative values are not calculated.
1.7.3