__builtin_prefetch:深入探究其读取能力
使用 __builtin_prefetch 优化代码时,了解数据读取的范围至关重要。然而,确定访问了多少 const void *addr 可能会令人困惑。本文旨在阐明这一方面。
在 C RK4 优化的背景下,预取整个结构可能并不简单。要加载 from 和 to 的下一个值,请考虑在循环中使用 __builtin_prefetch (con[i 3].Pfrom) 等语法。
虽然预取可以提高性能,但明智地使用它很重要。过多的预取可能会产生不利影响,因此仔细衡量性能提升是明智的。 GCC 优化(例如 -O2)还可以帮助提高代码效率。
对于性能关键的循环,请考虑利用带有 OpenCL 或 CUDA 的 GPU。这需要重新编程例程并针对特定硬件配置进行优化。
请记住使用最新的 GCC 编译器(例如 4.6.2 或更高版本),因为它们在这些领域提供了显着的增强。
最新进展(2018 年更新)
处理器和编译器在缓存处理方面都取得了实质性进展,在许多情况下降低了 __builtin_prefetch 的实用性。建议进行基准测试以确定其在代码上下文中的影响。
以上是__builtin_prefetch 实际读取了多少数据?的详细内容。更多信息请关注PHP中文网其他相关文章!