据我了解,如果对象小于缓存行大小,则内存池应该提高通常一起访问的对象的缓存性能-因为这样相邻的对象很可能同时被提取到缓存中。
但是大于缓存行大小的对象呢?将此类数据池存储到相同的内存区域有什么好处?
(假设分配/取消分配的时间微不足道,那么我担心的是访问权限...)
谢谢!
最佳答案
如果您的应用使用了大量的内存并开始交换,则内存池才有意义。然后,如果这些对象彼此相邻,它们将一起翻页和翻页。
关于c++ - 内存池:对于大于缓存行大小的结构,它们会提高缓存使用率吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7319774/