2013年4月7日日曜日

[VB.NET]時間を計測する


■処理時間等を計測する
Module Module1

    Sub Main()

        'オブジェクトの作成
        Dim StopWatch As New System.Diagnostics.Stopwatch()

        '■時間を止めずに計測時間を出力
        Console.WriteLine("■時間を止めずに計測時間を出力")

        StopWatch.Start()

        System.Threading.Thread.Sleep(250) '時間のかかる処理の代わり

        Console.WriteLine(StopWatch.ElapsedMilliseconds) '時間を止めずに出力

        System.Threading.Thread.Sleep(250) '時間のかかる処理の代わり

        Console.WriteLine(StopWatch.ElapsedMilliseconds)


        '■計測を止める & 初期状態に戻す
        StopWatch.Reset()


        '■処理ごとに時間を停止する
        Console.WriteLine("■処理ごとに時間を停止する")

        StopWatch.Start()

        System.Threading.Thread.Sleep(250) '時間のかかる処理の代わり

        StopWatch.Stop()

        System.Threading.Thread.Sleep(500) '時間のかかる処理の代わり

        StopWatch.Start()

        System.Threading.Thread.Sleep(250) '時間のかかる処理の代わり

        StopWatch.Stop()

        Console.WriteLine(StopWatch.ElapsedMilliseconds)

        '■処理ごとに時間をリスタートさせる
        Console.WriteLine("■処理ごとに時間をリスタートさせる")

        StopWatch.Start()

        System.Threading.Thread.Sleep(250) '時間のかかる処理の代わり

        StopWatch.Stop()

        System.Threading.Thread.Sleep(500) '時間のかかる処理の代わり

        StopWatch.Restart() 'Reset() + Start()

        System.Threading.Thread.Sleep(250) '時間のかかる処理の代わり

        StopWatch.Stop()

        Console.WriteLine(StopWatch.ElapsedMilliseconds)

    End Sub

End Module

ElapsedMillisecondsは、整数値(ミリ秒)で返します
■時間を止めずに計測時間を出力
251
501
■処理ごとに時間を停止する
499
■処理ごとに時間をリスタートさせる
250

Elapsedは、時間間隔で返します
■時間を止めずに計測時間を出力
0:00:00.2510036
0:00:00.5010052
■処理ごとに時間を停止する
0:00:00.4995031
■処理ごとに時間をリスタートさせる
0:00:00.2500041



0 件のコメント: