用于检测和可视化内存传输和访问的工具



我在一段 C 代码计算稀疏矩阵的 LU 分解时遇到了问题。在那里,我编写了一些具有各种优化的不同例程。根据矩阵中非零元素的结构,一些实现变得非常快,但对于下一个示例矩阵,它变得太慢了。现在,我需要一个工具来分析应用程序,并向我显示代码在哪里等待来自内存的新数据和/或如何使用缓存。 我已经尝试过valgrind(cachegrind/callgrind),但是开销太大,不同实现的运行时之间的比例完全改变了。

有没有其他开源工具(Linux,BSD)来分析内存流量和类似问题?他们不应该使用内核模块。

你可以

尝试使用Memory Profiler

最新更新