微软制作了一款名为“Visual Studio 2008 Professional”的软件。我发现似乎没有应用程序性能分析器或类似的东西,使它看起来不那么“专业”。
如果Microsoft不包含探查器,那么Visual Studio 2008的时间分析的第三方选项是什么?免费是可取的,因为这是针对大学学生的目的:P
答案 0 :(得分:6)
有一些免费的分析器,不像商业分析器那样完整或精致,但它们肯定能帮助很多:
Eqatec - 这是专为Windows CE设计的,但对于普通应用程序来说效果很好。
Soft Prodigy Profile Sharp - 这实际上是一个用c#编写的开源项目,所以你可以根据需要修改它。
答案 1 :(得分:4)
就个人而言,我使用红门分析器。
其他人则向JetBrains发誓。
这些似乎是选项,它们之间并没有多少。
答案 2 :(得分:3)
我使用JetBrains dotTrace profiler。这是一个商业分析器。 (完全披露:我作为MVP获得免费许可。但 证明非常有用。)
还有免费CLR Profiler for .NET 2.0和an article explaining how to use it。
答案 3 :(得分:2)
我使用Team System Edition。这附带一个非常好的分析器。还有其他选择:
希望有所帮助。注意:它们都不是免费的。
快乐分析:)
答案 4 :(得分:2)
下载VS 2008独立命令行分析器 http://www.microsoft.com/downloads/details.aspx?familyid=fd02c7d6-5306-41f2-a1be-b7dcb74c9c0b&displaylang=en
答案 5 :(得分:1)
RedGate ANTS profiler并不贵,而且能胜任。
答案 6 :(得分:0)
我使用JetBrain的dotTrace,效果很好。
答案 7 :(得分:0)
重新编辑:你问你的选择是什么。如果您的心脏处于分析状态,那么请寻找分析器。
另一方面,如果您确实遇到了性能问题,那么简单的方法与几乎每个分析器的工作方式相同或更好。我几乎每个人都会说,因为在某些个人资料中,你实际上可以梳理出你需要知道的东西,这是个人指令的时间成本,尤其是通话说明。
指令的时间成本是指令可以被删除时保存的时间量,并且对它的良好估计是包含它的调用堆栈样本的分数。您不需要以高精度估计该分数。如果指令是10个样本中的5个,那么它的成本可能在45%到55%的范围内。无论如何 - 如果你能摆脱它,你就可以节省成本。
因此,发现性能问题并不难。只需获取一些调用堆栈样本,收集这些样本上的指令集,并按照包含它们的样本分数对指令进行排名。在高分数指令中有一些是你可以优化的,你不必猜测它们在哪里。
我在某种程度上进行了简化,因为检查更多的状态信息通常比调用堆栈更有用,看看是否真的需要完成某些工作。但我希望能够提出这一点。
人们表示怀疑它可以在递归的情况下工作,或者在大型程序上工作。一点点思考(和实验)表明这些反对意见没有用水。