Verwenden Sie die Stopwatch-Klasse von C#, um die zur Erstellung eines PDFs benötigte Zeit zu messen. Sehen Sie die Ergebnisse in Aktion!
using System;
using System.Diagnostics;
using IronPdf;
class Program
{
static void Main()
{
License.LicenseKey = "Enter License";
// Initialize IronPDF
ChromePdfRenderer Renderer = new ChromePdfRenderer();
// 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");
}
}
In der weiten Landschaft der Programmiersprachen sticht C# als vielseitige und leistungsstarke Sprache für die Entwicklung einer breiten Palette von Anwendungen hervor, von Desktop- bis hin zu Web- und mobilen Anwendungen. Eines der Hauptmerkmale, die C# zu einem Favoriten unter den Entwicklern machen, ist die große Anzahl an Bibliotheken und Klassen, die Lösungen für verschiedene Programmieraufgaben bieten. Darunter sind dieStoppuhr-Klasse nimmt aufgrund seiner Rolle bei der genauen Zeitmessung, Profilerstellung und Leistungsanalyse einen besonderen Platz ein.
In diesem Artikel wird gezeigt, wie man das Stopwatch-Objekt in C# verwendet, um die Zeit zu ermitteln, die für eine bestimmte Aufgabe benötigt wird, indem man die öffentliche Eigenschaft TimeSpan Elapsed verwendet. Außerdem wird die Gesamtzeit für die PDF-Erstellung mitIronPDF für C#-Entwickler.
1. Was ist die Stoppuhr-Klasse?
Die Klasse Stopwatch ist Teil des System.Diagnostics-Namespace in C# und bietet eine einfache und effiziente Möglichkeit, die verstrichene Zeit mit hoher Präzision zu messen. Es wurde mit dem .NET-Framework eingeführt und ist ein wertvolles Werkzeug für Entwickler, um die Ausführungszeit von Codesegmenten zu verfolgen, die Leistung zu optimieren und ein Anwendungsprofil zu erstellen.
2. Initialisierung und grundlegende Verwendung
Die Verwendung der Klasse Stopwatch ist einfach zu handhaben. Um sie zu benutzen, müssen Sie zunächst eine neue Instanz der Klasse Stopwatch erstellen:
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
Sobald die Instanz Stopwatch erstellt ist, können Sie die Stoppuhr starten und anhalten, um die verstrichene Zeit zu messen:
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
Die verstrichene Zeit kann mit der Eigenschaft "Elapsed" ermittelt werden:
Dim elapsed As TimeSpan = stopwatch.Elapsed
Console.WriteLine($"Elapsed time: {elapsed}")
Ausgang:
3. Erweiterte Funktionen der Stoppuhr
Die Klasse Stopwatch bietet mehrere erweiterte Funktionen, die über die einfache Zeitmessung hinausgehen. Sehen wir uns einige dieser Funktionen an:
3.1. Neustart Methode
Die Methode Restart ist eine bequeme Möglichkeit, die verstrichene Zeit in einem einzigen Arbeitsgang anzuhalten und auf Null zu setzen. Dies kann nützlich sein, um die Ausführungszeit mehrerer Codesegmente zu messen, ohne eine neue Stopwatch-Instanz zu erstellen.
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}")
Ausgang:
3.2. eigenschaft "IsHighResolution
Die Eigenschaft "IsHighResolution" gibt an, ob der zugrunde liegende Zeitmessungsmechanismus auf einem hochauflösenden Leistungszähler basiert, um die verstrichene Zeit genau zu messen. Die Überprüfung dieser Eigenschaft kann nützlich sein, wenn es um Systeme geht, die möglicherweise keine hochauflösenden Zeitmessungsmethoden unterstützen.
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
Ausgang:
3.3. Frequenz-Eigenschaft
Die Eigenschaft "Frequenz" gibt die Frequenz des zugrunde liegenden Zeitgebers in Ticks pro Sekunde zurück. Dieser Wert ist nützlich für die Konvertierung von verstrichenen Ticks in andere Zeiteinheiten, wie z. B. Millisekunden.
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")
Ausgang:
3.4. ElapsedTicks-Eigenschaft
Die Eigenschaft "ElapsedTicks" ermöglicht den direkten Zugriff auf die rohe Tickanzahl, ohne dass diese in Zeiteinheiten umgewandelt werden muss. Dies kann bei der Durchführung von benutzerdefinierten Berechnungen oder beim Umgang mit Low-Level-Timing-Anforderungen von Vorteil sein.
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}")
Ausgang:
4. Einführung in IronPDF in C#
IronPDF ist eine leistungsstarke C#-Bibliothek, die es Entwicklern ermöglicht, PDF-Dokumente in ihren .NET-Anwendungen mühelos zu erstellen, zu bearbeiten und zu verarbeiten. Ganz gleich, ob Sie PDFs aus HTML, Bildern oder anderen Formaten generieren müssen, IronPDF bietet ein umfassendes Set an Tools für die nahtlose Integration in Ihre C#-Projekte.
IronPDF bietet die einzigartige Möglichkeit zur UmwandlungHTML zu PDF, indem Layouts und Stile intakt bleiben. Diese Funktion ist ideal zur Erstellung von PDFs aus Webinhalten, wie Berichten, Rechnungen oder Dokumentationen. Sie können HTML-Dateien, URLs und HTML-Strings in PDF-Dateien konvertieren.
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
4.1. Installation von IronPDF in C#;
Um IronPDF in Ihrer C#-Anwendung zu verwenden, folgen Sie diesen einfachen Schritten:
NuGet Package Manager: Öffnen Sie Ihr C#-Projekt in Visual Studio und navigieren Sie zur Package Manager-Konsole. Führen Sie den folgenden Befehl aus, um IronPDF zu installieren:
Install-Package IronPdf
Alternativ können Sie auch dieIronPDF NuGet-Paket-Seite um das "IronPDF"-Paket herunterzuladen und zu installieren.
Referenz im Code: Fügen Sie nach erfolgreicher Installation einen Verweis auf IronPDF in Ihren C#-Code ein:
using IronPdf;
using IronPdf;
Imports IronPdf
Jetzt sind Sie bereit, die Möglichkeiten von IronPDF in Ihrer Anwendung zu nutzen.
4.2. Mit der C#-Stoppuhr die Zeit für die PDF-Erstellung aus einer URL messen
Lassen Sie uns nun demonstrieren, wie man die Klasse Stopwatch von C# verwendet, um die Zeit zu messen, die benötigt wird, um mit IronPDF ein PDF aus einer URL zu erstellen:
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
Dieses Beispiel initialisiert IronPDF, verwendet die Klasse HtmlToPdf, um eine PDF-Datei von einer angegebenen URL zu rendern, und misst die benötigte Zeit mit Stopwatch. Passen Sie die Variable urlToConvert mit der gewünschten URL an, und Sie können den PDF-Erstellungsprozess nach Bedarf für Ihre Anwendung weiter anpassen.
Ausgang:
5. Schlussfolgerung
Zusammenfassend lässt sich sagen, dass die Klasse Stopwatch in C# ein zentrales Werkzeug für die genaue Zeitmessung und Leistungsanalyse darstellt, das Entwicklern die Möglichkeit bietet, Code zu optimieren und die betriebliche Effizienz zu bewerten. Dank seiner intuitiven Benutzeroberfläche und fortschrittlichen Funktionen ist er vielseitig für verschiedene Zeitmessungsanforderungen einsetzbar. Darüber hinaus erweitert die Integration von IronPDF in C#-Projekte die Möglichkeiten der Sprache bei der Bearbeitung von PDF-Dokumenten und bietet eine nahtlose Lösung für die Erzeugung, Modifizierung und Verarbeitung von PDFs.
Das demonstrierte Beispiel der Verwendung von Stopwatch zur Messung der Zeit, die für die Erstellung einer PDF-Datei aus einer URL mit IronPDF benötigt wird, zeigt die Synergie zwischen präziser Zeiterfassung und fortschrittlichen Bibliotheken und unterstreicht die Bedeutung einer akribischen Zeitmessung bei der Bewertung der Anwendungsleistung. Zusammen ermöglichen C# Stopwatch und IronPDF Entwicklern die Erstellung von Hochleistungsanwendungen mit präzisem Timing und vielseitigen PDF-Verarbeitungsfunktionen.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS jQuery-Datentabelle (Wie es für Entwickler funktioniert)
NÄCHSTES > Swashbuckle ASP .NET Core (Wie es für Entwickler funktioniert)