You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.4 KiB

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
/// <summary>
/// 时间调试器,用来计算程序的运行时间
/// </summary>
namespace Shentun.Utilities
{
public static class TimeDebuger
{
private static DateTime _startTime;
private static DateTime _lastTime;
/// <summary>
/// 计时器启动
/// </summary>
public static void Start()
{
_startTime = System.DateTime.Now;
_lastTime = _startTime;
}
/// <summary>
/// 最近两个时间的间隔
/// </summary>
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;
}
}
/// <summary>
/// 输出运行间隔时间
/// </summary>
/// <param name="name"></param>
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());
}
/// <summary>
/// 从计时器启动到现在的总运行时间
/// </summary>
public static double SumRunTime
{
get
{
var currentTime = System.DateTime.Now;
TimeSpan ts = currentTime.Subtract(_startTime);
return ts.TotalMilliseconds;
}
}
/// <summary>
/// 输出总运行时间
/// </summary>
/// <param name="name"></param>
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()} 毫秒");
}
}
}