2009-02-21 48 views
6

Microsoft制作了一个名为“Visual Studio 2008 Professional”的软件。我发现,似乎没有应用程序性能分析器或类似的东西,使得它对我来说看起来并不那么“专业”。如何在Visual Studio 2008“Pro”中执行性能分析

如果微软不包括探查,什么是为Visual Studio 2008的时间分析您的第三方选择?免费将是可取的,因为这是单向的学生用途:P

回答

4

就我个人而言,我使用红门剖析器。

其他人发誓的JetBrains之一。

那些似乎是选择,并且他们之间没有太多。

0

我使用JetBrain的dotTrace,它工作得很好。

3

我用JetBrains dotTrace profiler。这是一个商业分析器。 (全面披露:我收到一个免费的许可证作为MVP它已经证明是非常有用的,。)

还有免费的CLR Profiler for .NET 2.0an article explaining how to use it

+1

注意,免费的一个实际上是*内存*分配跟踪,但它落后于其他系统的直PERF的分析非常好。我知道没有免费的支持混合模式分析或采样而不是仪器。 AQTime和Team系统都是这样做的 – ShuggyCoUk 2009-02-22 23:37:19

+0

我刚刚尝试了dotTrace演示。我希望这不会是我的预期,但它是。它用漂亮的东西淹没你并不重要。重要的是它在调用`myBitmap.SetPixel`时占用了90%以上的时间,并且在各个地方的小部分时间都像光线与球体相交,就像没有太多停顿一样容易显示。我在DT巡回演出,但没有任何内容告诉我暂停对我说了什么。 – 2011-10-19 20:45:35

+0

@MikeDunlavey:我真的没有足够的上下文去理解那个评论,但是dotTrace肯定帮助我找到了野田时间的瓶颈...... – 2011-10-19 20:47:27

6

有一对夫妇的免费廓线仪,而不是完整的或抛光作为商业的,但可以肯定有很大的帮助:

Eqatec - 这是专为Windows CE,但工作得很好,对于正常的应用程序。

Soft Prodigy Profile Sharp - 这实际上是用C#的一个开源项目,所以如果你想你可以用它修补。

0

same answer as:

重新编辑:你问你的选择是。如果你的心被设置为分析,然后寻找一个分析器。

在另一方面,如果你确实有一个性能问题查找,简单的方法效果一样好,甚至比几乎每个探查更好。我几乎可以说每一个,因为在一些分析人员中,你实际上可以梳理出你需要知道的东西,这是可以归因于单个指令的时间成本,尤其是调用指令。

的指令的时间 - 成本是如果该指令可以被移除该将被保存的时间量,并且它的一个良好的估计是含有它的调用堆栈的样品的级分。您不需要高精度地估计该分数。如果该指令是10个样本中的5个,则其成本可能在45%到55%的范围内。不管 - 如果你能摆脱它,你会节省成本。

所以找到性能问题并不难。只需拿出一些调用堆栈样本,收集这些样本的指令集,然后按照包含它们的样本分数对指令进行排名。高分数指令中有一些是你可以优化的,你不必猜测它们在哪里。

我简化了一些,因为经常检查更多的状态信息比调用堆栈更有帮助,看看是否有一些工作是非常必要的。但我希望这一点是成立的。

人们表示怀疑它可以在存在递归或在大型项目上工作。一点想法(和实验)表明,这些反对意见不具备水分。

相关问题