How to Calculate the Code Execution Time in C#? - GeeksforGeeks

23 Nov, 2021
The execution time of a task is defined as the time taken by the system to execute that task. The execution time of a program is equal to the sum of the execution time of its statements. There are numerous ways to calculate the execution time of a program in C#. In this article, we will see three ways to measure execution time in C#.
We can calculate the execution time of the code using StartNew() and Stop() methods. StartNew() method comes under the Stopwatch class and it basically used to initialize a new Stopwatch instance. Internally it marks the elapsed time property equal to zero and then it starts measuring the elapsed time. This method is almost the same as calling the Stopwatch constructor first and then calling class on the new instance. 
Syntax:
public static StartNew ();
Stop() method also comes under the Stopwatch class and it is used to stop the current measuring time for an interval. Firstly we can call StartNew() method in Stopwatch to start the elapsed time and at the end, we can call this method to end the current measuring time interval. Eventually, the total execution time is calculated with the help of elapsed property. Whenever a Stopwatch instance measures more than one interval, this method is similar to pausing the elapsed time measurement. Like StartNew() method, this method is also defined under System.Diagnostics namespace. 
Syntax:
public void Stop ();
Example:
C#
// C# program to find the execution time of the codeusing System;using System.Diagnostics;  class GFG{  static public void Main(){            // Starting the Stopwatch    var watch = Stopwatch.StartNew();            // Iterating using for loop    for(int i = 0; i < 5; i++)     {                  // Print on console        Console.WriteLine("GeeksforGeeks");    }            // Stop the Stopwatch    watch.Stop();                // Print the execution time in milliseconds      // by using the property elapsed milliseconds      Console.WriteLine(          $"The Execution time of the program is {watch.ElapsedMilliseconds}ms");}}
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
The Execution time of the program is 37ms
We can also find the execution time of the code using the GetTimestamp() method. This method is quite helpful for finding the number of ticks for a duration in the timer mechanism. We can use the high-resolution performance counter of the Stopwatch class to get the current value of that counter. We can use the system timer also to get the current DateTime.Ticks property of the DateTime.UtcNow instance. Its return type is a long integer that represents the tick counter value of the timer mechanism.
Syntax:
public static long GetTimestamp ();
Example:
C#
// C# program to find the execution time of the codeusing System;using System.Diagnostics;  class GFG{  static public void Main(){            // Mark the start before the loop      var start = Stopwatch.GetTimestamp();               // Iterating using for loop    for(int i = 0; i < 5; i++)     {                  // Print on console        Console.WriteLine("GeeksforGeeks");    }            // Mark the end after the loop    var end = Stopwatch.GetTimestamp();         // Print the difference    Console.WriteLine("Elapsed Time is {0} ticks", (end - start));}}
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
Elapsed Time is 343095 ticks
We can calculate the execution time of the code using the DateTime.Now property. This property is quite helpful to get a DateTime object that is initially marked with the current date and time on the device (as the local time). The property value of this method is DateTime which is an object whose value is current local data and time. The Now property returns a DateTime value which depicts the current date and time on the device or computer. This is defined under the System namespace.
Syntax:
public static DateTime Now { get; }
Example:
C#
// C# program to find the execution time of the codeusing System;  class GFG{  static public void Main(){            // Marking the start time      DateTime start = DateTime.Now;              // Iterating using for loop       for(int i = 0 ; i < 5 ; i++)    {        Console.WriteLine("GeeksforGeeks");        }        // Marking the end time    DateTime end = DateTime.Now;             // Total Duration     TimeSpan ts = (end - start);              // Print the execution time in milliseconds    Console.WriteLine("The execution time of the program is {0} ms",                       ts.TotalMilliseconds);}}
Output:
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
The execution time of the program is 176.095 ms
Picked
C#
C# Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Extension Method in C#
HashSet in C# with Examples
C# | Inheritance
Partial Classes in C#
C# | Generics - Introduction
Convert String to Character Array in C#
Getting a Month Name Using Month Number in C#
Program to Print a New Line in C#
Socket Programming in C#
Program to find absolute value of a given number