我正在寻找一种方法来找到解决方案中的瓶颈方法(很多项目)。
假设我有一个巨大的程序(1000个方法),我想通过查找被调用的方法(实际在运行时使用)来提高性能,并优化它们。
我需要这个用于用C ++,C#,CLI / C ++编写的复杂问题。 (我可以在调试中编译它并拥有.pdb文件)
所以,我正在寻找一种能够告诉我每种方法使用多少CPU时间的分析器。
我可以在Visual Studio中使用哪些工具/插件/功能来获取该信息? 我希望能够运行程序几分钟,然后分析方法的CPU使用情况。甚至更好 - cpu数量/通话次数 如果我可以按名称空间或dll / package / project排序,那就更好了。
答案 0 :(得分:4)
更昂贵的Visual Studio版本应该提供内置的Profiler:请参阅this thread。
然而,有更多的方法可以分析,这个主题已经在stackoverflow上被覆盖了很多次,例如here。
答案 1 :(得分:2)
根据Christian Goltz的一个链接,我发现了一个可能做我想要的程序,它描述了托管和非托管代码:
答案 2 :(得分:1)
我对JetBrains的DotTrace产品有一些很好的体验。不确定它是否具有IDE集成或您正在寻找的所有功能,但它肯定能完成工作。
答案 3 :(得分:1)
This method技术含量低,但效果非常好。
我也在一个庞大的应用程序中工作,当我们遇到性能问题时,它会很快找到它们。