我可能被迫编写一些性能关键的 C/C++ 代码,涉及多个输入数组和一个结果数组(不要介意确切的类型)。由于某些原因,我想处理我的输出数组的小块,根据输入修改它们 - 但不需要不断地读取并将它们写回内存,因为我不信任缓存(也就是说,我担心输入数组会覆盖它,我最终会实际进行内存读取和写入,这太可怕了......)所以,我想安全地玩它并试图留在寄存器上。
- 我可以得到一个只存储在寄存器中的小型本地固定长度数组吗?
- 我如何实现这一目标?
- 这样的阵列可以有多大(例如,在 Haswell 或 Skylake 核心上)?