¿Cómo calcular el tiempo de ejecución del código en C#?

El tiempo de ejecución de una tarea se define como el tiempo que tarda el sistema en ejecutar esa tarea. El tiempo de ejecución de un programa es igual a la suma del tiempo de ejecución de sus sentencias. Existen numerosas formas de calcular el tiempo de ejecución de un programa en C#. En este artículo, veremos tres formas de medir el tiempo de ejecución en C#.

Método 1: Uso de los métodos StartNew() y Stop() 

Podemos calcular el tiempo de ejecución del código utilizando los métodos StartNew() y Stop(). El método StartNew() pertenece a la clase Stopwatch y básicamente se usa para inicializar una nueva instancia de Stopwatch. Internamente marca la propiedad de tiempo transcurrido igual a cero y luego comienza a medir el tiempo transcurrido. Este método es casi lo mismo que llamar primero al constructor Stopwatch y luego llamar a class en la nueva instancia. 

Sintaxis:

public static StartNew ();

El método Stop() también se incluye en la clase Stopwatch y se usa para detener el tiempo de medición actual durante un intervalo. En primer lugar, podemos llamar al método StartNew() en el cronómetro para iniciar el tiempo transcurrido y, al final, podemos llamar a este método para finalizar el intervalo de tiempo de medición actual. Eventualmente, el tiempo total de ejecución se calcula con la ayuda de la propiedad transcurrida. Cada vez que una instancia de cronómetro mide más de un intervalo, este método es similar a pausar la medición del tiempo transcurrido. Al igual que el método StartNew(), este método también se define en el espacio de nombres System.Diagnostics. 

Sintaxis:

public void Stop ();

Ejemplo:

C#

// C# program to find the execution time of the code
using 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");
}
}
Producción

GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
The Execution time of the program is 37ms

Método 2: Usar el método GetTimestamp() 

También podemos encontrar el tiempo de ejecución del código usando el método GetTimestamp(). Este método es bastante útil para encontrar el número de tics durante una duración en el mecanismo del temporizador. Podemos usar el contador de rendimiento de alta resolución de la clase Stopwatch para obtener el valor actual de ese contador. También podemos usar el temporizador del sistema para obtener la propiedad DateTime.Ticks actual de la instancia de DateTime.UtcNow. Su tipo de retorno es un entero largo que representa el valor del contador de ticks del mecanismo del temporizador.

Sintaxis:

public static long GetTimestamp ();

Ejemplo:

C#

// C# program to find the execution time of the code
using 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));
}
}
Producción

GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
Elapsed Time is 343095 ticks

Método 3: Usar la propiedad DateTime.Now

Podemos calcular el tiempo de ejecución del código usando la propiedad DateTime.Now. Esta propiedad es bastante útil para obtener un objeto DateTime que inicialmente está marcado con la fecha y hora actuales en el dispositivo (como la hora local). El valor de propiedad de este método es DateTime, que es un objeto cuyo valor es la hora y los datos locales actuales. La propiedad Now devuelve un valor DateTime que representa la fecha y la hora actuales en el dispositivo o la computadora. Esto se define en el espacio de nombres del sistema.

Sintaxis:

public static DateTime Now { get; }

Ejemplo:

C#

// C# program to find the execution time of the code
using 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);
}
}

Producción:

GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
The execution time of the program is 176.095 ms

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *