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