【问题标题】:how to set timer for calculate execution time [duplicate]如何设置计时器以计算执行时间[重复]
【发布时间】:2010-04-06 06:37:45
【问题描述】:

我喜欢在 C# 中设置计时器来计算我执行中特定进程的执行时间。我该怎么做呢

【问题讨论】:

    标签: c# execution


    【解决方案1】:

    您通常不会为此使用计时器 - 您使用 Stopwatch

    Stopwatch sw = Stopwatch.StartNew();
    // Do work
    sw.Stop();
    TimeSpan elapsedTime = sw.Elapsed;
    

    如果您要相对较快地执行某项基准测试,那么值得多次执行,这样所花费的时间就会很长(我通常会进行 5-30 秒)。诚然,这并不总是可行的——而且还有更多微妙之处会影响实际性能(例如缓存命中/未命中),而微基准测试经常会错过这些细节。

    基本上,要小心 - 但Stopwatch 在许多情况下可能是最好的起点。

    【讨论】:

    • +1 表示 Stopwatch.StartNew()。不知道。
    • “您通常不会”与“您通常不会”。启发我:两者语法都正确吗?
    • @Martinho:我认为两者都可以接受。有可能一个比另一个更受欢迎,虽然我不知道哪个:)
    • +1 谢谢你,你是天才 :)
    【解决方案2】:

    您可以使用System.Diagnostics.Stopwatch 做您想做的事。

    【讨论】:

    • +1 用于列出参考。
    【解决方案3】:

    您可以使用Timer 并将操作附加到Elapsed 事件。例如,你可以中止你的线程......嗯,如果你不害怕后果...... 实际上,如果您想为您的流程设置超时,您可以这样做。

    如果只是为了监控,秒表正好适合你的需求

    猜你喜欢
    • 1970-01-01
    • 2013-01-13
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2018-01-28
    相关资源
    最近更新 更多