C#耗时统计-陷阱

一般我们都想知道执行一段程序耗费多长时间,以此为标准来继续优化我们的代码,其中的一个专业术语叫做时间复杂度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速度不一样,运行的结果也是会有差异的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 晚上八点十分,打开手机翻看朋友圈时,跃然于眼底的首条竟然是金老的仙逝,初以为是眼睛昏花,后觉得谁搞恶剧。虽...
    杜虎阅读 2,472评论 0 0
  • 【2019-03-26】天生我才“必有用” 今天人民夜读《不够优秀,努力来凑》的作者是“温暖的女子”李思圆,她那一...
    林文斌阅读 4,404评论 0 1
  • 由于部门一个员工离职,下午行政部的负责人过来,沟通下一下人员补充的事宜。 由于是关系非常好,所以在沟通的时候,就没...
    皮皮老猫阅读 1,103评论 0 0
  • 电台音乐最流行,直播主持入佳境。 小荷已露尖尖角,不知何时来蜻蜓。
    庭上望月阅读 1,715评论 2 7

友情链接更多精彩内容