AIDE .NET

Chronomètre C# (Comment ça marche pour le développeur)

Publié janvier 27, 2024
Partager:

Dans le vaste paysage des langages de programmation, C# se distingue comme un langage polyvalent et puissant utilisé pour développer un large éventail d'applications, des ordinateurs de bureau aux applications web et mobiles. L'une des principales caractéristiques qui font de C# l'un des logiciels préférés des développeurs est son riche ensemble de bibliothèques et de classes, qui offrent des solutions à divers problèmes de programmation. Parmi ceux-ci, le Classe de chronomètre occupe une place particulière en raison de son rôle dans la mesure précise du temps, le profilage et l'analyse des performances.

Dans cet article, nous verrons comment utiliser l'objet Stopwatch en C# pour trouver le temps nécessaire à l'exécution d'une tâche spécifique à l'aide de la propriété publique TimeSpan Elapsed. Nous allons également chronométrer le temps total écoulé pour la création du PDF à l'aide de la fonction IronPDF C#.

1. Qu'est-ce que la classe Chronomètre ?

La classe Stopwatch fait partie de l'espace de noms System.Diagnostics en C#, et fournit un moyen simple et efficace de mesurer le temps écoulé avec une grande précision. Il a été introduit avec le Framework .NET et s'est avéré un outil précieux pour les développeurs en ce qui concerne le suivi du temps d'exécution des segments de code, l'optimisation des performances et le profilage des applications.

2. Initialisation et utilisation de base

L'utilisation de la classe Stopwatch est simple. Pour commencer à l'utiliser, vous devez d'abord créer une nouvelle instance de la classe Stopwatch :

using System.Diagnostics;

class Program
{
    static void Main()
    {
        Stopwatch stopwatch = new Stopwatch(); // Stopwatch object
    }
}
using System.Diagnostics;

class Program
{
    static void Main()
    {
        Stopwatch stopwatch = new Stopwatch(); // Stopwatch object
    }
}
Imports System.Diagnostics

Friend Class Program
	Shared Sub Main()
		Dim stopwatch As New Stopwatch() ' Stopwatch object
	End Sub
End Class
VB   C#

Une fois l'instance Stopwatch créée, vous pouvez démarrer et arrêter le chronomètre pour mesurer le temps écoulé :

stopwatch.Start();
Console.WriteLine("It will measure the time between start and stop");
stopwatch.Stop(); // Stop measuring elapsed time
stopwatch.Start();
Console.WriteLine("It will measure the time between start and stop");
stopwatch.Stop(); // Stop measuring elapsed time
stopwatch.Start()
Console.WriteLine("It will measure the time between start and stop")
stopwatch.Stop() ' Stop measuring elapsed time
VB   C#

Le temps écoulé peut être obtenu en utilisant la propriété Elapsed :

TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Elapsed time: {elapsed}");
TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Elapsed time: {elapsed}");
Dim elapsed As TimeSpan = stopwatch.Elapsed
Console.WriteLine($"Elapsed time: {elapsed}")
VB   C#

Output:

Chronomètre C# (Comment ça marche pour les développeurs) : Figure 1 - Sortie de la minuterie du système

3. Fonctions avancées du chronomètre

La classe Stopwatch offre plusieurs fonctions avancées au-delà de la mesure de base du temps. Examinons quelques-unes de ces caractéristiques :

3.1. Méthode de redémarrage

La méthode Restart est un moyen pratique d'arrêter et de remettre à zéro le temps écoulé en une seule opération. Cela peut être utile pour mesurer le temps d'exécution de plusieurs segments de code sans créer une nouvelle instance Stopwatch.

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
Console.WriteLine("The time will restart after executing the below code");
stopwatch.Restart(); 
stopwatch.Stop();
TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Total Elapsed time after Restart: {elapsed}");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
Console.WriteLine("The time will restart after executing the below code");
stopwatch.Restart(); 
stopwatch.Stop();
TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Total Elapsed time after Restart: {elapsed}");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
Console.WriteLine("The time will restart after executing the below code")
stopwatch.Restart()
stopwatch.Stop()
Dim elapsed As TimeSpan = stopwatch.Elapsed
Console.WriteLine($"Total Elapsed time after Restart: {elapsed}")
VB   C#

Output:

Chronomètre C# (Comment ça marche pour les développeurs) : Figure 2 - Sortie du redémarrage

3.2. propriété IsHighResolution (haute résolution)

La propriété IsHighResolution indique si le mécanisme de synchronisation sous-jacent est basé sur un compteur de performance à haute résolution pour mesurer avec précision le temps écoulé. La vérification de cette propriété peut s'avérer utile dans le cas de systèmes ne supportant pas les méthodes de chronométrage à haute résolution.

Stopwatch stopwatch = new Stopwatch();
if (Stopwatch.IsHighResolution)
{
    Console.WriteLine("High-resolution timing is supported");
}
else
{
    Console.WriteLine("Fallback to lower-resolution timing");
}
Stopwatch stopwatch = new Stopwatch();
if (Stopwatch.IsHighResolution)
{
    Console.WriteLine("High-resolution timing is supported");
}
else
{
    Console.WriteLine("Fallback to lower-resolution timing");
}
Dim stopwatch As New Stopwatch()
If System.Diagnostics.Stopwatch.IsHighResolution Then
	Console.WriteLine("High-resolution timing is supported")
Else
	Console.WriteLine("Fallback to lower-resolution timing")
End If
VB   C#

Output:

Chronomètre C# (fonctionnement pour les développeurs) : Figure 3 - Sortie de chronométrage haute résolution

3.3. Propriété de la fréquence

La propriété Frequency renvoie la fréquence du timer sous-jacent en ticks par seconde. Cette valeur est utile pour convertir les ticks écoulés en d'autres unités de temps, telles que les millisecondes.

Stopwatch stopwatch = new Stopwatch();
long frequency = Stopwatch.Frequency;
Console.WriteLine($"Timer Frequency: {frequency} ticks per second");
Stopwatch stopwatch = new Stopwatch();
long frequency = Stopwatch.Frequency;
Console.WriteLine($"Timer Frequency: {frequency} ticks per second");
Dim stopwatch As New Stopwatch()
Dim frequency As Long = System.Diagnostics.Stopwatch.Frequency
Console.WriteLine($"Timer Frequency: {frequency} ticks per second")
VB   C#

Output:

Chronomètre C# (Comment ça marche pour les développeurs) : Figure 4 - Sortie de fréquence

3.4. Propriété ElapsedTicks

La propriété ElapsedTicks permet d'accéder directement au nombre de tics brut sans avoir à le convertir en unités de temps. Cela peut s'avérer utile lorsque l'on effectue des calculs personnalisés ou que l'on doit répondre à des exigences de synchronisation de bas niveau.

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// Code segment
long elapsedTicks = stopwatch.ElapsedTicks;
Console.WriteLine($"Elapsed Ticks: {elapsedTicks}");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// Code segment
long elapsedTicks = stopwatch.ElapsedTicks;
Console.WriteLine($"Elapsed Ticks: {elapsedTicks}");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
' Code segment
Dim elapsedTicks As Long = stopwatch.ElapsedTicks
Console.WriteLine($"Elapsed Ticks: {elapsedTicks}")
VB   C#

Output:

Chronomètre C# (Comment ça marche pour les développeurs) : Figure 5 - Sortie des ticks écoulés

4. Introduction à IronPDF en C&num ;

IronPDF est une puissante bibliothèque C# qui permet aux développeurs de créer, manipuler et traiter sans effort des documents PDF dans leurs applications .NET. Que vous ayez besoin de générer des PDF à partir de HTML, d'images ou d'autres formats, IronPDF fournit un ensemble complet d'outils pour une intégration transparente dans vos projets C#.

IronPDF offre la capacité unique de convertir HTML vers PDF, en conservant les mises en page et les styles intacts. Cette fonctionnalité est idéale pour créer des PDF à partir de contenu web, tel que des rapports, des factures ou de la documentation. Vous pouvez convertir des fichiers HTML, des URL et des chaînes HTML en fichiers PDF.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

4.1. Installation d'IronPDF dans C# ;

Pour commencer à utiliser IronPDF dans votre application C#, suivez ces étapes simples :

  1. NuGet Package Manager : Ouvrez votre projet C# dans Visual Studio et accédez à la console du gestionnaire de paquets. Exécutez la commande suivante pour installer IronPDF :
   Install-Package IronPdf

Vous pouvez également utiliser la fonction Site web du paquet NuGet pour télécharger et installer le paquetage "IronPDF".

  1. Référence dans le code : Après une installation réussie, ajoutez une référence à IronPDF dans votre code C# :
   using IronPdf;
   using IronPdf;
Imports IronPdf
VB   C#

Vous êtes maintenant prêt à exploiter les capacités d'IronPDF dans votre application.

4.2. Utilisation d'un chronomètre en C# pour chronométrer la création d'un PDF à partir d'une URL

Voyons maintenant comment utiliser la classe Stopwatch de C# pour mesurer le temps nécessaire à la création d'un PDF à partir d'une URL à l'aide d'IronPDF :

using System;
using System.Diagnostics;
using IronPdf;

class Program
{
    static void Main()
    {
        // Initialize IronPDF
        IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
        // Specify the URL for PDF generation
        string urlToConvert = "https://example.com";
        // Use Stopwatch to measure the time taken
        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();
        // Create PDF from URL
        PdfDocument PDF = Renderer.RenderUrlAsPdf(urlToConvert);
        // Stop measuring elapsed time
        stopwatch.Stop();
        // Save the generated PDF to a file or perform other actions
        PDF.SaveAs("GeneratedPDF.pdf");
        // Display the time taken
        Console.WriteLine($"Time taken to create PDF from URL: {stopwatch.ElapsedMilliseconds} milliseconds");
    }
}
using System;
using System.Diagnostics;
using IronPdf;

class Program
{
    static void Main()
    {
        // Initialize IronPDF
        IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
        // Specify the URL for PDF generation
        string urlToConvert = "https://example.com";
        // Use Stopwatch to measure the time taken
        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();
        // Create PDF from URL
        PdfDocument PDF = Renderer.RenderUrlAsPdf(urlToConvert);
        // Stop measuring elapsed time
        stopwatch.Stop();
        // Save the generated PDF to a file or perform other actions
        PDF.SaveAs("GeneratedPDF.pdf");
        // Display the time taken
        Console.WriteLine($"Time taken to create PDF from URL: {stopwatch.ElapsedMilliseconds} milliseconds");
    }
}
Imports System
Imports System.Diagnostics
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Initialize IronPDF
		Dim Renderer As New IronPdf.HtmlToPdf()
		' Specify the URL for PDF generation
		Dim urlToConvert As String = "https://example.com"
		' Use Stopwatch to measure the time taken
		Dim stopwatch As New Stopwatch()
		stopwatch.Start()
		' Create PDF from URL
		Dim PDF As PdfDocument = Renderer.RenderUrlAsPdf(urlToConvert)
		' Stop measuring elapsed time
		stopwatch.Stop()
		' Save the generated PDF to a file or perform other actions
		PDF.SaveAs("GeneratedPDF.pdf")
		' Display the time taken
		Console.WriteLine($"Time taken to create PDF from URL: {stopwatch.ElapsedMilliseconds} milliseconds")
	End Sub
End Class
VB   C#

Cet exemple initialise IronPDF, utilise la classe HtmlToPdf pour rendre un PDF à partir d'une URL spécifiée, et mesure le temps pris en utilisant Stopwatch. Ajustez la variable urlToConvert avec l'URL désirée, et vous pouvez personnaliser davantage le processus de création de PDF selon les besoins de votre application.

Output:

Chronomètre C# (Comment ça marche pour les développeurs) : Figure 6 - Sortie du chronomètre de création de PDF

5. Conclusion

En conclusion, la classe Stopwatch en C# est un outil essentiel pour la mesure précise du temps et l'analyse des performances, offrant aux développeurs les moyens d'optimiser le code et d'évaluer l'efficacité opérationnelle. Son interface intuitive et ses fonctions avancées le rendent polyvalent pour répondre à diverses exigences en matière de chronométrage. En outre, l'intégration d'IronPDF dans les projets C# élargit les capacités du langage en matière de manipulation de documents PDF, offrant ainsi une solution transparente pour la génération, la modification et le traitement des PDF.

L'exemple de l'utilisation de Stopwatch pour mesurer le temps nécessaire à la création d'un PDF à partir d'une URL avec IronPDF illustre la synergie entre le suivi précis du temps et les bibliothèques avancées, soulignant l'importance d'un chronométrage méticuleux dans l'évaluation des performances de l'application. Ensemble, Stopwatch de C# et IronPDF permettent aux développeurs de créer des applications très performantes avec un timing méticuleux et des capacités polyvalentes de traitement des PDF.

Pour obtenir votre licence d'essai gratuite afin de tester les fonctionnalités d'IronPDF, visitez la page page de licence. Le tutoriel complet sur la conversion d'URL en PDF se trouve à l'adresse suivante ici.

< PRÉCÉDENT
Jquery Datatable (Comment ça marche pour le développeur)
SUIVANT >
Swashbuckle ASP .NET Core (Comment ça marche pour le développeur)