Question:
How to mesure execution time of a method in csharp?Measuring any time interval in dot.Net.
Answer:
Measuring a time interval or the execution time of a process is not very relyable.There are several ways to do this. For example:
DateTime.UtcNow - Or - Process.TotalProcessorTime - Or - Stopwatch.StartNew
This is a good comparison of advantages and drawbacks: Beware of Stopwatch
Here is an example using StopWatch
static TimeSpan ProfileExecTime(Action func, int iterations)
{
// clean up your memory
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
func(); // warm up
var sw = Stopwatch.StartNew();
for (int i = 0; i < iterations; i++)
{
func();
}
return sw.Elapsed;
}
...
No comments:
Post a Comment