我有一个C代码计算稀疏矩阵的LU分解有问题。在那里,我用各种优化编写了一些不同的例程。根据矩阵中非零元素的结构,某些实现变得非常快,但对于下一个示例矩阵,它变得太慢。现在我需要一个工具来描述应用程序,并向我显示代码从内存中等待新数据的位置和/或缓存的使用方式。我已经尝试过valgrind(cachegrind / callgrind),但开销太大,不同实现的运行时之间的比例完全改变了。
是否还有其他OpenSource工具(Linux,BSD)来分析内存流量和类似问题?他们不应该使用内核模块。
答案 0 :(得分:0)
您可以尝试使用Memory Profiler