免费或廉价的C#asp.net分析/性能分析选项?

我知道Redgate的Ants Profiler,我听说它很棒,但它也是400美元。 任何更便宜的替代品至少会指向我可能需要优化我的代码的地方?

Dottrace的价格大约是Ants的一半,而且非常好。 由ReSharper做同样的人制作。

如果您只是在寻找代码的一次性优化,那么您应该选择Ants,因为它具有全function的15天免费试用版,这应该足以完成大量优化。

EQATEC Profiler是免费的。

我自己没试过,但听起来不错,他们的网站上有一些积极的推荐。

我有兴趣听到任何实际使用它的人的意见。

VSProfiler附带VS并且工作得很好。 如果您正在查看与内存相关的问题,那么CLRProfiler将是您的选择。

通常,我使用的方法是这样的 。

我对代码的计时时间并不是很感兴趣,因为我找到了大量不必要的时间,所以我可以清理它们并实现加速。

这真的是一个不同的过程。

补充:如果我可以详细说明,我看到的典型性能问题是某些活动(几乎总是一个函数调用)消耗了一些时间,比如10%,50%,90%,无论如何,并不是真的有必要 – 它可以被其他东西取代或者根本不能取代,并且可以节省大量的时间。

假设为了说明它是50%。

我采用调用堆栈的随机时间样本,例如10,并且该调用有50%的几率出现​​在每个调用,因此它将在大约一半的样本上。 因此它会吸引我的注意力,我会看看它的作用是否真的是必要的,如果没有,我会修复它以获得加速。

现在,那是衡量吗? 如果是这样,那么测量真的很差,因为样本数量很少。 如果10个样本中有5个显示了这个电话,那么时间的一小部分可能是50%左右,给予或接受,而且肯定超过10%。 所以我可能不知道精确度的百分比,但我肯定知道这是值得修复的 ,我肯定知道问题究竟在哪里

(旁注:我没有计算通话次数,也没有估计通话时间。相反,我估算了通话的费用,这就是它可以节省的费用,也就是它在堆栈上的停留时间。此外,请注意我正在调用级别,而不是函数级别。我可能关心函数调用在感兴趣的调用之上和之下,但除此之外,函数级别的问题,如独占时间,调用图和递归,播放没有部分。)

这就是为什么我说测量性能,发现性能问题,虽然它们可能是互补的,但实际上是不同的任务。