Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 性能计数器定时器100ns。如何?_C#_Performance - Fatal编程技术网

C# 性能计数器定时器100ns。如何?

C# 性能计数器定时器100ns。如何?,c#,performance,C#,Performance,我有一个应用程序,它监视一个特定的事件,然后一旦它发生就开始计算。事件是不规则的,可以以任何模式出现,从一秒钟内的一束到很长一段时间内没有 我想测量应用程序繁忙的%%时间(类似于CPU%使用率) 我想使用Timer100Ns计数器 两个问题: 我是否通过硬件刻度或日期时间刻度(例如,如果我使用秒表-我是否使用sw.ElapsedTicks或sw.Persed.ticks)来增加它 我需要一个基本计数器吗 所以我要写这样的东西: Stopwatch sw = new Stopwatch(); sw

我有一个应用程序,它监视一个特定的事件,然后一旦它发生就开始计算。事件是不规则的,可以以任何模式出现,从一秒钟内的一束到很长一段时间内没有

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

我想使用
Timer100Ns
计数器

两个问题:

  • 我是否通过硬件刻度或日期时间刻度(例如,如果我使用秒表-我是否使用sw.ElapsedTicks或sw.Persed.ticks)来增加它

  • 我需要一个基本计数器吗

  • 所以我要写这样的东西:

    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);
    
    行吗


    编辑:我尝试了一下,现在它更让人困惑了。。它实际上显示了我增加它的值。不是%。

    谜团解开了。目前看来,我并没有按照预期的方式使用它(或者更确切地说,我没有正确地阅读TFM)。如果采样间隔为1s(如在perf mon live窗口中),并且间隔大于1s,则显示一个无意义的数字。。。为了达到平滑度,您试图测量的活动必须是1的分数。。否则这个柜台不是个好主意


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

    揭开了谜团。目前看来,我并没有按照预期的方式使用它(或者更确切地说,我没有正确地阅读TFM)。如果采样间隔为1s(如在perf mon live窗口中),并且间隔大于1s,则显示一个无意义的数字。。。为了达到平滑度,您试图测量的活动必须是1的分数。。否则这个柜台不是个好主意


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

    在这门课上没有什么有趣的东西。它只是一个字段的持有者,该字段是Timer100Ns类型的PerformanceCounter。MSDN显示:
    一个百分比计数器,显示组件的活动时间占采样间隔总运行时间的百分比。。也许还有其他方法。但是我想知道如何使用这个。等一下-它和多计数器有什么关系?一次跟踪多个指标时需要多个计数器。。完全是随机信息,那门课没什么有趣的。它只是一个字段的持有者,该字段是Timer100Ns类型的PerformanceCounter。MSDN显示:
    一个百分比计数器,显示组件的活动时间占采样间隔总运行时间的百分比。。也许还有其他方法。但是我想知道如何使用这个。等一下-它和多计数器有什么关系?一次跟踪多个指标时需要多个计数器。。完全随机的信息。。