自定义一个统计代码执行时间的类calctiming,考虑了:
在统计执行过程中,不允许有垃圾回收。即在统计代码执行时间之前,就让GC完成垃圾回收。
确保统计的是当前进程中代码的执行时间。
编写代码如下:
public class CalcTiming
{
TimeSpan startTime;
private TimeSpan endTime;
TimeSpan duration;
public CalcTiming()
{
startTime = new TimeSpan(0);
duration = new TimeSpan(0);
} public void StartTime()
{ //强制对所有代进行垃圾回收
GC.Collect(); //挂起线程,终结器线程清空该队列为止
GC.WaitForPendingFinalizers(); //用户运行代码的起始时间
startTime = Process.GetCurrentProcess().UserProcessorTime;
} //统计的代码执行完毕的时间
public void StopTime()
{
endTime = Process.GetCurrentProcess().UserProcessorTime;
duration = endTime.Subtract(startTime);
} //返回统计的代码执行消耗的时间
public TimeSpan Result()
{ return duration;
}
}运用以上CalcTiming类,统计显示数组的消耗时间:
class Program
{
static void Main(string[] args)
{ int[] nums = new int[100000];
BuildArray(nums);
CalcTiming calcTime= new CalcTiming();
calcTime.StartTime();
DisplayNums(nums);
calcTime.StopTime();
Console.WriteLine(string.Format("共用时间:{0} ms",calcTime.Result().TotalMilliseconds));
Console.Read();
} static void BuildArray(int[] arr)
{ for (int i = 0; i < 100000; i++)
arr[i] = 1;
} static void DisplayNums(int[] arr)
{ for (int i = 0; i <= arr.GetUpperBound(0); i++)
Console.Write(arr[i] + " ");
}
} 总结,在接下来用C#描述所有数据结构,统计消耗的时间时,采用CalcTiming对象。
以上就是用C#描述数据结构1:统计代码执行时间对象的代码详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号