using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; /// /// 时间调试器,用来计算程序的运行时间 /// namespace Shentun.Utilities { public static class TimeDebuger { private static DateTime _startTime; private static DateTime _lastTime; /// /// 计时器启动 /// public static void Start() { _startTime = System.DateTime.Now; _lastTime = _startTime; } /// /// 最近两个时间的间隔 /// public static double IntervalTime { get { if (_lastTime == null) return 0; var currentTime = System.DateTime.Now; TimeSpan ts = currentTime.Subtract(_lastTime); _lastTime = currentTime; return ts.TotalMilliseconds; } } /// /// 输出运行间隔时间 /// /// public static void IntervalTimeWriteLine(string name) { if (_lastTime == null) return ; var currentTime = System.DateTime.Now; TimeSpan ts = currentTime.Subtract(_lastTime); _lastTime = currentTime; if (string.IsNullOrEmpty(name)) name = ""; Debug.WriteLine(name + "运行时间:" + ts.TotalMilliseconds.ToString()); } /// /// 从计时器启动到现在的总运行时间 /// public static double SumRunTime { get { var currentTime = System.DateTime.Now; TimeSpan ts = currentTime.Subtract(_startTime); return ts.TotalMilliseconds; } } /// /// 输出总运行时间 /// /// public static void SumRunTimeWriteLine(string name) { var currentTime = System.DateTime.Now; TimeSpan ts = currentTime.Subtract(_startTime); if (string.IsNullOrEmpty(name)) name = ""; Debug.WriteLine($"{name}总运行时间:{ts.TotalMilliseconds.ToString()} 毫秒"); } } }