相关疑难解决方法(0)

如何将一些内存范围标记为不可缓存的C++?

我在这里阅读CPU缓存上的维基百科:http://en.wikipedia.org/wiki/CPU_cache#Replacement_Policies

将一些内存范围标记为不可缓存可以通过避免缓存很少重新访问的内存区域来提高性能.这避免了将内容加载到缓存中的开销,而没有任何重用.

现在,我一直在阅读和学习如何编写具有更好缓存性能的程序(一般考虑因素,通常不是特定于C++),但我不知道高级代码可以明确地与CPU缓存行为进行交互.所以我的问题是,有没有办法在C++中完成我从那篇文章中引用的内容?

另外,我非常感谢有关如何在C++中提高缓存性能的资源,即使它们不使用任何直接处理CPU缓存的函数.例如,我想知道是否使用过多的间接层(例如,指针容器的指针容器)会损坏缓存性能.

c++ caching

16
推荐指数
3
解决办法
7251
查看次数

是否有可能在用户空间中在Linux上分配不可缓存的内存块?

我的应用程序中有一堆缓冲区(其中25到30个)相当大(.5mb)并且访问了simulataneousley.更糟糕的是,它们中的数据通常只读取一次,并且经常更新(例如每秒30次).排序非完美缓存使用的完美风暴.

无论如何,我想到如果我可以将一块内存标记为不可缓存,那将会很酷......从理论上讲,这将为缓存中的其他所有内容留出更多空间.

那么,他们是否有办法在Linux中标记为不可缓存的内存块?

linux memory caching

7
推荐指数
1
解决办法
7401
查看次数

标签 统计

caching ×2

c++ ×1

linux ×1

memory ×1