.net - .NET中的高分辨率计时器

标签 .net profiling timer

我想对我的代码进行一些基本的分析,但是发现C#中的DateTime.Now仅具有大约16 ms的分辨率。必须有更好的时间保存我尚未发现的构造。

最佳答案

这是计时操作的代码示例:

Dim sw As New Stopwatch()
sw.Start()
//Insert Code To Time
sw.Stop()
Dim ms As Long = sw.ElapsedMilliseconds
Console.WriteLine("Total Seconds Elapsed: " & ms / 1000)

编辑:

整洁的是它也可以恢复。
Stopwatch sw = new Stopwatch();
foreach(MyStuff stuff in _listOfMyStuff)
{
    sw.Start();
    stuff.DoCoolCalculation();
    sw.Stop();
}
Console.WriteLine("Total calculation time: {0}", sw.Elapsed);

如果系统上有一个System.Diagnostics.Stopwatch类,它将使用一个高分辨率计数器。

关于.net - .NET中的高分辨率计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/163022/

相关文章:

.net - 如何将 xsl 样式表节点添加到 XmlSerializer 生成的 XML?

.net - ASP.net UpdatePanel 控件中可能存在错误?

C# 网站 - 分析代码和查询

javascript - 每隔几秒只执行一次 setInterval 函数内的代码

java - 为什么每次我激活此计时器时此变量都会不断重置?

.net - 如何在 NHibernate 中使用带有枚举属性的 ICriteria

c# - 卫星资源 .dll 编译为错误的 .net 框架?

tomcat - Servlet 容器优于 Tomcat

profiling - 周期计数测量

c# - 倒计时文本字段在倒计时期间未更新