当我们需要统计一段代码的执行时间,首先想到的可能是Stopwatch类。在这里,先暂不使用Stopwatch,自定义一个统计代码执行时间的类,大致需要考虑到:
1、确保统计的是当前进程、当前线程中代码的执行时间。2、在统计执行过程中,不允许有垃圾回收。即在统计代码执行时间之前,就让GC完成垃圾回收。
举例:统计显示一个数组元素所消耗的时间
class Program{static void Main(string[] args){int[] arrs = new int[10000];BuildArray(arrs);CalculateTiming calculateTiming = new CalculateTiming();calculateTiming.Start();DisplaySomeDigits(arrs);calculateTiming.Stop();Console.WriteLine("所耗费时间为:" + calculateTiming.Result().TotalMilliseconds + "毫秒");}//显示数组元素static void DisplaySomeDigits(int[] arr){for (int i = 0; i < arr.Length; i++){Console.Write(arr[i] + " ");}}//创建数组static void BuildArray(int[] arr){for (int i = 0; i < arr.Length; i++){arr[i] = i;}}}/// <summary>/// 计算CPU消耗时间/// </summary>public class CalculateTiming{private TimeSpan startTime;private TimeSpan duration;public CalculateTiming(){startTime = new TimeSpan(0);
新闻热点
疑难解答