C#计算一段程序运行时间的三种方法

  

第一种方法利用System.DateTime.Now:

1
2
3
4
5
6
7
8
9
10
static  void  SubTest()
{
DateTime beforDT = System.DateTime.Now;
 
//耗时巨大的代码
 
DateTime afterDT = System.DateTime.Now;
TimeSpan ts = afterDT.Subtract(beforDT);
Console.WriteLine( "DateTime总共花费{0}ms." , ts.TotalMilliseconds);
}

第二种用Stopwatch类(System.Diagnostics):

1
2
3
4
5
6
7
8
9
10
11
static  void  SubTest()
{
Stopwatch sw =  new  Stopwatch();
sw.Start();
 
//耗时巨大的代码
 
sw.Stop();
TimeSpan ts2 = sw.Elapsed;
Console.WriteLine( "Stopwatch总共花费{0}ms." , ts2.TotalMilliseconds);
}

第三种用API实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[System.Runtime.InteropServices.DllImport( "Kernel32.dll" )]
static  extern  bool  QueryPerformanceCounter( ref  long  count);
[System.Runtime.InteropServices.DllImport( "Kernel32.dll" )]
static  extern  bool  QueryPerformanceFrequency( ref  long  count);
static  void  SubTest()
{
long  count = 0;
long  count1 = 0;
long  freq = 0;
double  result = 0;
QueryPerformanceFrequency( ref  freq);
QueryPerformanceCounter( ref  count);
 
//耗时巨大的代码
 
QueryPerformanceCounter( ref  count1);
count = count1 - count;
result = ( double )(count) / ( double )freq;
Console.WriteLine( "QueryPerformanceCounter耗时: {0} 秒" , result);
}
posted @ 2017-03-15 11:08 左正 阅读( 60) 评论( 0) 编辑 收藏
 

公告

本文转自 左正博客园博客,原文链接: http://www.cnblogs.com/soundcode/p/6553136.html,如需转载请自行联系原作者
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值