3

只是好奇人们认为什么是计算搜索需要多长时间然后向用户显示时间的最佳方法。

我将 DateTime 与 Timespan 以及 Stopwatch sw = new Stopwatch 一起使用。

我认为与具有时间跨度的 DateTime 相比,使用 Stopwatch 是更简洁的代码。

所以我只是好奇专业程序员使用什么。

IE

Stopwatch WebSearchTime = new Stopwatch();
WebSearchTime.Start();
code to run
WebSearchTime.Stop();
double WST = WebSearchTime.Elapsed.Seconds + (WebSearchTime.Elapsed.Milliseconds / 1000.0);

谢谢

乔治

4

2 回答 2

2

与计算相比,秒表是确定执行时间的正确且更准确的方法。DateTime.NowDateTime

秒表类

秒表通过计算底层计时器机制中的计时器滴答来测量经过的时间。如果安装的硬件和操作系统支持高分辨率性能计数器,则 Stopwatch 类使用该计数器来测量经过的时间。 否则, Stopwatch 类使用系统计时器来测量经过的时间。使用频率和 IsHighResolution 字段来确定秒表计时实现的精度和分辨率。

于 2013-03-11T12:20:56.283 回答
0

我知道使用 Stopwatch 是首选方式,但我创建了代码片段来使用 DateTime 并使用它们:

        DateTime start = DateTime.Now;
        //logic
        System.Diagnostics.Debug.WriteLine("Comment:" + (DateTime.Now - start));

当然,如果您需要聚合结果,则必须创建 TimeSpan。现在我看到调试时输出了很多信息。

我的错。我按照 VARAK 的建议测量了性能,结果证明 DateTime.Now 需要大约 0.00073 毫秒来评估如果您要迭代真正的大量数据,这可能是生产中的真正问题,因此您应该谨慎使用我的方法。

于 2013-03-11T12:24:49.467 回答