C# (sharp) – Calculate Execution Time

csharp-logo.pngStopwatch is designed for this purpose, and is one of the best way to measure time execution in .NET.

Examples

Here is a simple usecase.

var watch = System.Diagnostics.Stopwatch.StartNew();
// the code that you want to measure comes here
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;

Do not use DateTimes to measure time execution in .NET.

It is worth mentioning that DateTime.Now often is quite a bit slower than DateTime.UtcNow due to the work that has to be done with timezones, DST and such.

DateTime.UtcNow typically has a resolution of 15 ms. See John Chapman’s blog post about DateTime.Now precision for a great summary.

You can also check multiples times before you stop the watcher.

long step1ElapsedMilliseconds;
long step2ElapsedMilliseconds;
var watch = System.Diagnostics.Stopwatch.StartNew();

// the code that you want to measure comes here 1/2
step1ElapsedMilliseconds = watch.ElapsedMilliseconds;

// the code that you want to measure comes here 2/2
step2ElapsedMilliseconds = watch.ElapsedMilliseconds;

watch.Stop();
Debug.Log("Execution time for step 1 in m: "
    + step1ElapsedMilliseconds );
Debug.Log("Execution time for step 2 in m: "
    + (step2ElapsedMilliseconds - step1ElapsedMilliseconds) );
Debug.Log("Total Execution time in ms: "
    + watch.ElapsedMilliseconds);

Source

https://github.com/DamienFremont/blog/tree/master/20170919-c-sharp-calculate-execution-time

References

https://stackoverflow.com/questions/14019510/calculate-the-execution-time-of-a-method

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s