您的位置:首页 > 编程语言 > VB

VB.NET程序运行耗时精确计量方法之一

2011-10-08 08:37 1126 查看
Imports System.Threading
'精确计量程序运行时间的STOPWATCH
Module Module1
    Sub Main1()
        ' Create new Stopwatch instance.
        Dim watch As New Diagnostics.Stopwatch
        watch.Start()     '启动

        ' Measure.
        For i As Integer = 0 To 1000 - 1
            Threading.Thread.Sleep(1)
        Next

        ' 停止并显示时间
        watch.Stop()
        Console.WriteLine(watch.Elapsed.TotalMilliseconds)

        ' This isn't measured.
        For i As Integer = 0 To 1000 - 1
            Threading.Thread.Sleep(1)
        Next

        ' Begin measuring again.
        watch.Start()

        ' Measure.
        For i As Integer = 0 To 1000 - 1
            Threading.Thread.Sleep(1)
        Next

        ' Stop measuring again (not always needed).
        watch.Stop()
        Console.WriteLine(watch.Elapsed.TotalMilliseconds)

        Console.ReadLine()
    End Sub

    Sub Main2()
        ' Create a Stopwatch and sleep for zero milliseconds.
        Dim stopwatch As New Diagnostics.Stopwatch   ' = stopwatch.StartNew
        stopwatch.Start()

        Thread.Sleep(0)
        stopwatch.Stop()

        ' Write the current time.
        Console.WriteLine(stopwatch.ElapsedMilliseconds)
        Console.WriteLine(DateTime.Now.ToLongTimeString)

        ' Start a new Stopwatch.
        stopwatch = stopwatch.StartNew
        Thread.Sleep(5000)
        stopwatch.Stop()
        Console.WriteLine(stopwatch.ElapsedMilliseconds)
        Console.WriteLine(DateTime.Now.ToLongTimeString)

        ' Start a new Stopwatch.
        stopwatch = stopwatch.StartNew
        Thread.Sleep(1000)
        stopwatch.Stop()
        Console.WriteLine(stopwatch.ElapsedMilliseconds)

        ' Start a new Stopwatch and use SpinWait.
        stopwatch = stopwatch.StartNew
        Thread.SpinWait(1000000000)
        stopwatch.Stop()
        Console.WriteLine(stopwatch.ElapsedMilliseconds)

        Console.ReadLine()
    End Sub

    Sub Main()
        'Dim sw As New Diagnostics.Stopwatch
        'sw.Start()

        'For i As Integer = 0 To 100000
        '    For k As Integer = 0 To 100000

        '    Next
        'Next
        'sw.Stop()
        'Console.WriteLine(sw.ElapsedMilliseconds)
        'Console.ReadLine()

    End Sub

End Module
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐