gpt4 book ai didi

c - 如何使用 getrusage 读取 C 中的页面错误?

转载 作者:行者123 更新时间:2023-11-30 18:09:31 28 4
gpt4 key购买 nike

当我运行具有两个不同部分的程序时,我试图获取页面错误。

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

/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,似乎两者都不起作用。有没有命令开始计算每种乘法的错误?我的代码有错吗?

谢谢各位的解答

最佳答案

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

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

关于c - 如何使用 getrusage 读取 C 中的页面错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1907402/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com