构建高质量的C#代码
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

代码 1-5:性能测试模板(<SpeedTestTemplate>\Program.cs)

using System;
namespace SpeedTestTemplate
{
class Program
    {
    static void Main(string[] args)
        {
            //确定运行次数
            const int RUN_NUMBER = 1000000;
            //声明开始和结束时间变量
            long startTime , endTime;
            //开始测试
            startTime = DateTime.Now.Ticks;
            for (int i = 1; i <= RUN_NUMBER; i++)
            {
                //需要的代码
            }
            endTime=DateTime.Now.Ticks;
            //显示运行所用时间
            Console.WriteLine("运行时间为:{0}", endTime - startTime);
        }
    }
}

本代码只是一个架构,但它仍然可以正常运行,正常情况下,它的显示结果为“运行时间为:0”;也就是说运行1000000次空循环几乎不需要什么时间。

在代码中,我们用于衡量时间的单位是Tick,在.NET Framework中,这是一个以100毫微秒为单位的时间刻度值。即使它的单位是如此之小,但对于现代计算机来讲,这个时间还是太长了。所以,在测试代码的过程中,我们会运行很多次来测试时间,在实际应用中,你可以根据代码结构和算法复杂程度适当调整运行的次数,即修改RUN_NUMBER的值。