System.Diagnostics.Stopwatch is a replacement for what most people probably do to identify the time spent on executing a method. The process usually goes something like: create a DateTime.Now value at the start and then subtract the ending DateTime.Now to get the TimeDuration value that elapsed.
As an alternative, the Stopwatch class was built using low-level API calls, with less overhead than other .NET methods. If the hardware and Windows version of the computer support a high-resolution performance counter, it will use this counter instead of the standard PC clock.
Here is a simple example:
System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
watch.Start();
//do your stuff
//…
watch.Stop();
MessageBox.Show(“Time spent: ” + watch.Elapsed.ToString());