首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C中使用getrusage来读取页面错误?

如何在C中使用getrusage来读取页面错误?
EN

Stack Overflow用户
提问于 2009-12-15 21:19:19
回答 1查看 596关注 0票数 0

当我运行一个包含两个不同部分的程序时,我试图得到页面错误。

我所做的是使用两种矩阵乘法进行一些操作,并尝试找出哪种方法导致更多的页面错误。

代码语言:javascript
复制
/Operations for method 1

getrusage (RUSAGE_SELF, &usage);
fault1=usage.ru_minflt;

/operations for Method 2


getrusage (RUSAGE_SELF, &usage);
fault2=usage.ru_minflt-fault1;

但是似乎fault2=0,我不认为的是正确的。如果我使用两个不同的变量usage和usage2,似乎都不起作用。是否有命令开始计数每种乘法方法的错误?我的代码错了吗?

谢谢你的回答

EN

回答 1

Stack Overflow用户

发布于 2009-12-16 05:59:04

页面错误的数量完全有可能为零。它更多地与加载数据的方式、正在使用的共享库(以及它们是否已经在内存中)、写入时复制使用以及与算法类似。

您确定您不是在寻找处理器缓存未命中的数量吗?对于大型矩阵的矩阵乘法,朴素算法的缓存使用率可能比最佳算法差得多。尝试在cachegrind工具中使用valgrind

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1907402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档