ここではVB.NETのStopwatchクラスを使って、処理時間を計測する方法について紹介します。
目次
Stopwatchクラスとは
System.Diagnostics.Stopwatch クラスは、VB.NETで経過時間を正確に計測するために使用できるクラスです。
Stopwatchのメソッド
・Start() — 計測を開始する
・Stop() — 計測を停止する
・Restart() — 経過時間を0にリセットして計測を開始する
・Reset() — 経過時間を0にリセットする
Stopwatchのプロパティ
・Elapsed — 経過時間をTimeSpanで取得する
・ElapsedMilliseconds — 経過時間をミリ秒で取得する
・ElapsedTicks — 経過時間をTicksで取得する
・IsRunning — 現在計測中かどうかを取得する
基本的な使い方
以下は System.Diagnostics.Stopwatch クラスの基本的な使い方です。経過時間を ElapsedMilliseconds プロパティを使って ms(ミリ秒)で出力しています。
Imports System.Diagnostics
Module Program
Private sw As New Stopwatch()
Sub Main(args As String())
' 計測開始
sw.Start()
' 計測したい処理実行
Threading.Thread.Sleep(2000)
' 計測停止
sw.Stop()
Console.WriteLine("経過時間: " & sw.ElapsedMilliseconds & " ms")
End Sub
End Module
経過時間: 2008 ms
経過時間を分・秒・ミリ秒で出力する
以下は経過時間を Elapsed プロパティで取得して、TimeSpan型の変数に代入した後、分・秒・ミリ秒に編集して出力しています。
Sub Main(args As String())
' 計測開始
sw.Start()
' 計測したい処理実行
Threading.Thread.Sleep(2000)
' 計測停止
sw.Stop()
' 経過時間の取得
Dim elapsed As TimeSpan = sw.Elapsed
' 経過時間を分・秒・ミリ秒に編集する
Dim result As String = "経過時間: " &
elapsed.Minutes & "分 " &
elapsed.Seconds & "秒 " &
elapsed.Milliseconds & "ミリ秒"
Console.WriteLine(result)
End Sub
経過時間: 0分 2秒 12ミリ秒
以上、VB.NETのStopwatchクラスを使って、処理時間を計測する方法について解説しました。