c#测量代码执行时间Stopwatch类
·
1.Stopwatch类
Stopwatch 通常用于测量代码执行时间,是性能分析和计时任务的常用工具。在下面的例子里会经常使用到;
1.1、声明
1.1.1正常声明
因为是一个类所以可以直接用正常的类的声明方法
Stopwatch sw= new Stopwatch ();
1.1.2StartNew()
这个类里有一个静态方法StartNew()使用这个方法就可以直接声明并且直接启动计时;注意是静态使用使用直接Stopwatch.就可以;
Stopwatch sw1 = Stopwatch.StartNew();
第一个的使用场景就是需要自己控制什么时候开始;第二个的是直接就开始;一般都是测代码的时间用二比较多;
1.2、启动、暂停、清零和重新开始四个方法
1.2.1启动 Start()
顾名思义就是启动开始计时,这个配合第一种声明使用;
Stopwatch sw = new Stopwatch ();
sw.Start();
1.2.2暂停 Stop()
顾名思义就是暂停当前计时,再启动的时候就再用Start()方法就可以继续计时
Stopwatch sw = new Stopwatch ();
sw.Start();//启动
sw.Stop();//暂停
sw.Start();//再启动
1.2.3清零 Reset()
顾名思义就是清除当前计时,但是注意只是清零还会继续计时不会停止
Stopwatch sw = new Stopwatch ();
sw.Start();//启动
sw.Reset();//清零
1.2.4重启 Restart()
重启就是会先清零计时再重新启动,这个一般用在测试循环的每一次运行时间
Stopwatch sw = new Stopwatch ();
while(true)
{
sw.Restart();//重启
}
1.3、获取计时
获取计时用下面四个StopWatch类的属性,一般是用第二种
Elapsed:返回TimeSpan类型,包含天、时、分、秒、毫秒等详细信息ElapsedMilliseconds:总毫秒数(长整数)ElapsedTicks:时钟周期数(高精度)Elapsed.TotalSeconds:总秒数(双精度,包含小数部分)
Stopwatch sw = Stopwatch.StartNew();
Thread.Sleep(500);
Console.WriteLine($"{sw.ElapsedMilliseconds}ms cost");更多推荐
所有评论(0)