如何判断我的C#代码需要多长时间才能运行?
答案 0 :(得分:14)
Stopwatch
类在.NET中提供高精度计时。它能够以大约100纳秒(几分之一毫秒)的灵敏度测量时间。要获得准确的分辨率,请阅读Stopwatch.Frequency
的值。
var timer = System.Diagnostics.Stopwatch.StartNew();
// Run code here.
var elapsed = timer.ElapsedMilliseconds.
另外,请务必重复运行代码(尽可能多次)以获得更好的平均时间,以及减少CPU负载波动的影响。
答案 1 :(得分:14)
查看Stopwatch
课程:
Stopwatch sw = new Stopwatch();
sw.Start();
// your code here
sw.Stop();
TimeSpan elapsedTime = sw.Elapsed;
答案 2 :(得分:8)
正如其他人所说,Stopwatch
类对于简单的计时方面是有益的。其他要记住的部分:
如果你对基准测试感兴趣,我有MiniBench项目,我必须在某个时候重新开始工作 - 这不是我希望它最终结束的地方,但它是一个开始。我在this blog post中更多地讨论了我想要实现的目标。
答案 3 :(得分:1)
查看Stopwatch课程。
答案 4 :(得分:0)
我建议使用ANTS等分析工具来测试应用程序的速度并找到慢速代码。这将允许您对执行时间进行逐行测试。
答案 5 :(得分:0)
如果你想要简单,只需在它周围放一个N迭代循环并使用StopWatch(或只是一个手表)并除以N.例如,如果你想要微秒,让N = 1000000.如果你担心的话循环的开销,只需将其展开10倍。