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

posted @ 2011-04-08 20:28  helloxyz  Views(1817)  Comments(0Edit  收藏  举报