C#性能计数器Timer100Ns。怎么样?

时间:2016-06-22 16:32:10

标签: c# performance

我有一个监视特定事件的应用程序,然后在事件发生后开始计算。事件是不规则的,并且可以在很长一段时间内以任何形式从一簇一束地出现。

我想测量应用程序忙碌的%%(类似于CPU%使用率)

我想使用Timer100Ns计数器

两个问题:

  1. 我是通过硬件滴答还是DateTime滴答来增加它(例如,如果我使用秒表 - 我是否使用sw.ElapsedTicks或sw.Elapsed.Ticks)?

  2. 我需要一个基础计数器吗?

  3. 所以我要写这样的东西:

    Stopwatch sw = new Stopwatch();
    sw.Start();
    // Do some operation which is irregular by nature
    sw.Stop();
    
    // Measure utilization of the application
    myCounterOfTypeTimer100Ns.IncrementBy(sw.Elapsed.Ticks);
    

    会吗?

    编辑:我对它进行了一些实验,现在它更加令人困惑。它实际上显示了我增加它的值。不是%%。

1 个答案:

答案 0 :(得分:0)

揭开神秘面纱。目前似乎我没有以它应该使用的方式使用它(或者我没有正确地阅读TFM)。如果采样间隔为1s(如在执行实时窗口中)并且您的间隔超过1秒,那么它会显示一个无意义的数字...为了实现平滑,您尝试测量的活动必须是1的分数。否则这个计数器不是一个好主意..

这类问题的答案(虽然不是很明显,但仍然令人不安,一周内没有人提出这个问题)实际上是#