public Stats BenchmarkAndCacheExecutionTime(int numberOfIterations, bool reportIndividualIterations)
{
// ExecutionTime = new Stats(numberOfIterations, d => TimeSpan.FromMilliseconds(d).ToString(@"ss\.fffffff") + " sec", d => (d / 1000).ToString() + " sec");
Stats.Formatter formatter =
d =>
{
string format = (d >= 1000 * 60 ? (d >= 1000 * 60 * 60 ? (d >= 1000 * 60 * 60 * 24 ? @"dd\." : "") + @"hh\:" : "") + @"mm\:" : "") + @"ss\.fff";
return TimeSpan.FromMilliseconds(d).ToString(format);
};
ExecutionTime = new Stats(numberOfIterations, formatter, formatter);
ExecutionTime = reportIndividualIterations
? Benchmark_ReportIndividualIterations(numberOfIterations, ExecutionTime)
: Benchmark (numberOfIterations, ExecutionTime);
return ExecutionTime;
}