![]() |
1
35
对于linux开发(尽管其中一些工具可能在其他平台上工作)。这是我认识的两个大牌,还有很多其他的小牌已经有一段时间没有看到积极的发展了。 |
![]() |
2
26
|
![]() |
3
8
伊姆霍, sampling using a debugger 是最好的方法。您只需要一个IDE或调试器,让您停止程序。它甚至可以在安装profiler之前解决性能问题。 |
![]() |
4
7
AQTime 由AutomatedQA(现在是SmartBear软件)提供。它内置了几种类型的探查器(性能、内存、Windows句柄、异常跟踪、静态分析等),并插入代码以获得结果。 我很喜欢使用它-找到那些代码中的小改动可以显著提高性能的地方总是很有趣的。 |
![]() |
5
5
Glowcode 在过去有过广泛的经历,但都是积极的。它的Visual Studio集成非常好,是我使用过的最高效/最直观的探查器(甚至与托管代码的探查器相比)。 很明显,如果你不在Windows上运行,那是没用的,但是这个问题让我不清楚你的具体要求是什么。 |
![]() |
6
5
Visual Studio 2008 非常好:速度快,用户友好,清晰,集成在IDE中。 |
![]() |
7
5
我以前从来没有做过侧写。昨天我用一个静态时间表(map<std::string,long long>)为时间存储编程了一个ProfilingTimer类。 构造函数存储起始记号,析构函数计算经过的时间并将其添加到映射中:
在我要分析的每个函数(或{block})中,我需要添加:
这行代码添加到我要分析的所有函数中有点麻烦,因为我必须猜测哪些函数需要花费大量时间。但它工作得很好,打印功能显示的时间消耗百分比。
是否有某种自动添加行到所有函数?) |
![]() |
8
4
毫无疑问,oprofile是一款简单、可靠的软件,它能提供各种各样的数据。 |
![]() |
9
4
|
![]() |
10
3
分析有不同的要求。插入指令的代码是否正常,或者是否需要分析优化的代码(甚至是已编译的代码)?你需要逐行的个人资料吗?你在运行哪个操作系统?您还需要分析共享库吗?跟踪系统调用呢? 就我个人而言,我所做的每件事都使用oprofile,但这可能不是每种情况下的最佳选择。Vtune和Shark都非常出色。 |
![]() |
11
3
既然你没有提到你正在开发的平台,我就说Linux下的cachegrind。一定地。它是Valgrind工具集的一部分。 http://valgrind.org/info/tools.html 里面 请注意,有一个前端KCachegrind可用。 |
![]() |
12
3
对于Windows开发,我一直在使用软件验证 Performance Validator -它速度快,准确度高,价格合理。最好的是,它可以检测一个正在运行的进程,并允许您在运行时打开和关闭数据收集,无论是手动的还是基于调用堆栈的-非常适合分析一个较大程序的一小部分。 |
![]() |
13
3
代码分析是错误的(经常崩溃),在我的代码,其结果往往是不准确的。它的用户界面不直观。例如,要到达配置文件结果中的调用堆栈显示,您必须单击“进程”选项卡,然后单击程序的EXE文件名,然后单击工具栏按钮,该按钮上有小字母“CSS”。但它是免费的,所以你不妨试试,它的工作(功能较少)没有AMD处理器。 VTune($700)有一个 terrible user interface 在大型程序中,很难找到所需的特定调用树,而且一次只能查看程序中的一个“节点”(具有直接调用方和被调用方的函数),因此无法查看完整的调用树。有一个调用图视图,但是我找不到方法使相对执行时间显示在图上。换句话说,不管花了多少时间,图中的函数看起来都是一样的——这就好像它们完全忽略了分析的要点。 VisualStudio的探查器具有三的最佳GUI,但由于某种原因,它无法从大多数代码中收集样本(样本只在我的整个C++程序中被收集了几个函数)。另外,我也找不到直接购买它的价格或方式;但它是随我公司的MSDN订阅而来的。Visual Studio支持托管、本机和混合代码;在这方面,我不确定其他两个探查器。 总之,我还不知道有一个好的轮廓仪!我一定要看看这里的其他建议。 |
![]() |
14
3
我用 devpartner 对于pc平台。 |
![]() |
15
2
我尝试过量化一个AQTime,Quantify之所以获胜,是因为它具有无价的“关注子树”和“删除子树”功能。 |
![]() |
16
2
唯一敏感的答案是 PTU 来自英特尔。当然,最好在英特尔处理器上使用它,并且至少在C2D机器上获得更有价值的结果,因为体系结构本身更容易返回有意义的配置文件。 |
![]() |
17
2
|
![]() |
18
2
电围栏在malloc调试中运行良好 |
![]() |
19
1
我最喜欢的工具是Easy Profiler: http://code.google.com/p/easyprofiler/
|
![]() |
20
1
Windows下的Visual studio 2010探查器。VTune有一个很棒的调用图工具,但从WindowsVista/7开始就坏了。我不知道他们是否修好了。 |
![]() |
21
0
|
![]() |
Sweepy Dodo · JSON lite的格式化 5 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 6 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 7 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 10 月前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 10 月前 |
![]() |
Mohan · 是否有一种更快的方法来编写代码,从1:N中提取许多随机样本? 10 月前 |
![]() |
user2980746 · 在C#字典中键入xyz对的最有效方法是什么? 10 月前 |