透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
プログラミング言語の広大な風景の中で、C#は、デスクトップアプリケーションからウェブやモバイルアプリケーションに至るまで、さまざまなアプリケーションの開発に使用される多用途で強力な言語として際立っています。 C#が開発者の間で人気がある理由の一つは、多くのライブラリやクラスが豊富に揃っていることです。これにより、さまざまなプログラミングの課題に対する解決策が提供されます。 これらの中で、Stopwatch クラスは、正確な時間測定、プロファイリング、およびパフォーマンス分析における役割で特別な地位を占めています。
この記事では、C#のStopwatchオブジェクトを使用して特定のタスクを実行するのに要した時間をpublicのTimeSpan Elapsedプロパティを利用して計測する方法を見ていきます。 また、C#開発者向けのIronPDFを使用してPDF作成にかかる総経過時間を計測します。
Stopwatch
クラスは、C# の System.Diagnostics
名前空間の一部であり、高精度で経過時間を測定するための簡単かつ効率的な方法を提供します。 これは、.NET Framework に導入されており、コードセグメントの実行時間の追跡、パフォーマンスの最適化、およびアプリケーションのプロファイリングにおいて、開発者にとって貴重なツールとなっています。
Stopwatch
クラスの使用は簡単です。 使用を開始するには、まず 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
Stopwatch
インスタンスが作成されたら、ストップウォッチを開始および停止して経過時間を測定できます。
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
経過時間は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}")
出力:
Stopwatch
クラスは、基本的な時間測定を超えた高度な機能を提供します。 これらの機能のいくつかを見てみましょう:
Restart
メソッドは、経過時間を停止してゼロにリセットする便利な方法です。 これは、新しい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}")
出力:
IsHighResolution
プロパティIsHighResolution
プロパティは、経過時間を正確に測定するために基づくタイミングメカニズムが高解像度のパフォーマンスカウンタに基づいているかどうかを示します。このプロパティを確認することは、高解像度のタイミング方法をサポートしない可能性のあるシステムを扱う際に役立ちます。
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
出力:
Frequency
プロパティは、基盤となるタイマーの頻度を秒あたりのティック数で返します。 この値は、経過したティックをミリ秒などの他の時間単位に変換するのに役立ちます。
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")
出力:
ElapsedTicks
プロパティは、生のティック数への直接アクセスを提供し、時間単位に変換する必要がありません。 これは、カスタム計算を実行する場合や低レベルのタイミング要件に対処する場合に有益です。
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}")
出力:
C# ストップウォッチ(開発者向けの仕組み):図 5 - 経過したティックの出力
IronPDFは、開発者が.NETアプリケーション内でPDFドキュメントを簡単に作成、操作、処理できる強力なC#ライブラリです。 HTML、画像、その他の形式からPDFを生成する必要がある場合、IronPDFはC#プロジェクトにシームレスに統合するための包括的なツールセットを提供します。
IronPDFは、レイアウトやスタイルをそのまま保持してHTMLをPDFに変換するユニークな機能を提供します。 この機能は、レポート、請求書、またはドキュメントなどのWebコンテンツからPDFを作成するのに理想的です。 HTMLファイル、URL、HTML文字列を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
C#アプリケーションでIronPDFを使用し始めるには、次の簡単な手順に従ってください:
Install-Package IronPdf
Install-Package IronPdf
または、IronPDF NuGet パッケージページを使用して、「IronPdf」パッケージをダウンロードおよびインストールすることができます。
using IronPdf;
using IronPdf;
Imports IronPdf
さて、アプリケーションでIronPDFの機能を活用する準備が整いました。
それでは、IronPDFを使用してURLからPDFを作成するのにかかる時間を測定するために、C#のStopwatch
クラスをどのように使用するかを示しましょう。
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
この例はIronPDFを初期化し、HtmlToPdf
クラスを使用して指定されたURLからPDFをレンダリングし、Stopwatch
を使用して経過時間を計測します。 変換したいURLをurlToConvert
変数に設定し、アプリケーションに必要なPDF作成プロセスをさらにカスタマイズできます。
出力:
結論として、C#のStopwatch
クラスは、正確な時間測定とパフォーマンス分析のための重要なツールであり、開発者にコードを最適化し、操作効率を評価する手段を提供します。 その直感的なインターフェースと高度な機能が、多様なタイミング要件に対応するための汎用性を持たせています。 さらに、IronPDFをC#プロジェクトに統合することで、PDFドキュメントの操作における言語の機能が拡張され、PDFの生成、修正、および処理のためのシームレスなソリューションが提供されます。
IronPDF を使用して URL から PDF を作成するのに要した時間を測定するために Stopwatch
を使用した例は、正確な時間追跡と高度なライブラリの相乗効果を示し、アプリケーション性能を評価する際の綿密なタイミングの重要性を強調しています。 C#のStopwatch
とIronPDFを組み合わせることで、開発者は高性能アプリケーションを緻密なタイミングと多用途なPDF処理機能で構築できます。
IronPDFの機能をテストするための無料トライアルライセンスを取得するには、IronPDFライセンス情報ページをご覧ください。 URL を PDF に変換する完全なチュートリアルは、IronPDF URL to PDF チュートリアル で見つけることができます。