Possible Duplicate:
How do I measure how long a function is running?
I have an I/O time-taking method which copies data from a location to another. What’s the best and most real way of calculating the execution time? Thread
? Timer
? Stopwatch
? Any other solution? I want the most exact one, and briefest as much as possible.
8 s
Stopwatch
is designed for this purpose and is one of the best ways to measure time execution in .NET.
var watch = System.Diagnostics.Stopwatch.StartNew();
// the code that you want to measure comes here
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;
Do not use DateTime to measure time execution in .NET.
UPDATE:
As pointed out by @series0ne in the comments section: If you want a real precise measurement of the execution of some code, you will have to use the performance counters that’s built into the operating system. The following answer contains a nice overview.