您是否使用过英特尔Vtune分析器等评测工具?
你对Linux和windows上的C++多线程应用程序有什么建议?我主要对缓存未命中、内存使用、内存泄漏和CPU使用情况感兴趣。
我使用valgrind (仅在UNIX上),但主要用于查找内存错误和泄漏。
发布于 2009-03-12 11:04:49
以下是多线程应用程序的优秀工具。您可以尝试评估副本。
内存一致性检查工具(内存使用,内存泄漏)-内存验证器,here
、AQTime
EDIT:英特尔线程检查器可用于诊断数据争用、死锁、线程停滞、被放弃的锁等。请耐心分析结果,因为它很容易混淆。
几个小贴士:
发布于 2009-03-12 13:36:34
在Linux上,试试oprofile。它支持各种性能计数器。
在Windows上,AMD的CodeAnalyst (与VTune不同,是免费的)值得一看。它只支持AMD硬件上的事件分析(在Intel CPU上,它只是一个方便的基于定时器的分析器)。
一位同事最近尝试了Intel Parallel Studio (测试版),并给它打了个好评(它在一些代码中发现了一些有趣的与并行相关的问题)。
发布于 2009-03-12 11:14:04
VTune给了你很多关于处理器正在做什么的细节,有时我发现很难看到树的实际情况。VTune不会报告内存泄漏。为此,您将需要purify plus,或者如果您可以在Linux机器上运行,那么valgrind对于内存泄漏来说是非常好的,而且价格也很高。
VTune显示了两个视图,一个是有用的表格视图,另一个我认为只是供销售人员用来给人们留下深刻印象,但没有那么有用。
如果想要更快更便宜的选择,我会选择valgrind。Valgrind也有一个缓存研磨部分,但我没有用过它,但我怀疑它也很好。
干杯,马丁。
https://stackoverflow.com/questions/638090
复制相似问题