使用Stopwatch计算程序运行的时间

有时候我们想知道一个代码段,或一个方法执行的时间。一般的做法是在开始执行前创建一个DateTime变量记录当前的时间,然后在执行结束后面在创建一个DateTime变量记录当前时间。这样把中两个时间一减就能得到时间差了即一个TimeSpan的变量。这样做完全没有问题,那么如果我要计算好多代码段的执行时间呢?按照这个方法,我要创建很多DateTime变量,当然你会说可以直接使用DateTime.Now,而不创建新的DateTime变量,无论如何,这样的做法都太繁琐了。.NET提供了一个类——Stopwatch用来计时。你只需要使用它的Start方法,在你需要计时的时候,而在计时结束是调用Stop方法就好了。它会有属性Elapsed来返回时间间隔。真的好高大上!

不使用Stopwatch:

DateTime dt1 = DateTime.Now;

//execute .....

DateTime dt2 = DateTime.Now;

//execute .....

TimeSpan ts = (DateTime.Now -dt2) + (dt2 - td1);

使用Stopwatch

Stopwatch sw = new Stopwatch();

sw.Start();

//execute ....

sw.Stop();

//......

sw.Start();

//execute....

sw.Stop();

//You can use sw.Elapsed or other properties

发布了55 篇原创文章 · 获赞 39 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Chinese521/article/details/38372825