![]() |
1
6
即使两个四字跨缓存线边界分割,这通常也是吞吐量的最佳选择(在AMD CPU上,如果负载不适合缓存线的32字节对齐块,而不仅仅是64字节缓存线边界,则可能会受到惩罚。但在英特尔,64字节缓存线内的任何错位都是免费的。)
如果您的加载提供整数SIMD指令,您可能需要
另见 How can I accurately benchmark unaligned access speed on x86_64
请参阅Agner Fog的x86优化指南;他有一章是关于SIMD的,其中很大一部分是关于数据移动的。 https://agner.org/optimize/ 并查看中的其他链接 https://stackoverflow.com/tags/x86/info .
为了把数据拿回来,
|