我想编写最能使用我系统缓存的代码.例如,我有一个经常在操作中使用的大型数组(2kb大小).为了获得更好的执行速度,我希望将其加载到chache内存中,以便处理器获取它所需的时间更少.如何用C语言确保这个东西?任何帮助,将不胜感激.
首先,询问您运行代码的处理器.然后阅读其技术规范,了解缓存的大小以及缓存的排列方式.
CPU缓存现在相当大,所以如果你的阵列只有2kB,那么它几乎肯定会完全保存在缓存中,除非你在访问数组之间读取数兆字节的数据.
简而言之:不要担心.你的阵列很小,所以你不太可能为它"优化"缓存使用做很多事情.相反,查看您正在使用的算法,以查看是否有更高效的方法可以使用,并在代码上运行探查器以查看瓶颈所在.