用C#中的Timing类测试时间
用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类来测试代码时间,有问题的可以指出来