【问题标题】:difference between Stopwatch.ElapsedMilliseconds and (stopDateTime - startDateTime).TotalMilliseconds [duplicate]Stopwatch.ElapsedMilliseconds 和 (stopDateTime - startDateTime).TotalMilliseconds 之间的区别 [重复]
【发布时间】:2011-12-08 16:51:03
【问题描述】:

我有:

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();

DateTime start  = DateTime.Now;
Thread.Sleep(5000);

stopWatch.Stop();
DateTime stop = DateTime.Now;

//stopWatch.ElapsedMilliseconds approximately equals to (stop - start).TotalMilliseconds

那么这些测量方法有区别吗?

【问题讨论】:

    标签: c#


    【解决方案1】:

    Stopwatch(stop - start).TotalMilliseconds 的计算更精确。

    检查这个post on SO

    【讨论】:

      【解决方案2】:

      来自 msdn,System.DateTime

      Now 属性经常用于衡量性能。然而, 由于分辨率低,不适合用作 基准测试工具。更好的选择是使用 Stopwatch 类。

      【讨论】:

        【解决方案3】:

        Stopwatch 使用/是一个高性能计数器,如果您不查询整数“.Millisecond”属性而是查询浮点“.Ellapsed.Totalmilliseconds”属性,它可以测量百分之一毫秒。

        【讨论】:

          猜你喜欢
          • 2014-08-16
          • 2011-04-08
          • 2012-11-24
          • 2013-06-05
          • 2021-09-29
          • 2020-05-27
          • 2016-03-23
          • 2012-08-11
          • 2012-11-24
          相关资源
          最近更新 更多