【发布时间】:2014-10-17 08:31:16
【问题描述】:
在英特尔的条带挖矿示例中:
为什么不将 Transform 和 Lighting 合并到一个循环中呢?它将解决缓存驱逐问题。
有人在 cmets 中问过同样的问题,但没有答案。
如果拆分循环更快……为什么?在什么情况下我们应该拆分循环?
我浏览了几篇关于拆分循环的帖子,但还是不明白。
【问题讨论】:
标签: c++ performance for-loop cpu-cache
在英特尔的条带挖矿示例中:
为什么不将 Transform 和 Lighting 合并到一个循环中呢?它将解决缓存驱逐问题。
有人在 cmets 中问过同样的问题,但没有答案。
如果拆分循环更快……为什么?在什么情况下我们应该拆分循环?
我浏览了几篇关于拆分循环的帖子,但还是不明白。
【问题讨论】:
标签: c++ performance for-loop cpu-cache
如果这些操作中只有一个可以向量化,那么将它们组合起来可以防止循环的向量化。在这种情况下,将阵列划分为缓存大小的条带会更好。我不知道这是否适用于Transform 和Lighting。如果不是,那么它们可能不一定是演示的好例子。
当循环部分可矢量化(这是一个词吗?)部分不可矢量化时,裂变*通常是要走的路。
*拆分实际上是根据wikipedia文章中使用的技术的名称
【讨论】: