【发布时间】:2010-10-20 06:44:04
【问题描述】:
这听起来像是一个主观问题,但我正在寻找的是具体的实例,您可能遇到过与此相关的情况。
如何使代码、缓存有效/缓存友好(更多的缓存命中,尽可能少的缓存未命中)?从两个角度来看,数据缓存&程序缓存(指令缓存), 即一个人的代码中与数据结构和代码结构相关的东西,应该注意以使其缓存有效。
是否有任何特定的数据结构必须使用/避免,或者是否有访问该结构成员的特定方式等...以使代码缓存有效。
是否有任何程序构造(if、for、switch、break、goto、...)、代码流(for 在 if、if 在 for 等...)中应该遵循/避免在这件事上?
我期待听到与制作缓存高效代码相关的个人经验。它可以是任何编程语言(C、C++、Assembly ...)、任何硬件目标(ARM、Intel、PowerPC ...)、任何操作系统(Windows、Linux、S ymbian ...)等。 .
多样性将有助于更好地深入理解它。
【问题讨论】:
-
作为介绍,本次演讲提供了一个很好的概述youtu.be/BP6NxVxDQIs
-
上述缩短的 URL 似乎不再起作用,这是谈话的完整 URL:youtube.com/watch?v=BP6NxVxDQIs
标签: caching performance cpu-cache