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()} 毫秒");
}
}
}