C/C++应用程序中检测伪共享的工具

11

有没有检测和报告 C 或 C++ 应用程序中 False Sharing 的工具?


虽然不直接显示“false sharing”,但英特尔VTune分析工具至少可以在某些CPU上检测到共享情况,但这需要花费金钱并且结果难以解释。 - PlasmaHH
英特尔产品有个人使用许可证。 - JohnTortugo
3个回答

4

3

尝试使用valgrind的DRD(数据竞争检测)模块。

从手册上看,它似乎可以用于检测虚假共享问题。


3
很遗憾,DRD 无法检测到任何问题,即使在诸如 http://en.wikipedia.org/wiki/False_sharing 描述的最简单的假共享情况下也是如此。 - gui11aume
2
实际上,在手册中并没有声称DRD能够检测到虚假共享。 - Paolo M

1

Perf("Performance Counters for Linux")

命令:

sudo perf record -e cache-misses,anything_else_you_want ./your_program 
sudo perf report 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接