缓存未命中惩罚:一次可以从 RAM 加载多少数据?

发布于 2025-01-11 10:21:06 字数 238 浏览 0 评论 0原文

我正在使用大地图(golang)和字典(python),只是想知道RAM一次可以写入/读取多少数据?

因此,例如,当我迭代 10GB 字典时,每个缓存未命中是否会导致仅从 RAM 获取 DWORD(或者典型的 RAM 访问有多宽?),或者 x86/内核会将一批相关数据加载到 L3 (或者将一组加载指令排队到内存控制器)?

在这两种情况下,处理大数据结构不会因为 RAM 访问延迟而成为瓶颈吗? (+内存控制器必须处理的所有刷新周期)

I'm working with big maps (golang) and dicts (python) and just wondering how much data a RAM write/read can be done at once?

So for example when I'm iterating through a 10GB dict, would each cache miss result in just fetching a DWORD(or how wide is the typical RAM access?) from RAM or will x86/kernel load a batch of related data to L3 (or queueing a set of load instructions to memory controller)?

In both cases, wouldn't processing big data structures be bottlenecked by RAM access latency? (+all the refresh cycles the memory controller has to deal with)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文