【问题标题】:How do calculate execution actual time using stopwatch in c#? [duplicate]如何在 c# 中使用秒表计算执行实际时间? [复制]
【发布时间】:2014-06-08 13:02:03
【问题描述】:

我在一个方法中尝试了以下代码:

Trace.Write("START "+Datetime.now);
//DATABASE METHOD CALL 
SaveData();
Trace.Write("END "+Datetime.now);

我手动计算output window中的时间。

如何使用stopwatch(启动/重置/停止)来获得正确的执行时间?

【问题讨论】:

  • 你的意思是你不知道如何实例化一个类并调用它的方法?您的个人资料显示您对 c# 有丰富的经验
  • 这是一个明显的 RTFM 案例。 msdn.microsoft.com/en-us/library/…
  • 哇...对于一个具有相当不错的代表的用户来说,这真是令人震惊...一个非常简单的谷歌搜索会为此产生很多结果。然后你去把你自己的问题标记为重复。
  • 是的,我知道,但问题不是我发布的

标签: c# asp.net-mvc


【解决方案1】:

使用Stopwatch 类:

    // Create new stopwatch
    Stopwatch stopwatch = new Stopwatch();

    // Begin timing
    stopwatch.Start();

    // Do something
    for (int i = 0; i < 1000; i++)
    {
        Thread.Sleep(1);
    }

    // Stop timing
    stopwatch.Stop();

    // Write result
    Console.WriteLine("Time elapsed: {0}",
        stopwatch.Elapsed);

【讨论】:

    【解决方案2】:

    通过Stopwatch.StartNew创建Stopwatch的实例,执行你的方法。停止Stopwatch 然后得到ElapsedMilliseconds 喜欢:

    Stopwatch stopwatch = Stopwatch.StartNew();
    SaveData();
    stopwatch.Stop();
    Trace.Write("Time in Millisecond:  " + stopwatch.ElapsedMilliseconds);
    

    记得添加using System.Diagnostics;

    【讨论】:

      【解决方案3】:

      根据 msdn:

      Stopwatch stopWatch = new Stopwatch();
      stopWatch.Start();
      Thread.Sleep(10000);
      stopWatch.Stop();
      // Get the elapsed time as a TimeSpan value.
      TimeSpan ts = stopWatch.Elapsed;
      

      StopWatch

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-10
        • 1970-01-01
        • 1970-01-01
        • 2010-10-26
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 2020-03-28
        相关资源
        最近更新 更多