perf_framework: added TEST_CYCLE_MULTIRUN macros ( invokes function tested several times at each iteration )

This commit is contained in:
Anatoly Baksheev
2012-05-24 17:12:14 +00:00
parent 276a3fe01b
commit 6455488ff4
2 changed files with 17 additions and 5 deletions

View File

@@ -279,6 +279,7 @@ private:
unsigned int nIters;
unsigned int currentIter;
unsigned int runsPerIteration;
performance_metrics metrics;
void validateMetrics();
@@ -307,6 +308,7 @@ private:
_declareHelper& iterations(unsigned int n);
_declareHelper& time(double timeLimitSecs);
_declareHelper& tbb_threads(int n = -1);
_declareHelper& runs(unsigned int runsNumber);
private:
TestBase* test;
_declareHelper(TestBase* t);
@@ -460,6 +462,7 @@ int main(int argc, char **argv)\
#define TEST_CYCLE_N(n) for(declare.iterations(n); startTimer(), next(); stopTimer())
#define TEST_CYCLE() for(; startTimer(), next(); stopTimer())
#define TEST_CYCLE_MULTIRUN(runsNum) for(declare.runs(runsNum); startTimer(), next(); stopTimer()) for(int r = 0; r < runsNum; ++r)
//flags
namespace perf