【问题标题】:How to measure C# console application running time?如何测量 C# 控制台应用程序运行时间?
【发布时间】:2011-04-06 22:37:03
【问题描述】:

我需要构建一个运行时间不到 1 秒的应用程序,但我不知道如何确定运行时间。

【问题讨论】:

  • 说“一个密西西比”。如果你必须把最后一个 i 变成一个 eeee,那就太慢了。否则这个问题太模糊了。第一次运行和第二次运行是不一样的。

标签: c#


【解决方案1】:

在初始化时设置Stopwatch 并在退出时检查其Elapsed 属性。

【讨论】:

    【解决方案2】:
            using System;
            using System.Diagnostics;
                //Setting a Stopwatch 
                Stopwatch sw = new Stopwatch();
                sw.Start();
                for (int i = 0; i < length; i++)
                {
                    //some logic there
                }
                //Stopping a Stopwatch
                sw.Stop();
                Console.WriteLine(sw.Elapsed);
    
                //delay
                Console.ReadLine();
    

    这是一个使用秒表的简单示例。 但是不要忘记写“using System.Diagnostics;”,否则秒表将无法创建。

    【讨论】:

    【解决方案3】:

    如何使用 Stopwatch 类。

    http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx

    特别注意 MSDN 上的注释

    在多处理器计算机上,线程在哪个处理器上运行并不重要。但是,由于 BIOS 或硬件抽象层 (HAL) 中的错误,您可以在不同的处理器上获得不同的计时结果。要为线程指定处理器亲和性,请使用 ProcessThread.ProcessorAffinity 方法。

    【讨论】:

      【解决方案4】:

      如果您编写,控制台应用程序不会关闭
      Console.ReadLine();

      【讨论】:

        【解决方案5】:

        你也可以获取程序开始和结束的时间,并减去它

        http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx

        【讨论】:

        • 在时钟变化时您碰巧测量的(不太可能的)事件中使用 DateTime.UtcNow 可能会更好。
        • 有道理。自从我与 c# 的事务以来已经有一段时间了
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-03
        • 2010-12-25
        • 2013-02-11
        • 2013-06-30
        • 1970-01-01
        • 2010-10-16
        • 2013-06-10
        相关资源
        最近更新 更多