自定义一个统计代码实行时候的类CalcTiming,斟酌了:
在统计实行过程当中,不允许有垃圾接纳。即在统计代码实行时候之前,就让GC完成垃圾接纳。
确保统计的是当前历程中代码的实行时候。
编写代码以下:
public class CalcTiming { TimeSpan startTime; private TimeSpan endTime; TimeSpan duration; public CalcTiming() { startTime = new TimeSpan(0); duration = new TimeSpan(0); } public void StartTime() { //强迫对一切代举行垃圾接纳 GC.Collect(); //挂起线程,闭幕器线程清空该队列为止 GC.WaitForPendingFinalizers(); //用户运转代码的肇端时候 startTime = Process.GetCurrentProcess().UserProcessorTime; } //统计的代码实行终了的时候 public void StopTime() { endTime = Process.GetCurrentProcess().UserProcessorTime; duration = endTime.Subtract(startTime); } //返回统计的代码实行斲丧的时候 public TimeSpan Result() { return duration; } }
应用以上CalcTiming类,统计显现数组的斲丧时候:
class Program { static void Main(string[] args) { int[] nums = new int[100000]; BuildArray(nums); CalcTiming calcTime= new CalcTiming(); calcTime.StartTime(); DisplayNums(nums); calcTime.StopTime(); Console.WriteLine(string.Format("共用时候:{0} ms",calcTime.Result().TotalMilliseconds)); Console.Read(); } static void BuildArray(int[] arr) { for (int i = 0; i < 100000; i++) arr[i] = 1; } static void DisplayNums(int[] arr) { for (int i = 0; i <= arr.GetUpperBound(0); i++) Console.Write(arr[i] + " "); } }
总结,在接下来用C#形貌一切数据结构,统计斲丧的时候时,采纳CalcTiming对象。
以上就是用C#形貌数据结构1:统计代码实行时候对象的代码详解的细致内容,更多请关注ki4网别的相干文章!