据我了解,如果对象小于缓存行大小,则内存池应该提高通常一起访问的对象的缓存性能-因为这样相邻的对象很可能同时被提取到缓存中。

但是大于缓存行大小的对象呢?将此类数据池存储到相同的内存区域有什么好处?

(假设分配/取消分配的时间微不足道,那么我担心的是访问权限...)

谢谢!

最佳答案

如果您的应用使用了大量的内存并开始交换,则内存池才有意义。然后,如果这些对象彼此相邻,它们将一起翻页和翻页。

关于c++ - 内存池:对于大于缓存行大小的结构,它们会提高缓存使用率吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7319774/

10-15 00:13
查看更多