美文网首页
C#耗时统计-陷阱

C#耗时统计-陷阱

作者: GoodTekken | 来源:发表于2020-01-06 15:56 被阅读0次

一般我们都想知道执行一段程序耗费多长时间,以此为标准来继续优化我们的代码,其中的一个专业术语叫做时间复杂度O(n)。

  1. 新建一个计时器:Stopwatch sw = new Stopwatch();
    2.开始计时:sw.Start();
    3.停止计时:sw.Stop();
    4.时间统计:sw.ElapsedMilliseconds(单位毫米)

5.清零,重新计时:sw.Restart();

       static void Main(string[] args)
    {
        Stopwatch sw = new Stopwatch();  //新建定时器
        sw.Start(); //开始计时
        for(int i=0;i<1000000;i++)
        {
            int a = i;
            for (int ii = 0; i < 1000000; i++)
            {
                int aa = ii;
            }
        }
        sw.Stop();  //停止计时
        Console.WriteLine("总耗时:" + sw.ElapsedMilliseconds.ToString());  //时间统计

        sw.Restart();
        for (int i = 0; i < 1000000; i++)
        {
            int a = i;
            for (int ii = 0; i < 1000000; i++)
            {
                int aa = ii;
            }
        }
        sw.Stop();
        Console.WriteLine("总耗时:" + sw.ElapsedMilliseconds.ToString());
        Console.ReadLine();
    }

运行结果:
总耗时:2
总耗时:2

如果我们将第二次计时的sw.Restart();替换为sw.Start();,此时计数器会累计计时。

运行结果:
总耗时:2
总耗时:4 (第一次的计时也会加到这次的统计时间里面)

所以,Start()Restart()的使用是有区别的,不可混淆。
当然啦,同样的程序,运行在不同的电脑,如果CPU速度不一样,运行的结果也是会有差异的。

相关文章

网友评论

      本文标题:C#耗时统计-陷阱

      本文链接:https://www.haomeiwen.com/subject/vqekactx.html