C#下的时间测试(用于计算方法执行时间)
2021-06-05 05:03
标签:info 函数 time 防止 ogr 方法 图片 getc processor C#下的时间测试(用于计算方法执行时间) 标签:info 函数 time 防止 ogr 方法 图片 getc processor 原文地址:https://www.cnblogs.com/kliine/p/10822995.html 1 public class Timing
2 {
3 private TimeSpan m_StartTime;
4
5 private TimeSpan duringTime;
6
7 public Timing() //构造函数用于初始化开始时间和持续时间
8 {
9 this.m_StartTime = new TimeSpan(0); //初始化的时候设置时间为00:00:00
10 this.duringTime = new TimeSpan(0);
11 }
12
13 public void StartTime()
14 {
15 GC.Collect(); //为了防止程序运行的时候有无用单元干扰提前进行GC收集
16 GC.WaitForPendingFinalizers(); //储存在堆中所有对象在最后都会调用finalizer方法,但是无法确定finalizer是否执行,所有要等待finalizer都运行完毕进行后面的步骤(此方法执行的时候线程会挂起)
17 m_StartTime = Process.GetCurrentProcess().Threads[0].UserProcessorTime; //得到当前进程的时间
18 }
19
20 public void StopTime()
21 {
22 duringTime = Process.GetCurrentProcess().Threads[0].UserProcessorTime.Subtract(m_StartTime);
23 //得到当前进程的时间过了多少时间即当前时间-开始(m_StartTime)的时间
24 }
25
26 public TimeSpan Result()
27 {
28 return duringTime; //返回运行时间
29 }
30 }
31 class Program
32 {
33 static void Main(string[] args)
34 {
35
36 int[] array = new int[10000]; //进行测试的时候初始化了一个容量为10000的int数组
37 Timing timing = new Timing(); //初始化计算的类
38 timing.StartTime(); //开始计算时间
39 Add(array); //数组每个都添加当前序号值的数
40 DisplayCount(array); //输出每个数
41 timing.StopTime(); //停止计算时间
42 Console.WriteLine(timing.Result()); //输出计算的时间
43 Console.ReadKey(); //暂停程序
44 }
45
46 public static void Add(int[] arr)
47 {
48 for (int i = 0; i )
49 {
50 arr[i] = i;
51 }
52 }
53 public static void DisplayCount(int[] arr)
54 {
55 for (int i = 0; i )
56 {
57 Console.WriteLine(arr[i]);
58 }
59 }
60 }
上一篇:C#系统找不到指定的文件
下一篇:win10系统安装