C#下的时间测试(用于计算方法执行时间)
1 public class Timing 2 { 3 private TimeSpan m_StartTime; 4 5 private TimeSpan duringTime; 6 7 public Timing() //构造函数用于初始化开始时间和持续时间 8 { 9 this.m_StartTime = new TimeSpan(0); //初始化的时候设置时间为00:00:00 10 this.duringTime = new TimeSpan(0); 11 } 12 13 public void StartTime() 14 { 15 GC.Collect(); //为了防止程序运行的时候有无用单元干扰提前进行GC收集 16 GC.WaitForPendingFinalizers(); //储存在堆中所有对象在最后都会调用finalizer方法,但是无法确定finalizer是否执行,所有要等待finalizer都运行完毕进行后面的步骤(此方法执行的时候线程会挂起) 17 m_StartTime = Process.GetCurrentProcess().Threads[0].UserProcessorTime; //得到当前进程的时间 18 } 19 20 public void StopTime() 21 { 22 duringTime = Process.GetCurrentProcess().Threads[0].UserProcessorTime.Subtract(m_StartTime); 23 //得到当前进程的时间过了多少时间即当前时间-开始(m_StartTime)的时间 24 } 25 26 public TimeSpan Result() 27 { 28 return duringTime; //返回运行时间 29 } 30 } 31 class Program 32 { 33 static void Main(string[] args) 34 { 35 36 int[] array = new int[10000]; //进行测试的时候初始化了一个容量为10000的int数组 37 Timing timing = new Timing(); //初始化计算的类 38 timing.StartTime(); //开始计算时间 39 Add(array); //数组每个都添加当前序号值的数 40 DisplayCount(array); //输出每个数 41 timing.StopTime(); //停止计算时间 42 Console.WriteLine(timing.Result()); //输出计算的时间 43 Console.ReadKey(); //暂停程序 44 } 45 46 public static void Add(int[] arr) 47 { 48 for (int i = 0; i < arr.Length; i++) 49 { 50 arr[i] = i; 51 } 52 } 53 public static void DisplayCount(int[] arr) 54 { 55 for (int i = 0; i < arr.Length; i++) 56 { 57 Console.WriteLine(arr[i]); 58 } 59 } 60 }
分类:
C#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗