caching - 缓存整行而不是一次缓存一个字节或一个字有什么好处?

标签 caching

为了使用缓存内存,主内存被分成缓存行,通常为 32 或 64 字节长。一次缓存整个缓存行。缓存整行而不是一次缓存单个字节或单词有什么好处?

最佳答案

这样做是为了利用局部性原则;准确地说是空间局部性。该原则表明,在内存中靠得很近的数据字节很可能在程序中一起被引用。当在循环中访问大型数组时,这一点会立即显现出来。然而,这并不总是正确的(例如基于指针的内存访问),因此不建议以超过缓存行的粒度从内存中获取数据(以防程序没有引用的位置),因为缓存是一个非常有限而重要的资源。

关于caching - 缓存整行而不是一次缓存一个字节或一个字有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47669122/

相关文章:

ruby-on-rails - Rails 缓存计数器

caching - 我们如何在 Java 中检测到 redis 故障?

php - 如何在php中正确缓存文件

android - Android 应用的缓存策略

caching - Nginx如何完全禁用代理缓存

c# - C++ (Intel) vs Java (Hotspot) vs C# 基准问题(包括代码和结果)

android - 控制用于 Android 缓存的 Google map

javascript - WebAssembly 隐式缓存在 Chrome 75 上不起作用

asp.net - IIS7 : set "no-cache" for all aspx pages but not images/css/js

javascript - 除了黑魔法之外,当通过 http 与 https 获取页面时,还有什么可能导致 js/css 文件包含在其包含的 html 文档中?