代码拉取完成,页面将自动刷新
namespace Test;
public static class Tools
{
/// <summary>
/// 计时器
/// </summary>
[System.Diagnostics.DebuggerStepThrough]
public static void TestTimes2(int count, string message, Action action)
{
System.Diagnostics.Stopwatch watch = new();
watch.Start(); // 开始监视代码运行时间
for (var i = 0; i < count; i++)
action.Invoke(); // 需要测试的代码
watch.Stop(); // 停止监视
var timespan = watch.Elapsed; // 获取当前实例测量得出的总时间
var time = timespan.TotalMilliseconds;
var name = "毫秒";
if (timespan.TotalMilliseconds > 1000)
{
time = timespan.TotalSeconds;
name = "秒";
}
$"{message} 代码执行 {count} 次的时间:{time} ({name})".Print(); // 总毫秒数
}
/// <summary>
/// 计时器
/// </summary>
[System.Diagnostics.DebuggerStepThrough]
public static void TestTimes3(int count, string message, Action<int> action)
{
System.Diagnostics.Stopwatch watch = new();
watch.Start(); // 开始监视代码运行时间
for (var i = 0; i < count; i++)
action.Invoke(i); // 需要测试的代码
watch.Stop(); // 停止监视
var timespan = watch.Elapsed; // 获取当前实例测量得出的总时间
var time = timespan.TotalMilliseconds;
var name = "毫秒";
if (timespan.TotalMilliseconds > 1000)
{
time = timespan.TotalSeconds;
name = "秒";
}
$"{message} 代码执行 {count} 次的时间:{time} ({name})".Print(); // 总毫秒数
}
/// <summary>
/// 纳秒计时器
/// </summary>
[System.Diagnostics.DebuggerStepThrough]
public static void TestTimes(int count, string message, Action action,
Timer.TimeEnum timeEnum = Timer.TimeEnum.Millisecond)
{
var time = Timer.RunTime(() =>
{
for (var i = 0; i < count; i++)
action.Invoke();
}, timeEnum);
var timeNameZn = timeEnum switch
{
Timer.TimeEnum.Millisecond => " 毫秒",
Timer.TimeEnum.Microsecond => " 微秒",
Timer.TimeEnum.Nanosecond => " 纳秒",
_ => " 秒"
};
$"{message} 代码执行 {count} 次的时间:{time} ({timeNameZn})".Print();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。