4

我开始评估Red Gate 的 ANTS Profiler来分析我的 WPF 应用程序。

我通读了在线支持/文档​​,似乎找不到基本知识的解释(我不知道为什么它们不在文档中):

在分析器中,它显示方法的时间命中计数。为什么Time的单位是%?不应该是第二吗?我尝试将所有百分比加起来,但它们加起来不等于 100。与孩子在一起的时间也有单位%,加起来超过 100%。我不知道它们是时间还是某物的一部分。

什么是命中计数?什么是“命中”我的应用程序,什么命中被计算?

我知道我听起来很弱智,但如果不了解时间和命中计数,我就无法阅读论坛或在线帮助。

4

3 回答 3

5

从 RedGate文档

在所选时间段内,堆栈跟踪中的每个方法都会显示以下数据:

Time:此堆栈跟踪中方法的总执行时间。

Time With Children:此堆栈跟踪中方法及其所有子项的总执行时间。

命中计数:在此堆栈跟踪中调用该方法的次数。

于 2011-12-10T03:34:43.730 回答
5

马修之前的回答是正确的。要扩展它:

当您以百分比形式查看时间时,每个方法的时间百分比表示该方法贡献的所选时间段的总执行时间的比例。

如果您希望以秒为单位查看时间,请单击View,然后选择TicksMillisecondsSeconds

如果你有多个 CPU,总时间总和可以超过 100%。

关于命中计数的问题有点令人费解——它确实应该显示该方法在选定的时间段内被调用了多少次。如果您确定您看到的点击数高于应有的数值,可能值得联系 Red Gate 支持 - support@red-gate.com。

我希望这有帮助!

于 2011-12-12T11:04:16.210 回答
0

我还没有完成所有的计算,但我认为时间 % 是该方法一次“命中”的平均值。我的猜测是,当您将命中数乘以 Time% 并将它们相加时,您将得到 100%。

Time With Children 也一样,但计算起来要复杂得多,因为你必须考虑更多的方法。

于 2011-12-10T05:26:07.287 回答