是否有任何工具可以检测并报告用C或C ++编写的应用程序的False Sharing?
答案 0 :(得分:4)
尝试valgrind的DRD(数据竞争检测)模块。
从手册中可以看出它可用于检测虚假共享。
答案 1 :(得分:2)
尝试警长和捕食者。 警长在https://github.com/plasma-umass/sheriff,而捕食者在https://github.com/plasma-umass/Predator。 Predator是一种基于编译器的方法,您必须使用新的LLVM编译器重新编译程序。它是迄今为止最详尽的检测工具。 Sheriff是库,但如果您使用的是pthreads库,它只能检测错误共享。
答案 2 :(得分:0)
Perf(“适用于Linux的性能计数器”)
命令:
sudo perf record -e cache-misses,anything_else_you_want ./your_program
sudo perf report