码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2017-03-15 12:33:08      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:plain   代码   number   containe   test   rac   cell   border   实现   

第一种方法利用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);
}

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

标签:plain   代码   number   containe   test   rac   cell   border   实现   

原文地址:http://www.cnblogs.com/soundcode/p/6553136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!