• 重温数据结构与算法(1) 构建自己的时间测试类


      本文总结了使用基准法测试来测试运行一个程序所使用的时间,或者说是测试程序中数据结构和算法的性能。
      代码如下:

    namespace TimingTestDemo1
    {
        //自定义计时类
        public class Timing
        { 
            //私有字段
            TimeSpan duration;
    
            //构造函数,初始化字段
            public Timing()
            {
                duration = new TimeSpan(0);
            }
    
            //开始计时
            public void StartTime()
            {
                GC.Collect();//强制执行垃圾回收
                GC.WaitForPendingFinalizers();//挂起当前线程,直到处理终结器队列的线程清空该队列为止
            }
    
            //结束计时
            public void StopTime()
            {
                duration = Process.GetCurrentProcess().TotalProcessorTime;
            }
    
            public TimeSpan Result()
            {
                return duration;
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                //声明和初始化数组
                int[] nums=new int[100000];
                BuildArray(nums);
    
                Timing tObj = new Timing();
    
                //计时开始
                tObj.StartTime();
    
                DisplayNums(nums);
    
                //计时结束
                tObj.StopTime();
    
                Console.WriteLine("\nExpend time: "+tObj.Result().TotalSeconds+"s");
                Console.ReadKey();
            }
    
            private static void BuildArray(int[] arr)
            {
                for (int i = 0; i <= arr.Length - 1; i++)
                {
                    arr[i] = i;
                }
            }
    
            private static void DisplayNums(int[] arr)
            {
                for (int i = 0; i <= arr.GetUpperBound(0); i++)
                {
                    Console.Write(arr[i]+" ");
                }
            }
        }
    }

    程序输出结果为:

    以上就是自己总结的程序性能测试类,可以把它用在后续的各种数据结构与算法中。

  • 相关阅读:
    函数传参总结
    集合操作总结
    深浅拷贝总结
    三级列表展示
    文件操作总结
    vue-router之嵌套路由
    vue-router之动态路由
    Sublime编辑VUE实现代码高亮
    Windows系统下Vue开发环境搭建详解版
    C#调用快递鸟电子面单API实现批量打印电子面单功能
  • 原文地址:https://www.cnblogs.com/mcgrady/p/2594004.html
Copyright © 2020-2023  润新知