【发布时间】:2011-08-04 07:05:10
【问题描述】:
我喜欢 Visual Studio Ultimate 2010 的分析器。但我没有 8,000 美元或任何成本来获得该功能。是否有任何性能分析器同样好,甚至更好?它不一定是免费的。我基本上希望看到像方法 X 这样的东西有这么多的包含时间,它被 WHO 调用的次数,独占时间等等。还有其他的吗?
【问题讨论】:
标签: c# visual-studio profiling profiler
我喜欢 Visual Studio Ultimate 2010 的分析器。但我没有 8,000 美元或任何成本来获得该功能。是否有任何性能分析器同样好,甚至更好?它不一定是免费的。我基本上希望看到像方法 X 这样的东西有这么多的包含时间,它被 WHO 调用的次数,独占时间等等。还有其他的吗?
【问题讨论】:
标签: c# visual-studio profiling profiler
Ants Profiler 很不错:http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/
我也喜欢dotTrace:http://www.jetbrains.com/profiler/
Ants 更强大,但 dotTrace 的公司支持很棒 :)
此外,使用 dotTrace,如果您正在进行开源项目,那么您可以获得开源许可证。他们也经常更新,并且仍然支持 .netCF(对于 VS 2008。对您来说并不重要,但表明他们关心并支持所有 Windows 平台)
编辑:
这是我正在处理的项目的 2 个屏幕截图,在 dotTrace 中进行了分析。正如您可以从第一张图片中看到的那样,您将获得按线程组织的调用树。它显示了每个方法和子方法的包含时间和包含运行百分比。
在这张图片中,您可以看到独占运行时间、调用次数,并在下方面板中看到调用所选方法的函数(在顶部面板中)以及调用次数和递归调用次数。
我不隶属于 jetbrains,但我有几个开源项目,他们因此给了我免费许可证。因此,我真的很喜欢这家公司。
希望这会有所帮助!
(哦,我有专业版。我不确定其他版本有什么没有)
【讨论】:
jetbrains dotTrace 在这种情况下经常被提及。它没有那么昂贵但功能强大。
【讨论】:
我使用了两个免费的:
来自 Smart Bear 软件的 AQTime(免费版缺少 Visual Studio 中的酷炫集成,该软件在边距/装订线中显示例程中每一行所花费的时间百分比)。 在此处下载免费版本: http://smartbear.com/products/free-tools/aqtime-standard/
有时我也会使用 SharpDevelop 附带的免费分析器: http://www.icsharpcode.net/opensource/sd/download/
虽然我更喜欢 AQTime Pro,它的学习曲线更陡峭,但一旦你掌握了窍门,它确实提供了很多洞察力(我用它来分析代码,而不是为了速度优化,而只是跟踪代码的路径(谁调用这个方法当我点击...)。
曾经尝试过 JetBrains,但我发现它缺少太多功能,无法在上面花费任何东西。
从未尝试过 RedGate。
编辑:还有一个我用来快速浏览正在发生的事情的工具:SoftwareTrails (http://www.lovettsoftware.com/LovettSoftware/post/2012/09/07/Software-Trails.aspx)。设置和构建用于实时分析而不是事后查看结果是最简单的。
【讨论】:
我一直在使用EQATEC Profiler。他们有一个免费版本,还有一种方法是通过试用他们的另一种产品而无需付费即可获得完整许可。
【讨论】:
Redgate 出售他们的ANTS Performance Profiler
还可以查看this question的第一个答案中的产品列表。
【讨论】:
我们的C# Profiler 可以做到这一点。
【讨论】:
你看过InsightProfiler吗?
它是免费的,虽然网站是英文的,但软件本身有一个英文用户界面。 它的用户界面掩盖了它很容易习惯它,并且给人一种轻巧的感觉。我经常使用它。
【讨论】: