打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#中如何统计程序执行时间

C#中有多种方法可以实现“统计”功能。 此处使用3种精度较高的组件演示。统计延时1s,实际精度。Thread.Sleep(1000)
1、DataTime通过 DateTime 获取时间日期,记录 Thread.Sleep(1000) 执行前后的时间日期,再取两时间日期差值,获取时间间隔。以下两种方法均可获取时间间隔 TimeSpan    TimeSpan abs = end.Subtract(start).Duration();      //方法1,时间差的绝对值     TimeSpan abs = end - start;     //方法2,时间差的绝对值
2、SpanTime通过TimeSpan获取时间刻度,记录 Thread.Sleep(1000) 执行前后的时间刻度,再取两时间刻度差值,获取时间间隔。 TimeSpan start = new TimeSpan(DateTime.Now.Ticks); //获取当前时间的刻度数 System.Threading.Thread.Sleep(1000); TimeSpan end = new TimeSpan(DateTime.Now.Ticks); //获取当前时间的刻度数 TimeSpan abs = end.Subtract(start).Duration(); //时间差的绝对值 Console.WriteLine(string.Format("程序执行时间:{0}", abs.TotalMilliseconds));
3、StopWatchC# 提供的计时组件 Stopwatch 较为直观的看到 起始点(Restart) 与 停止点(Stop) 间的时间间隔。提供的接口中:ElapsedMilliseconds : 可直接得到 long 型的毫秒数据ElapsedTicks : 需要与计数周期 Stopwatch.Frequency 搭配,可得到小数部分,或者long型的微秒数据
注意:由于pc主机,主频不同,电脑同时运行的软件不同,且使用的windows非实时系统,故测试时,sleep存在误差。
示例代码(访问密码:1666)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
测试程序执行时间及效率
5天不再惧怕多线程——第一天 尝试Thread
java StopWatch统计时间
linux c 多线程执行顺序解析
C# Task.Delay() 和 Thread.Sleep() 区别
C#代码精简优化技巧(上)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服