用Timing類來測試時間需要以下數據成員:
startingTiming——用了存儲正在測試的代碼的開始時間;
duration———正在測試的代碼的終止時間。
Timing類的幾種常用方法:
startTime,stopTime。
下面用Timing類來比較一下用Arraylist類和collection類存儲數據的時間。
Timing類
class Timing { TimeSpan duration; public Timing() { duration = new TimeSpan(0); //初始化 } public void stopSpan() //停止計時 { duration = Process.GetCurrentProcess().TotalProcessorTime; 停止計時 } public void startTime() //開始計時 { GC.Collect(); GC.WaitForPendingFinalizers(); } public TimeSpan Result() { return duration; } }
測試代碼時間
Timing tText = new Timing(); if (radioButton1.Checked) { int num = int.Parse(textBox1.Text); //用Arraylist類存數據 tText.startTime(); int[] Num = new int[num]; for (int i = 0; i < num; i++) Num[i] = i; tText.stopSpan(); label1.Text = tText.Result().TotalMilliseconds.ToString(); } if (radioButton2.Checked) //用collection類存數據 { int num = int.Parse(textBox2.Text); tText.startTime(); Collection MyCollection = new Collection(); for (int j = 0; j < num; j++) MyCollection.Add(j); tText.stopSpan(); label3.Text = tText.Result().TotalMilliseconds.ToString(); }
程序界面如下
這只是一個簡單的程序,帶大家認識一下用Timing類來測試代碼時間,有問題的可以指出來